/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:03:40,381 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:03:40,412 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:03:40,489 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:03:40,490 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:03:40,492 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:03:40,498 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:03:40,501 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:03:40,502 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:03:40,507 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:03:40,508 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:03:40,509 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:03:40,510 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:03:40,512 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:03:40,513 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:03:40,516 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:03:40,517 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:03:40,517 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:03:40,520 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:03:40,525 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:03:40,528 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:03:40,529 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:03:40,530 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:03:40,531 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:03:40,532 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:03:40,539 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:03:40,540 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:03:40,540 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:03:40,541 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:03:40,541 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:03:40,543 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:03:40,543 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:03:40,545 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:03:40,545 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:03:40,546 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:03:40,547 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:03:40,547 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:03:40,547 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:03:40,548 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:03:40,548 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:03:40,549 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:03:40,550 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:03:40,551 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:03:40,562 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:03:40,562 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:03:40,564 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:03:40,564 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:03:40,564 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:03:40,564 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:03:40,564 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:03:40,564 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:03:40,565 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:03:40,565 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:03:40,566 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:03:40,566 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:03:40,566 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:03:40,566 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:03:40,566 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:03:40,566 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:03:40,566 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:03:40,567 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:03:40,567 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:03:40,567 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:03:40,567 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:03:40,567 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:03:40,567 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 12:03:41,043 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:03:41,077 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:03:41,079 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:03:41,080 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:03:41,091 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:03:41,093 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound100.c [2022-04-28 12:03:41,180 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b451851c7/ac1b3cde742d46d193a51ce261b250f0/FLAG3b2f0ddde [2022-04-28 12:03:41,787 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:03:41,788 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound100.c [2022-04-28 12:03:41,795 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b451851c7/ac1b3cde742d46d193a51ce261b250f0/FLAG3b2f0ddde [2022-04-28 12:03:41,807 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b451851c7/ac1b3cde742d46d193a51ce261b250f0 [2022-04-28 12:03:41,809 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:03:41,810 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:03:41,815 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:03:41,815 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:03:41,818 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:03:41,820 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:03:41" (1/1) ... [2022-04-28 12:03:41,821 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@12938633 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:03:41, skipping insertion in model container [2022-04-28 12:03:41,821 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:03:41" (1/1) ... [2022-04-28 12:03:41,829 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:03:41,843 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:03:42,104 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_unwindbound100.c[489,502] [2022-04-28 12:03:42,146 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:03:42,193 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:03:42,203 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_unwindbound100.c[489,502] [2022-04-28 12:03:42,234 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:03:42,246 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:03:42,246 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:03:42 WrapperNode [2022-04-28 12:03:42,247 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:03:42,272 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:03:42,272 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:03:42,273 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:03:42,299 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:03:42" (1/1) ... [2022-04-28 12:03:42,299 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:03:42" (1/1) ... [2022-04-28 12:03:42,304 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:03:42" (1/1) ... [2022-04-28 12:03:42,305 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:03:42" (1/1) ... [2022-04-28 12:03:42,324 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:03:42" (1/1) ... [2022-04-28 12:03:42,328 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:03:42" (1/1) ... [2022-04-28 12:03:42,329 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:03:42" (1/1) ... [2022-04-28 12:03:42,330 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:03:42,331 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:03:42,331 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:03:42,331 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:03:42,352 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:03:42" (1/1) ... [2022-04-28 12:03:42,364 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:03:42,379 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:03:42,397 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 12:03:42,427 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 12:03:42,461 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:03:42,461 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:03:42,461 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:03:42,461 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:03:42,462 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:03:42,462 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:03:42,463 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:03:42,463 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:03:42,463 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:03:42,464 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:03:42,464 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:03:42,464 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:03:42,464 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:03:42,465 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:03:42,466 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:03:42,467 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:03:42,468 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:03:42,468 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:03:42,468 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:03:42,468 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:03:42,543 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:03:42,545 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:03:42,735 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:03:42,752 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:03:42,752 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 12:03:42,754 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:03:42 BoogieIcfgContainer [2022-04-28 12:03:42,754 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:03:42,756 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:03:42,756 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:03:42,763 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:03:42,764 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:03:41" (1/3) ... [2022-04-28 12:03:42,764 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4be68dae and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:03:42, skipping insertion in model container [2022-04-28 12:03:42,765 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:03:42" (2/3) ... [2022-04-28 12:03:42,765 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4be68dae and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:03:42, skipping insertion in model container [2022-04-28 12:03:42,765 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:03:42" (3/3) ... [2022-04-28 12:03:42,767 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_unwindbound100.c [2022-04-28 12:03:42,783 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:03:42,784 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:03:42,823 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:03:42,829 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@e178c9d, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@689fd6e8 [2022-04-28 12:03:42,830 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:03:42,838 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-28 12:03:42,846 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 12:03:42,846 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:03:42,847 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:03:42,847 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:03:42,852 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:03:42,852 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 1 times [2022-04-28 12:03:42,860 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:42,860 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [411724730] [2022-04-28 12:03:42,871 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:03:42,871 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 2 times [2022-04-28 12:03:42,874 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:03:42,875 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [869067433] [2022-04-28 12:03:42,875 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:03:42,876 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:03:42,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:43,073 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:03:43,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:43,095 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-28 12:03:43,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-28 12:03:43,096 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-28 12:03:43,097 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:03:43,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:43,114 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 12:03:43,115 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 12:03:43,115 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 12:03:43,116 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-28 12:03:43,116 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 12:03:43,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:43,129 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 12:03:43,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 12:03:43,132 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 12:03:43,132 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-28 12:03:43,135 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-28 12:03:43,135 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-28 12:03:43,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-28 12:03:43,136 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-28 12:03:43,136 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret7 := main(); {38#true} is VALID [2022-04-28 12:03:43,137 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-28 12:03:43,137 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-28 12:03:43,138 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 12:03:43,139 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 12:03:43,139 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 12:03:43,139 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-28 12:03:43,140 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-28 12:03:43,140 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 12:03:43,140 INFO L290 TraceCheckUtils]: 13: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 12:03:43,141 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 12:03:43,141 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-28 12:03:43,141 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-28 12:03:43,142 INFO L290 TraceCheckUtils]: 17: Hoare triple {39#false} assume !true; {39#false} is VALID [2022-04-28 12:03:43,143 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-28 12:03:43,143 INFO L290 TraceCheckUtils]: 19: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-28 12:03:43,143 INFO L290 TraceCheckUtils]: 20: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-28 12:03:43,143 INFO L290 TraceCheckUtils]: 21: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-28 12:03:43,144 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-28 12:03:43,144 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:03:43,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [869067433] [2022-04-28 12:03:43,145 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [869067433] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:43,145 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:43,146 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:03:43,151 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:03:43,152 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [411724730] [2022-04-28 12:03:43,152 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [411724730] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:43,152 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:43,152 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:03:43,152 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1469752140] [2022-04-28 12:03:43,155 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:03:43,162 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-28 12:03:43,164 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:03:43,167 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-28 12:03:43,206 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-28 12:03:43,206 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:03:43,207 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:43,232 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:03:43,232 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:03:43,235 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-28 12:03:43,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:43,473 INFO L93 Difference]: Finished difference Result 64 states and 97 transitions. [2022-04-28 12:03:43,474 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:03:43,474 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-28 12:03:43,474 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:03:43,476 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-28 12:03:43,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-28 12:03:43,517 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-28 12:03:43,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-28 12:03:43,531 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 97 transitions. [2022-04-28 12:03:43,641 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:43,656 INFO L225 Difference]: With dead ends: 64 [2022-04-28 12:03:43,657 INFO L226 Difference]: Without dead ends: 31 [2022-04-28 12:03:43,661 INFO L412 NwaCegarLoop]: 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-28 12:03:43,665 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:03:43,666 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 45 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:03:43,678 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-04-28 12:03:43,692 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2022-04-28 12:03:43,693 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:03:43,694 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-28 12:03:43,695 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-28 12:03:43,695 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-28 12:03:43,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:43,700 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-28 12:03:43,700 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-28 12:03:43,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:43,702 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:43,702 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-28 12:03:43,703 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-28 12:03:43,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:43,706 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-28 12:03:43,706 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-28 12:03:43,707 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:43,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:43,707 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:03:43,708 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:03:43,708 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-28 12:03:43,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-04-28 12:03:43,712 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 22 [2022-04-28 12:03:43,712 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:03:43,712 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-04-28 12:03:43,713 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (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-28 12:03:43,713 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 39 transitions. [2022-04-28 12:03:43,756 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:43,757 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-04-28 12:03:43,757 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 12:03:43,757 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:03:43,758 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:03:43,758 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:03:43,758 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:03:43,759 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:03:43,759 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 1 times [2022-04-28 12:03:43,759 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:43,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [476850837] [2022-04-28 12:03:43,760 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:03:43,760 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 2 times [2022-04-28 12:03:43,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:03:43,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1829037928] [2022-04-28 12:03:43,761 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:03:43,761 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:03:43,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:43,833 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:03:43,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:43,846 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-28 12:03:43,848 INFO L290 TraceCheckUtils]: 1: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:03:43,849 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:03:43,849 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:03:43,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:43,860 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 12:03:43,860 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 12:03:43,860 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 12:03:43,861 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:03:43,861 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 12:03:43,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:43,869 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 12:03:43,869 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 12:03:43,869 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 12:03:43,870 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:03:43,871 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-28 12:03:43,872 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-28 12:03:43,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:03:43,873 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:03:43,873 INFO L272 TraceCheckUtils]: 4: Hoare triple {309#(= ~counter~0 0)} call #t~ret7 := main(); {309#(= ~counter~0 0)} is VALID [2022-04-28 12:03:43,874 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-28 12:03:43,874 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-28 12:03:43,874 INFO L290 TraceCheckUtils]: 7: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 12:03:43,874 INFO L290 TraceCheckUtils]: 8: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 12:03:43,874 INFO L290 TraceCheckUtils]: 9: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 12:03:43,875 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:03:43,876 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-28 12:03:43,876 INFO L290 TraceCheckUtils]: 12: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-28 12:03:43,876 INFO L290 TraceCheckUtils]: 13: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-28 12:03:43,876 INFO L290 TraceCheckUtils]: 14: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-28 12:03:43,877 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-28 12:03:43,877 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-28 12:03:43,878 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-28 12:03:43,879 INFO L290 TraceCheckUtils]: 18: Hoare triple {318#(= |main_#t~post6| 0)} assume !(#t~post6 < 100);havoc #t~post6; {305#false} is VALID [2022-04-28 12:03:43,879 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-28 12:03:43,879 INFO L290 TraceCheckUtils]: 20: Hoare triple {305#false} ~cond := #in~cond; {305#false} is VALID [2022-04-28 12:03:43,879 INFO L290 TraceCheckUtils]: 21: Hoare triple {305#false} assume 0 == ~cond; {305#false} is VALID [2022-04-28 12:03:43,879 INFO L290 TraceCheckUtils]: 22: Hoare triple {305#false} assume !false; {305#false} is VALID [2022-04-28 12:03:43,880 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-28 12:03:43,880 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:03:43,880 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1829037928] [2022-04-28 12:03:43,880 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1829037928] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:43,880 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:43,881 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:03:43,881 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:03:43,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [476850837] [2022-04-28 12:03:43,881 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [476850837] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:43,881 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:43,881 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:03:43,881 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [888202216] [2022-04-28 12:03:43,882 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:03:43,883 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-28 12:03:43,883 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:03:43,883 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-28 12:03:43,900 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-28 12:03:43,901 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:03:43,901 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:43,902 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:03:43,902 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:03:43,902 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-28 12:03:44,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:44,152 INFO L93 Difference]: Finished difference Result 42 states and 54 transitions. [2022-04-28 12:03:44,152 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:03:44,152 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-28 12:03:44,152 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:03:44,153 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-28 12:03:44,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-28 12:03:44,156 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-28 12:03:44,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-28 12:03:44,158 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2022-04-28 12:03:44,214 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:44,216 INFO L225 Difference]: With dead ends: 42 [2022-04-28 12:03:44,216 INFO L226 Difference]: Without dead ends: 32 [2022-04-28 12:03:44,217 INFO L412 NwaCegarLoop]: 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-28 12:03:44,218 INFO L413 NwaCegarLoop]: 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-28 12:03:44,218 INFO L414 NwaCegarLoop]: 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-28 12:03:44,219 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-28 12:03:44,224 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-28 12:03:44,224 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:03:44,225 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-28 12:03:44,225 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-28 12:03:44,226 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-28 12:03:44,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:44,228 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 12:03:44,228 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 12:03:44,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:44,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:44,229 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-28 12:03:44,230 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-28 12:03:44,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:44,232 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-28 12:03:44,232 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 12:03:44,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:44,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:44,233 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:03:44,233 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:03:44,234 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-28 12:03:44,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-28 12:03:44,236 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 23 [2022-04-28 12:03:44,236 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:03:44,236 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-28 12:03:44,237 INFO L496 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-28 12:03:44,237 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-28 12:03:44,283 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:44,284 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-28 12:03:44,284 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 12:03:44,284 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:03:44,284 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:03:44,285 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 12:03:44,285 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:03:44,285 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:03:44,286 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 1 times [2022-04-28 12:03:44,286 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:44,286 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1275628110] [2022-04-28 12:03:44,286 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:03:44,287 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 2 times [2022-04-28 12:03:44,287 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:03:44,287 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [519168255] [2022-04-28 12:03:44,287 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:03:44,287 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:03:44,303 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:03:44,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [581688888] [2022-04-28 12:03:44,304 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:03:44,304 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:03:44,304 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:03:44,307 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:03:44,339 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 12:03:44,368 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:03:44,368 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:03:44,371 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:03:44,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:44,389 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:03:45,803 INFO L272 TraceCheckUtils]: 0: Hoare triple {537#true} call ULTIMATE.init(); {537#true} is VALID [2022-04-28 12:03:45,804 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-28 12:03:45,804 INFO L290 TraceCheckUtils]: 2: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-28 12:03:45,804 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {537#true} {537#true} #82#return; {537#true} is VALID [2022-04-28 12:03:45,804 INFO L272 TraceCheckUtils]: 4: Hoare triple {537#true} call #t~ret7 := main(); {537#true} is VALID [2022-04-28 12:03:45,804 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-28 12:03:45,805 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-28 12:03:45,805 INFO L290 TraceCheckUtils]: 7: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-28 12:03:45,805 INFO L290 TraceCheckUtils]: 8: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-28 12:03:45,805 INFO L290 TraceCheckUtils]: 9: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-28 12:03:45,805 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {537#true} {537#true} #64#return; {537#true} is VALID [2022-04-28 12:03:45,805 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-28 12:03:45,806 INFO L290 TraceCheckUtils]: 12: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-28 12:03:45,806 INFO L290 TraceCheckUtils]: 13: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-28 12:03:45,806 INFO L290 TraceCheckUtils]: 14: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-28 12:03:45,806 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {537#true} {537#true} #66#return; {537#true} is VALID [2022-04-28 12:03:45,807 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-28 12:03:45,808 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-28 12:03:45,808 INFO L290 TraceCheckUtils]: 18: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:03:45,809 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-28 12:03:45,810 INFO L290 TraceCheckUtils]: 20: Hoare triple {600#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {604#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:03:45,812 INFO L290 TraceCheckUtils]: 21: Hoare triple {604#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {538#false} is VALID [2022-04-28 12:03:45,813 INFO L290 TraceCheckUtils]: 22: Hoare triple {538#false} assume !false; {538#false} is VALID [2022-04-28 12:03:45,813 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-28 12:03:45,813 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:03:45,813 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:03:45,813 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [519168255] [2022-04-28 12:03:45,814 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:03:45,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [581688888] [2022-04-28 12:03:45,814 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [581688888] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:45,814 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:45,814 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:03:45,815 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:03:45,815 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1275628110] [2022-04-28 12:03:45,815 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1275628110] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:45,815 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:45,815 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:03:45,815 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1876153950] [2022-04-28 12:03:45,816 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:03:45,816 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-28 12:03:45,816 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:03:45,817 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-28 12:03:45,838 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-28 12:03:45,838 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:03:45,838 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:45,839 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:03:45,839 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:03:45,839 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-28 12:03:46,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:46,108 INFO L93 Difference]: Finished difference Result 49 states and 66 transitions. [2022-04-28 12:03:46,108 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:03:46,109 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-28 12:03:46,109 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:03:46,110 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-28 12:03:46,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:03:46,115 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-28 12:03:46,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:03:46,120 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 12:03:46,175 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:46,180 INFO L225 Difference]: With dead ends: 49 [2022-04-28 12:03:46,181 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 12:03:46,181 INFO L412 NwaCegarLoop]: 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-28 12:03:46,187 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:03:46,192 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 136 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 44 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:03:46,194 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 12:03:46,218 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-28 12:03:46,219 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:03:46,220 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-28 12:03:46,221 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-28 12:03:46,223 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-28 12:03:46,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:46,226 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-28 12:03:46,227 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-28 12:03:46,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:46,228 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:46,228 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-28 12:03:46,229 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-28 12:03:46,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:46,232 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-28 12:03:46,232 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-28 12:03:46,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:46,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:46,233 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:03:46,233 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:03:46,234 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-28 12:03:46,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 63 transitions. [2022-04-28 12:03:46,237 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 63 transitions. Word has length 23 [2022-04-28 12:03:46,237 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:03:46,237 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 63 transitions. [2022-04-28 12:03:46,237 INFO L496 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-28 12:03:46,238 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 63 transitions. [2022-04-28 12:03:46,311 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:46,311 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-28 12:03:46,315 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 12:03:46,315 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:03:46,315 INFO L195 NwaCegarLoop]: 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-28 12:03:46,340 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 12:03:46,531 WARN L477 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-28 12:03:46,532 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:03:46,532 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:03:46,532 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 1 times [2022-04-28 12:03:46,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:46,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [196159626] [2022-04-28 12:03:46,533 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:03:46,533 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 2 times [2022-04-28 12:03:46,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:03:46,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1282957063] [2022-04-28 12:03:46,533 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:03:46,534 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:03:46,548 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:03:46,549 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1351627642] [2022-04-28 12:03:46,549 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:03:46,549 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:03:46,549 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:03:46,550 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:03:46,556 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 12:03:46,604 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:03:46,605 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:03:46,606 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:03:46,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:46,620 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:03:48,874 INFO L272 TraceCheckUtils]: 0: Hoare triple {896#true} call ULTIMATE.init(); {896#true} is VALID [2022-04-28 12:03:48,875 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-28 12:03:48,875 INFO L290 TraceCheckUtils]: 2: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 12:03:48,875 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {896#true} {896#true} #82#return; {896#true} is VALID [2022-04-28 12:03:48,875 INFO L272 TraceCheckUtils]: 4: Hoare triple {896#true} call #t~ret7 := main(); {896#true} is VALID [2022-04-28 12:03:48,876 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-28 12:03:48,876 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-28 12:03:48,876 INFO L290 TraceCheckUtils]: 7: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-28 12:03:48,876 INFO L290 TraceCheckUtils]: 8: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-28 12:03:48,876 INFO L290 TraceCheckUtils]: 9: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 12:03:48,876 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {896#true} {896#true} #64#return; {896#true} is VALID [2022-04-28 12:03:48,877 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-28 12:03:48,877 INFO L290 TraceCheckUtils]: 12: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-28 12:03:48,877 INFO L290 TraceCheckUtils]: 13: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-28 12:03:48,877 INFO L290 TraceCheckUtils]: 14: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 12:03:48,877 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {896#true} {896#true} #66#return; {896#true} is VALID [2022-04-28 12:03:48,878 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-28 12:03:48,879 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-28 12:03:48,879 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 < 100);havoc #t~post6; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:03:48,880 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-28 12:03:48,880 INFO L290 TraceCheckUtils]: 20: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-28 12:03:48,880 INFO L290 TraceCheckUtils]: 21: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-28 12:03:48,880 INFO L290 TraceCheckUtils]: 22: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-28 12:03:48,881 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-28 12:03:48,882 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-28 12:03:48,883 INFO L290 TraceCheckUtils]: 25: Hoare triple {974#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {978#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:03:48,884 INFO L290 TraceCheckUtils]: 26: Hoare triple {978#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {897#false} is VALID [2022-04-28 12:03:48,884 INFO L290 TraceCheckUtils]: 27: Hoare triple {897#false} assume !false; {897#false} is VALID [2022-04-28 12:03:48,884 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-28 12:03:48,884 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:03:48,884 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:03:48,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1282957063] [2022-04-28 12:03:48,885 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:03:48,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1351627642] [2022-04-28 12:03:48,885 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1351627642] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:48,885 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:48,885 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:03:48,885 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:03:48,886 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [196159626] [2022-04-28 12:03:48,886 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [196159626] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:48,886 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:48,886 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:03:48,886 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [243576087] [2022-04-28 12:03:48,886 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:03:48,886 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-28 12:03:48,887 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:03:48,887 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-28 12:03:48,922 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:48,922 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:03:48,923 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:48,923 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:03:48,923 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:03:48,924 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-28 12:03:49,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:49,190 INFO L93 Difference]: Finished difference Result 53 states and 69 transitions. [2022-04-28 12:03:49,190 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:03:49,191 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-28 12:03:49,191 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:03:49,191 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-28 12:03:49,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:03:49,194 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-28 12:03:49,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:03:49,197 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 12:03:49,250 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:49,252 INFO L225 Difference]: With dead ends: 53 [2022-04-28 12:03:49,252 INFO L226 Difference]: Without dead ends: 51 [2022-04-28 12:03:49,253 INFO L412 NwaCegarLoop]: 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-28 12:03:49,253 INFO L413 NwaCegarLoop]: 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-28 12:03:49,254 INFO L414 NwaCegarLoop]: 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-28 12:03:49,254 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-28 12:03:49,272 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-28 12:03:49,272 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:03:49,273 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-28 12:03:49,273 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-28 12:03:49,273 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-28 12:03:49,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:49,276 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-28 12:03:49,276 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-28 12:03:49,277 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:49,277 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:49,278 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-28 12:03:49,278 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-28 12:03:49,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:49,280 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-28 12:03:49,281 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-28 12:03:49,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:49,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:49,281 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:03:49,281 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:03:49,282 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-28 12:03:49,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 66 transitions. [2022-04-28 12:03:49,284 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 66 transitions. Word has length 28 [2022-04-28 12:03:49,284 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:03:49,285 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 66 transitions. [2022-04-28 12:03:49,285 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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-28 12:03:49,285 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 66 transitions. [2022-04-28 12:03:49,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:49,353 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-28 12:03:49,353 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:03:49,353 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:03:49,353 INFO L195 NwaCegarLoop]: 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-28 12:03:49,383 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 12:03:49,566 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-04-28 12:03:49,567 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:03:49,567 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:03:49,567 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 1 times [2022-04-28 12:03:49,567 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:49,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1809164783] [2022-04-28 12:03:49,568 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:03:49,568 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 2 times [2022-04-28 12:03:49,568 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:03:49,568 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1447417298] [2022-04-28 12:03:49,568 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:03:49,568 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:03:49,591 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:03:49,591 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1913885230] [2022-04-28 12:03:49,591 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:03:49,591 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:03:49,592 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:03:49,597 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:03:49,629 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 12:03:49,653 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:03:49,653 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:03:49,655 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:03:49,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:49,677 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:03:49,974 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-28 12:03:49,974 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-28 12:03:49,974 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:03:49,974 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-28 12:03:49,975 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-28 12:03:49,975 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-28 12:03:49,975 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-28 12:03:49,984 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-28 12:03:49,984 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-28 12:03:49,985 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-28 12:03:49,988 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-28 12:03:49,988 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-28 12:03:49,988 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:03:49,988 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:03:49,989 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:03:49,992 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1331#(<= 1 main_~x~0)} #66#return; {1331#(<= 1 main_~x~0)} is VALID [2022-04-28 12:03:49,993 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-28 12:03:49,993 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-28 12:03:49,995 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 < 100);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-28 12:03:49,995 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-28 12:03:49,996 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:03:49,996 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:03:49,996 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:03:49,997 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-28 12:03:49,997 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-28 12:03:49,997 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:03:49,997 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:03:49,997 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:03:49,998 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-28 12:03:49,999 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-28 12:03:49,999 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:03:50,000 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-28 12:03:50,000 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-28 12:03:50,000 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-28 12:03:50,000 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:03:50,231 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-28 12:03:50,231 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-28 12:03:50,232 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:03:50,233 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-28 12:03:50,233 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-28 12:03:50,233 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:03:50,234 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:03:50,234 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:03:50,234 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-28 12:03:50,234 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-28 12:03:50,235 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:03:50,235 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:03:50,235 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:03:50,235 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-28 12:03:50,236 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 < 100);havoc #t~post6; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:03:50,236 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-28 12:03:50,236 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-28 12:03:50,237 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1294#true} #66#return; {1294#true} is VALID [2022-04-28 12:03:50,237 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:03:50,237 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:03:50,237 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:03:50,237 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-28 12:03:50,237 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1294#true} {1294#true} #64#return; {1294#true} is VALID [2022-04-28 12:03:50,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:03:50,238 INFO L290 TraceCheckUtils]: 8: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-28 12:03:50,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-28 12:03:50,238 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-28 12:03:50,238 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-28 12:03:50,238 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-28 12:03:50,238 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-28 12:03:50,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-28 12:03:50,239 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-28 12:03:50,239 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-28 12:03:50,239 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-28 12:03:50,239 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:03:50,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1447417298] [2022-04-28 12:03:50,239 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:03:50,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1913885230] [2022-04-28 12:03:50,240 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1913885230] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:03:50,240 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:03:50,240 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 12:03:50,240 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:03:50,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1809164783] [2022-04-28 12:03:50,240 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1809164783] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:50,240 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:50,240 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:03:50,241 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [587529336] [2022-04-28 12:03:50,241 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:03:50,241 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-28 12:03:50,241 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:03:50,242 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-28 12:03:50,263 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:50,263 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:03:50,263 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:50,264 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:03:50,264 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:03:50,264 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-28 12:03:50,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:50,563 INFO L93 Difference]: Finished difference Result 75 states and 107 transitions. [2022-04-28 12:03:50,563 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:03:50,568 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-28 12:03:50,568 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:03:50,569 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-28 12:03:50,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:03:50,570 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-28 12:03:50,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:03:50,572 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 12:03:50,644 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:50,646 INFO L225 Difference]: With dead ends: 75 [2022-04-28 12:03:50,646 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 12:03:50,647 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:03:50,647 INFO L413 NwaCegarLoop]: 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-28 12:03:50,648 INFO L414 NwaCegarLoop]: 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-28 12:03:50,648 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 12:03:50,683 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-28 12:03:50,683 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:03:50,684 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-28 12:03:50,685 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-28 12:03:50,686 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-28 12:03:50,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:50,690 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-28 12:03:50,690 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-28 12:03:50,690 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:50,690 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:50,691 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-28 12:03:50,691 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-28 12:03:50,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:50,695 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-28 12:03:50,695 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-28 12:03:50,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:50,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:50,696 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:03:50,696 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:03:50,696 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-28 12:03:50,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 100 transitions. [2022-04-28 12:03:50,700 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 100 transitions. Word has length 33 [2022-04-28 12:03:50,700 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:03:50,700 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 100 transitions. [2022-04-28 12:03:50,701 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:03:50,701 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 100 transitions. [2022-04-28 12:03:50,818 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:50,818 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-28 12:03:50,819 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 12:03:50,819 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:03:50,819 INFO L195 NwaCegarLoop]: 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-28 12:03:50,849 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 12:03:51,019 WARN L477 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-28 12:03:51,020 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:03:51,020 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:03:51,020 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 1 times [2022-04-28 12:03:51,021 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:51,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1309691417] [2022-04-28 12:03:51,021 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:03:51,021 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 2 times [2022-04-28 12:03:51,021 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:03:51,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1947968430] [2022-04-28 12:03:51,021 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:03:51,022 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:03:51,058 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:03:51,058 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [504097225] [2022-04-28 12:03:51,058 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:03:51,058 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:03:51,058 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:03:51,068 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:03:51,075 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 12:03:51,112 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:03:51,113 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:03:51,114 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:03:51,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:51,124 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:03:51,237 INFO L272 TraceCheckUtils]: 0: Hoare triple {1936#true} call ULTIMATE.init(); {1936#true} is VALID [2022-04-28 12:03:51,237 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-28 12:03:51,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:03:51,238 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1936#true} {1936#true} #82#return; {1936#true} is VALID [2022-04-28 12:03:51,238 INFO L272 TraceCheckUtils]: 4: Hoare triple {1936#true} call #t~ret7 := main(); {1936#true} is VALID [2022-04-28 12:03:51,238 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-28 12:03:51,238 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-28 12:03:51,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 12:03:51,238 INFO L290 TraceCheckUtils]: 8: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 12:03:51,238 INFO L290 TraceCheckUtils]: 9: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:03:51,238 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1936#true} {1936#true} #64#return; {1936#true} is VALID [2022-04-28 12:03:51,239 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-28 12:03:51,239 INFO L290 TraceCheckUtils]: 12: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 12:03:51,239 INFO L290 TraceCheckUtils]: 13: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 12:03:51,239 INFO L290 TraceCheckUtils]: 14: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:03:51,239 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1936#true} {1936#true} #66#return; {1936#true} is VALID [2022-04-28 12:03:51,239 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-28 12:03:51,239 INFO L290 TraceCheckUtils]: 17: Hoare triple {1936#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1936#true} is VALID [2022-04-28 12:03:51,239 INFO L290 TraceCheckUtils]: 18: Hoare triple {1936#true} assume !!(#t~post6 < 100);havoc #t~post6; {1936#true} is VALID [2022-04-28 12:03:51,239 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-28 12:03:51,240 INFO L290 TraceCheckUtils]: 20: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 12:03:51,240 INFO L290 TraceCheckUtils]: 21: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 12:03:51,240 INFO L290 TraceCheckUtils]: 22: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:03:51,240 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1936#true} {1936#true} #68#return; {1936#true} is VALID [2022-04-28 12:03:51,240 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-28 12:03:51,240 INFO L290 TraceCheckUtils]: 25: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 12:03:51,240 INFO L290 TraceCheckUtils]: 26: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 12:03:51,240 INFO L290 TraceCheckUtils]: 27: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:03:51,240 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1936#true} {1936#true} #70#return; {1936#true} is VALID [2022-04-28 12:03:51,241 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-28 12:03:51,241 INFO L290 TraceCheckUtils]: 30: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-28 12:03:51,241 INFO L290 TraceCheckUtils]: 31: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-28 12:03:51,241 INFO L290 TraceCheckUtils]: 32: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-28 12:03:51,241 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1936#true} {1936#true} #72#return; {1936#true} is VALID [2022-04-28 12:03:51,242 INFO L290 TraceCheckUtils]: 34: Hoare triple {1936#true} assume !(~a~0 != ~b~0); {2043#(= main_~b~0 main_~a~0)} is VALID [2022-04-28 12:03:51,242 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-28 12:03:51,243 INFO L290 TraceCheckUtils]: 36: Hoare triple {2047#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2051#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:03:51,243 INFO L290 TraceCheckUtils]: 37: Hoare triple {2051#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1937#false} is VALID [2022-04-28 12:03:51,243 INFO L290 TraceCheckUtils]: 38: Hoare triple {1937#false} assume !false; {1937#false} is VALID [2022-04-28 12:03:51,244 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-28 12:03:51,244 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:03:51,244 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:03:51,244 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1947968430] [2022-04-28 12:03:51,244 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:03:51,244 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [504097225] [2022-04-28 12:03:51,244 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [504097225] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:51,244 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:51,244 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:03:51,245 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:03:51,245 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1309691417] [2022-04-28 12:03:51,245 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1309691417] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:51,245 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:51,245 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:03:51,245 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [256343052] [2022-04-28 12:03:51,245 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:03:51,248 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-28 12:03:51,250 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:03:51,251 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-28 12:03:51,272 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:51,272 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:03:51,272 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:51,273 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:03:51,273 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:03:51,273 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-28 12:03:51,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:51,478 INFO L93 Difference]: Finished difference Result 87 states and 123 transitions. [2022-04-28 12:03:51,478 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:03:51,478 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-28 12:03:51,479 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:03:51,479 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-28 12:03:51,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-28 12:03:51,481 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-28 12:03:51,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-28 12:03:51,482 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-28 12:03:51,522 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:51,525 INFO L225 Difference]: With dead ends: 87 [2022-04-28 12:03:51,525 INFO L226 Difference]: Without dead ends: 85 [2022-04-28 12:03:51,525 INFO L412 NwaCegarLoop]: 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-28 12:03:51,526 INFO L413 NwaCegarLoop]: 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-28 12:03:51,526 INFO L414 NwaCegarLoop]: 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-28 12:03:51,527 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-28 12:03:51,551 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 78. [2022-04-28 12:03:51,551 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:03:51,552 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-28 12:03:51,552 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-28 12:03:51,553 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-28 12:03:51,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:51,558 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-28 12:03:51,558 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-28 12:03:51,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:51,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:51,559 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-28 12:03:51,559 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-28 12:03:51,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:51,564 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-28 12:03:51,564 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-28 12:03:51,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:51,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:51,565 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:03:51,565 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:03:51,565 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-28 12:03:51,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 109 transitions. [2022-04-28 12:03:51,569 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 109 transitions. Word has length 39 [2022-04-28 12:03:51,569 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:03:51,569 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 109 transitions. [2022-04-28 12:03:51,570 INFO L496 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-28 12:03:51,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 109 transitions. [2022-04-28 12:03:51,713 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-28 12:03:51,713 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 109 transitions. [2022-04-28 12:03:51,714 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 12:03:51,714 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:03:51,714 INFO L195 NwaCegarLoop]: 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-28 12:03:51,746 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 12:03:51,939 WARN L477 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-28 12:03:51,940 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:03:51,940 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:03:51,940 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 1 times [2022-04-28 12:03:51,940 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:51,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1511178891] [2022-04-28 12:03:51,940 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:03:51,941 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 2 times [2022-04-28 12:03:51,941 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:03:51,941 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [469725517] [2022-04-28 12:03:51,941 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:03:51,941 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:03:51,958 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:03:51,958 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [740977806] [2022-04-28 12:03:51,958 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:03:51,958 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:03:51,959 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:03:51,969 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:03:51,983 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 12:03:52,027 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:03:52,027 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:03:52,028 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:03:52,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:52,041 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:03:52,227 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-28 12:03:52,228 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-28 12:03:52,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:03:52,229 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#(<= ~counter~0 0)} {2559#true} #82#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:03:52,229 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#(<= ~counter~0 0)} call #t~ret7 := main(); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:03:52,230 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-28 12:03:52,230 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-28 12:03:52,231 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:03:52,231 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:03:52,231 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:03:52,232 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #64#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:03:52,232 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-28 12:03:52,233 INFO L290 TraceCheckUtils]: 12: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:03:52,233 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:03:52,233 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:03:52,234 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #66#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-28 12:03:52,234 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-28 12:03:52,235 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-28 12:03:52,235 INFO L290 TraceCheckUtils]: 18: Hoare triple {2616#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:03:52,236 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-28 12:03:52,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:03:52,236 INFO L290 TraceCheckUtils]: 21: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:03:52,237 INFO L290 TraceCheckUtils]: 22: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:03:52,237 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #68#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:03:52,238 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-28 12:03:52,238 INFO L290 TraceCheckUtils]: 25: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:03:52,239 INFO L290 TraceCheckUtils]: 26: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:03:52,239 INFO L290 TraceCheckUtils]: 27: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:03:52,240 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #70#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:03:52,240 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-28 12:03:52,241 INFO L290 TraceCheckUtils]: 30: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:03:52,241 INFO L290 TraceCheckUtils]: 31: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:03:52,241 INFO L290 TraceCheckUtils]: 32: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:03:52,242 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #72#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:03:52,242 INFO L290 TraceCheckUtils]: 34: Hoare triple {2616#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {2616#(<= ~counter~0 1)} is VALID [2022-04-28 12:03:52,243 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-28 12:03:52,243 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-28 12:03:52,244 INFO L290 TraceCheckUtils]: 37: Hoare triple {2674#(<= |main_#t~post6| 1)} assume !(#t~post6 < 100);havoc #t~post6; {2560#false} is VALID [2022-04-28 12:03:52,244 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-28 12:03:52,244 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-28 12:03:52,244 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-28 12:03:52,245 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-28 12:03:52,245 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-28 12:03:52,245 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:03:52,681 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-28 12:03:52,682 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-28 12:03:52,682 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-28 12:03:52,682 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-28 12:03:52,682 INFO L290 TraceCheckUtils]: 37: Hoare triple {2702#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {2560#false} is VALID [2022-04-28 12:03:52,683 INFO L290 TraceCheckUtils]: 36: Hoare triple {2706#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2702#(< |main_#t~post6| 100)} is VALID [2022-04-28 12:03:52,683 INFO L290 TraceCheckUtils]: 35: Hoare triple {2706#(< ~counter~0 100)} 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 100)} is VALID [2022-04-28 12:03:52,684 INFO L290 TraceCheckUtils]: 34: Hoare triple {2706#(< ~counter~0 100)} assume !!(~a~0 != ~b~0); {2706#(< ~counter~0 100)} is VALID [2022-04-28 12:03:52,684 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2559#true} {2706#(< ~counter~0 100)} #72#return; {2706#(< ~counter~0 100)} is VALID [2022-04-28 12:03:52,685 INFO L290 TraceCheckUtils]: 32: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 12:03:52,685 INFO L290 TraceCheckUtils]: 31: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 12:03:52,685 INFO L290 TraceCheckUtils]: 30: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 12:03:52,685 INFO L272 TraceCheckUtils]: 29: Hoare triple {2706#(< ~counter~0 100)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2559#true} is VALID [2022-04-28 12:03:52,686 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2559#true} {2706#(< ~counter~0 100)} #70#return; {2706#(< ~counter~0 100)} is VALID [2022-04-28 12:03:52,686 INFO L290 TraceCheckUtils]: 27: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 12:03:52,686 INFO L290 TraceCheckUtils]: 26: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 12:03:52,686 INFO L290 TraceCheckUtils]: 25: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 12:03:52,686 INFO L272 TraceCheckUtils]: 24: Hoare triple {2706#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2559#true} is VALID [2022-04-28 12:03:52,687 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2559#true} {2706#(< ~counter~0 100)} #68#return; {2706#(< ~counter~0 100)} is VALID [2022-04-28 12:03:52,687 INFO L290 TraceCheckUtils]: 22: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 12:03:52,687 INFO L290 TraceCheckUtils]: 21: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 12:03:52,687 INFO L290 TraceCheckUtils]: 20: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 12:03:52,688 INFO L272 TraceCheckUtils]: 19: Hoare triple {2706#(< ~counter~0 100)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2559#true} is VALID [2022-04-28 12:03:52,688 INFO L290 TraceCheckUtils]: 18: Hoare triple {2706#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {2706#(< ~counter~0 100)} is VALID [2022-04-28 12:03:52,689 INFO L290 TraceCheckUtils]: 17: Hoare triple {2764#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2706#(< ~counter~0 100)} is VALID [2022-04-28 12:03:52,689 INFO L290 TraceCheckUtils]: 16: Hoare triple {2764#(< ~counter~0 99)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2764#(< ~counter~0 99)} is VALID [2022-04-28 12:03:52,690 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2559#true} {2764#(< ~counter~0 99)} #66#return; {2764#(< ~counter~0 99)} is VALID [2022-04-28 12:03:52,690 INFO L290 TraceCheckUtils]: 14: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 12:03:52,690 INFO L290 TraceCheckUtils]: 13: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 12:03:52,690 INFO L290 TraceCheckUtils]: 12: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 12:03:52,690 INFO L272 TraceCheckUtils]: 11: Hoare triple {2764#(< ~counter~0 99)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-28 12:03:52,691 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2559#true} {2764#(< ~counter~0 99)} #64#return; {2764#(< ~counter~0 99)} is VALID [2022-04-28 12:03:52,691 INFO L290 TraceCheckUtils]: 9: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-28 12:03:52,691 INFO L290 TraceCheckUtils]: 8: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-28 12:03:52,691 INFO L290 TraceCheckUtils]: 7: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-28 12:03:52,691 INFO L272 TraceCheckUtils]: 6: Hoare triple {2764#(< ~counter~0 99)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-28 12:03:52,692 INFO L290 TraceCheckUtils]: 5: Hoare triple {2764#(< ~counter~0 99)} 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 99)} is VALID [2022-04-28 12:03:52,692 INFO L272 TraceCheckUtils]: 4: Hoare triple {2764#(< ~counter~0 99)} call #t~ret7 := main(); {2764#(< ~counter~0 99)} is VALID [2022-04-28 12:03:52,693 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2764#(< ~counter~0 99)} {2559#true} #82#return; {2764#(< ~counter~0 99)} is VALID [2022-04-28 12:03:52,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {2764#(< ~counter~0 99)} assume true; {2764#(< ~counter~0 99)} is VALID [2022-04-28 12:03:52,694 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 99)} is VALID [2022-04-28 12:03:52,694 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-28 12:03:52,694 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-28 12:03:52,694 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:03:52,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [469725517] [2022-04-28 12:03:52,695 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:03:52,695 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [740977806] [2022-04-28 12:03:52,695 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [740977806] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:03:52,695 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:03:52,695 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 12:03:52,695 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:03:52,695 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1511178891] [2022-04-28 12:03:52,695 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1511178891] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:52,696 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:52,696 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:03:52,696 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [507608915] [2022-04-28 12:03:52,696 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:03:52,696 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-28 12:03:52,696 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:03:52,697 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-28 12:03:52,728 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-28 12:03:52,728 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:03:52,729 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:52,729 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:03:52,729 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:03:52,729 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-28 12:03:52,963 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:52,964 INFO L93 Difference]: Finished difference Result 121 states and 152 transitions. [2022-04-28 12:03:52,964 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:03:52,964 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-28 12:03:52,965 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:03:52,966 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-28 12:03:52,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-28 12:03:52,969 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-28 12:03:52,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-28 12:03:52,971 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2022-04-28 12:03:53,046 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:53,050 INFO L225 Difference]: With dead ends: 121 [2022-04-28 12:03:53,051 INFO L226 Difference]: Without dead ends: 102 [2022-04-28 12:03:53,053 INFO L412 NwaCegarLoop]: 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-28 12:03:53,054 INFO L413 NwaCegarLoop]: 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-28 12:03:53,055 INFO L414 NwaCegarLoop]: 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-28 12:03:53,056 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-28 12:03:53,138 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 100. [2022-04-28 12:03:53,138 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:03:53,138 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-28 12:03:53,139 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-28 12:03:53,139 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-28 12:03:53,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:53,145 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-28 12:03:53,145 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-28 12:03:53,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:53,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:53,147 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-28 12:03:53,148 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-28 12:03:53,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:53,154 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-28 12:03:53,154 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-28 12:03:53,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:53,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:53,154 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:03:53,154 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:03:53,155 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-28 12:03:53,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 127 transitions. [2022-04-28 12:03:53,159 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 127 transitions. Word has length 42 [2022-04-28 12:03:53,161 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:03:53,161 INFO L495 AbstractCegarLoop]: Abstraction has 100 states and 127 transitions. [2022-04-28 12:03:53,161 INFO L496 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-28 12:03:53,162 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 127 transitions. [2022-04-28 12:03:53,328 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:53,328 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-28 12:03:53,328 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 12:03:53,329 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:03:53,329 INFO L195 NwaCegarLoop]: 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-28 12:03:53,358 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 12:03:53,529 WARN L477 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-28 12:03:53,530 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:03:53,530 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:03:53,530 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 1 times [2022-04-28 12:03:53,530 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:53,530 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1924422258] [2022-04-28 12:03:53,531 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:03:53,531 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 2 times [2022-04-28 12:03:53,531 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:03:53,531 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1939828886] [2022-04-28 12:03:53,531 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:03:53,531 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:03:53,545 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:03:53,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1973567378] [2022-04-28 12:03:53,545 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:03:53,545 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:03:53,546 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:03:53,569 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:03:53,570 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 12:03:53,655 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:03:53,655 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:03:53,657 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:03:53,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:53,678 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:03:56,031 INFO L272 TraceCheckUtils]: 0: Hoare triple {3466#true} call ULTIMATE.init(); {3466#true} is VALID [2022-04-28 12:03:56,032 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-28 12:03:56,032 INFO L290 TraceCheckUtils]: 2: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:03:56,032 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3466#true} {3466#true} #82#return; {3466#true} is VALID [2022-04-28 12:03:56,032 INFO L272 TraceCheckUtils]: 4: Hoare triple {3466#true} call #t~ret7 := main(); {3466#true} is VALID [2022-04-28 12:03:56,032 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-28 12:03:56,032 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-28 12:03:56,032 INFO L290 TraceCheckUtils]: 7: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 12:03:56,032 INFO L290 TraceCheckUtils]: 8: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 12:03:56,033 INFO L290 TraceCheckUtils]: 9: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:03:56,033 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3466#true} {3466#true} #64#return; {3466#true} is VALID [2022-04-28 12:03:56,033 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-28 12:03:56,033 INFO L290 TraceCheckUtils]: 12: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 12:03:56,033 INFO L290 TraceCheckUtils]: 13: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 12:03:56,033 INFO L290 TraceCheckUtils]: 14: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:03:56,034 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3466#true} {3466#true} #66#return; {3466#true} is VALID [2022-04-28 12:03:56,035 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-28 12:03:56,035 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-28 12:03:56,036 INFO L290 TraceCheckUtils]: 18: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:03:56,036 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-28 12:03:56,037 INFO L290 TraceCheckUtils]: 20: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 12:03:56,037 INFO L290 TraceCheckUtils]: 21: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 12:03:56,037 INFO L290 TraceCheckUtils]: 22: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:03:56,037 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-28 12:03:56,038 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-28 12:03:56,038 INFO L290 TraceCheckUtils]: 25: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 12:03:56,038 INFO L290 TraceCheckUtils]: 26: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 12:03:56,038 INFO L290 TraceCheckUtils]: 27: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:03:56,039 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-28 12:03:56,039 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-28 12:03:56,039 INFO L290 TraceCheckUtils]: 30: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-28 12:03:56,039 INFO L290 TraceCheckUtils]: 31: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-28 12:03:56,039 INFO L290 TraceCheckUtils]: 32: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-28 12:03:56,040 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-28 12:03:56,040 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-28 12:03:56,041 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-28 12:03:56,041 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-28 12:03:56,042 INFO L290 TraceCheckUtils]: 37: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:03:56,043 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-28 12:03:56,043 INFO L290 TraceCheckUtils]: 39: Hoare triple {3586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:03:56,043 INFO L290 TraceCheckUtils]: 40: Hoare triple {3590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3467#false} is VALID [2022-04-28 12:03:56,043 INFO L290 TraceCheckUtils]: 41: Hoare triple {3467#false} assume !false; {3467#false} is VALID [2022-04-28 12:03:56,044 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-28 12:03:56,044 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:03:56,044 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:03:56,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1939828886] [2022-04-28 12:03:56,044 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:03:56,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1973567378] [2022-04-28 12:03:56,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1973567378] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:56,046 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:56,046 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:03:56,046 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:03:56,057 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1924422258] [2022-04-28 12:03:56,057 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1924422258] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:03:56,057 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:03:56,058 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:03:56,058 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2053555943] [2022-04-28 12:03:56,058 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:03:56,058 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-28 12:03:56,058 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:03:56,059 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-28 12:03:56,092 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-28 12:03:56,092 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:03:56,093 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:56,093 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:03:56,095 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:03:56,096 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-28 12:03:56,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:56,373 INFO L93 Difference]: Finished difference Result 106 states and 132 transitions. [2022-04-28 12:03:56,373 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:03:56,373 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-28 12:03:56,374 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:03:56,374 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-28 12:03:56,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-28 12:03:56,375 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-28 12:03:56,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-28 12:03:56,377 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-04-28 12:03:56,441 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:03:56,445 INFO L225 Difference]: With dead ends: 106 [2022-04-28 12:03:56,445 INFO L226 Difference]: Without dead ends: 103 [2022-04-28 12:03:56,445 INFO L412 NwaCegarLoop]: 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-28 12:03:56,446 INFO L413 NwaCegarLoop]: 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-28 12:03:56,446 INFO L414 NwaCegarLoop]: 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-28 12:03:56,448 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-28 12:03:56,511 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-28 12:03:56,511 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:03:56,512 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-28 12:03:56,512 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-28 12:03:56,512 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-28 12:03:56,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:56,516 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-28 12:03:56,516 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-28 12:03:56,517 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:56,517 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:56,518 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-28 12:03:56,518 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-28 12:03:56,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:03:56,522 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-28 12:03:56,522 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-28 12:03:56,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:03:56,523 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:03:56,523 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:03:56,523 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:03:56,523 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-28 12:03:56,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 128 transitions. [2022-04-28 12:03:56,527 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 128 transitions. Word has length 42 [2022-04-28 12:03:56,527 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:03:56,527 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 128 transitions. [2022-04-28 12:03:56,527 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:03:56,527 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 128 transitions. [2022-04-28 12:03:56,669 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-28 12:03:56,669 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-28 12:03:56,670 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 12:03:56,670 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:03:56,670 INFO L195 NwaCegarLoop]: 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-28 12:03:56,699 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 12:03:56,870 WARN L477 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-28 12:03:56,871 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:03:56,871 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:03:56,871 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 1 times [2022-04-28 12:03:56,871 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:03:56,871 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [815636990] [2022-04-28 12:03:56,872 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:03:56,872 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 2 times [2022-04-28 12:03:56,872 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:03:56,872 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1865530634] [2022-04-28 12:03:56,872 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:03:56,872 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:03:56,885 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:03:56,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [687330771] [2022-04-28 12:03:56,885 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:03:56,885 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:03:56,885 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:03:56,886 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:03:56,887 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 12:03:56,930 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:03:56,931 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:03:56,932 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 12:03:56,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:03:56,944 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:03:57,123 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-28 12:03:57,123 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-28 12:03:57,124 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:03:57,124 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-28 12:03:57,124 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-28 12:03:57,124 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-28 12:03:57,124 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-28 12:03:57,124 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:03:57,124 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:03:57,124 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:03:57,124 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-28 12:03:57,124 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-28 12:03:57,124 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:03:57,124 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:03:57,124 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:03:57,125 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-28 12:03:57,125 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-28 12:03:57,125 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-28 12:03:57,125 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 100);havoc #t~post6; {4222#true} is VALID [2022-04-28 12:03:57,125 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-28 12:03:57,125 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:03:57,125 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:03:57,125 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:03:57,125 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-28 12:03:57,125 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-28 12:03:57,127 INFO L290 TraceCheckUtils]: 25: Hoare triple {4222#true} ~cond := #in~cond; {4302#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:03:57,132 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-28 12:03:57,133 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-28 12:03:57,134 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-28 12:03:57,134 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-28 12:03:57,134 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:03:57,135 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:03:57,135 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:03:57,136 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-28 12:03:57,136 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-28 12:03:57,136 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-28 12:03:57,136 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:03:57,137 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:03:57,137 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:03:57,137 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-28 12:03:57,139 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-28 12:03:57,139 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:03:57,140 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-28 12:03:57,140 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-28 12:03:57,140 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-28 12:03:57,140 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:04:17,547 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-28 12:04:17,548 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-28 12:04:17,548 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:04:17,549 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-28 12:04:17,551 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-28 12:04:17,551 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:04:17,551 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:04:17,551 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:04:17,551 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-28 12:04:17,552 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-28 12:04:17,553 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-28 12:04:17,553 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:04:17,553 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:04:17,553 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:04:17,553 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-28 12:04:17,554 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-28 12:04:17,555 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-28 12:04:17,555 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-28 12:04:17,555 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-28 12:04:17,556 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-28 12:04:17,556 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-28 12:04:17,556 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:04:17,556 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:04:17,556 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:04:17,556 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-28 12:04:17,556 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 100);havoc #t~post6; {4222#true} is VALID [2022-04-28 12:04:17,556 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-28 12:04:17,556 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-28 12:04:17,556 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-28 12:04:17,557 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:04:17,557 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:04:17,557 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:04:17,557 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-28 12:04:17,557 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-28 12:04:17,557 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:04:17,557 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-28 12:04:17,557 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-28 12:04:17,557 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-28 12:04:17,557 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-28 12:04:17,557 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-28 12:04:17,558 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-28 12:04:17,558 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-28 12:04:17,558 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-28 12:04:17,558 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-28 12:04:17,558 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-28 12:04:17,558 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:04:17,558 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1865530634] [2022-04-28 12:04:17,558 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:04:17,559 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [687330771] [2022-04-28 12:04:17,559 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [687330771] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:04:17,559 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:04:17,559 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:04:17,559 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:04:17,559 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [815636990] [2022-04-28 12:04:17,559 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [815636990] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:04:17,559 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:04:17,559 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:04:17,559 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1184727847] [2022-04-28 12:04:17,560 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:04:17,560 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-28 12:04:17,560 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:04:17,560 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-28 12:04:17,592 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:04:17,593 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:04:17,593 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:04:17,593 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:04:17,593 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:04:17,594 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-28 12:04:18,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:04:18,221 INFO L93 Difference]: Finished difference Result 118 states and 148 transitions. [2022-04-28 12:04:18,221 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:04:18,221 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-28 12:04:18,221 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:04:18,221 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-28 12:04:18,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-28 12:04:18,223 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-28 12:04:18,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-28 12:04:18,225 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 60 transitions. [2022-04-28 12:04:18,281 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:04:18,283 INFO L225 Difference]: With dead ends: 118 [2022-04-28 12:04:18,283 INFO L226 Difference]: Without dead ends: 106 [2022-04-28 12:04:18,284 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:04:18,284 INFO L413 NwaCegarLoop]: 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-28 12:04:18,284 INFO L414 NwaCegarLoop]: 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-28 12:04:18,285 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-28 12:04:18,345 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 104. [2022-04-28 12:04:18,345 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:04:18,345 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-28 12:04:18,346 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-28 12:04:18,346 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-28 12:04:18,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:04:18,350 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-28 12:04:18,350 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-28 12:04:18,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:04:18,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:04:18,351 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-28 12:04:18,351 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-28 12:04:18,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:04:18,355 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-28 12:04:18,355 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-28 12:04:18,356 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:04:18,356 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:04:18,356 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:04:18,356 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:04:18,356 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-28 12:04:18,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 130 transitions. [2022-04-28 12:04:18,360 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 130 transitions. Word has length 44 [2022-04-28 12:04:18,360 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:04:18,360 INFO L495 AbstractCegarLoop]: Abstraction has 104 states and 130 transitions. [2022-04-28 12:04:18,360 INFO L496 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-28 12:04:18,360 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 104 states and 130 transitions. [2022-04-28 12:04:18,522 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-28 12:04:18,523 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 130 transitions. [2022-04-28 12:04:18,523 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 12:04:18,523 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:04:18,524 INFO L195 NwaCegarLoop]: 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-28 12:04:18,551 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 12:04:18,724 WARN L477 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-28 12:04:18,724 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:04:18,725 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:04:18,725 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 3 times [2022-04-28 12:04:18,725 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:04:18,725 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1009385596] [2022-04-28 12:04:18,725 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:04:18,725 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 4 times [2022-04-28 12:04:18,725 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:04:18,725 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [322887483] [2022-04-28 12:04:18,726 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:04:18,726 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:04:18,741 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:04:18,741 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1832902624] [2022-04-28 12:04:18,742 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:04:18,742 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:04:18,742 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:04:18,743 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:04:18,744 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 12:04:18,791 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:04:18,791 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:04:18,792 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 12:04:18,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:04:18,803 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:04:19,151 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-28 12:04:19,152 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-28 12:04:19,152 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:04:19,152 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-28 12:04:19,152 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-28 12:04:19,152 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-28 12:04:19,152 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-28 12:04:19,152 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:04:19,152 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:04:19,152 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:04:19,153 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-28 12:04:19,153 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-28 12:04:19,153 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:04:19,153 INFO L290 TraceCheckUtils]: 13: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:04:19,153 INFO L290 TraceCheckUtils]: 14: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:04:19,153 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5156#true} {5156#true} #66#return; {5156#true} is VALID [2022-04-28 12:04:19,154 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; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:19,154 INFO L290 TraceCheckUtils]: 17: Hoare triple {5209#(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; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:19,155 INFO L290 TraceCheckUtils]: 18: Hoare triple {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:19,155 INFO L272 TraceCheckUtils]: 19: Hoare triple {5209#(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)); {5156#true} is VALID [2022-04-28 12:04:19,155 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:04:19,155 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:04:19,155 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:04:19,157 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5156#true} {5209#(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; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:19,157 INFO L272 TraceCheckUtils]: 24: Hoare triple {5209#(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)); {5156#true} is VALID [2022-04-28 12:04:19,157 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:04:19,157 INFO L290 TraceCheckUtils]: 26: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:04:19,157 INFO L290 TraceCheckUtils]: 27: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:04:19,158 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5156#true} {5209#(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; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:19,158 INFO L272 TraceCheckUtils]: 29: Hoare triple {5209#(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)); {5156#true} is VALID [2022-04-28 12:04:19,158 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:04:19,158 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:04:19,159 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:04:19,159 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5156#true} {5209#(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; {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:19,160 INFO L290 TraceCheckUtils]: 34: Hoare triple {5209#(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); {5209#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:19,161 INFO L290 TraceCheckUtils]: 35: Hoare triple {5209#(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; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-28 12:04:19,161 INFO L290 TraceCheckUtils]: 36: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-28 12:04:19,162 INFO L290 TraceCheckUtils]: 37: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} assume !!(#t~post6 < 100);havoc #t~post6; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-28 12:04:19,162 INFO L272 TraceCheckUtils]: 38: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-28 12:04:19,162 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:04:19,162 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:04:19,162 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:04:19,164 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5156#true} {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} #68#return; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-28 12:04:19,165 INFO L272 TraceCheckUtils]: 43: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) 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)); {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:04:19,166 INFO L290 TraceCheckUtils]: 44: Hoare triple {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5296#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:04:19,166 INFO L290 TraceCheckUtils]: 45: Hoare triple {5296#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-28 12:04:19,166 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-28 12:04:19,166 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 12:04:19,167 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:04:19,415 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-28 12:04:19,416 INFO L290 TraceCheckUtils]: 45: Hoare triple {5296#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-28 12:04:19,416 INFO L290 TraceCheckUtils]: 44: Hoare triple {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5296#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:04:19,417 INFO L272 TraceCheckUtils]: 43: Hoare triple {5312#(= 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)); {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:04:19,418 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5156#true} {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:04:19,418 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:04:19,418 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:04:19,418 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:04:19,418 INFO L272 TraceCheckUtils]: 38: Hoare triple {5312#(= 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-28 12:04:19,419 INFO L290 TraceCheckUtils]: 37: Hoare triple {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:04:19,419 INFO L290 TraceCheckUtils]: 36: Hoare triple {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:04:19,539 INFO L290 TraceCheckUtils]: 35: Hoare triple {5337#(= (+ 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; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:04:19,540 INFO L290 TraceCheckUtils]: 34: Hoare triple {5337#(= (+ 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); {5337#(= (+ 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-28 12:04:19,540 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5156#true} {5337#(= (+ 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; {5337#(= (+ 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-28 12:04:19,541 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:04:19,541 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:04:19,541 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:04:19,541 INFO L272 TraceCheckUtils]: 29: Hoare triple {5337#(= (+ 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-28 12:04:19,542 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5156#true} {5337#(= (+ 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; {5337#(= (+ 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-28 12:04:19,542 INFO L290 TraceCheckUtils]: 27: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:04:19,542 INFO L290 TraceCheckUtils]: 26: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:04:19,542 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:04:19,542 INFO L272 TraceCheckUtils]: 24: Hoare triple {5337#(= (+ 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)); {5156#true} is VALID [2022-04-28 12:04:19,543 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5156#true} {5337#(= (+ 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; {5337#(= (+ 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-28 12:04:19,543 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:04:19,543 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:04:19,543 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:04:19,543 INFO L272 TraceCheckUtils]: 19: Hoare triple {5337#(= (+ 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)); {5156#true} is VALID [2022-04-28 12:04:19,544 INFO L290 TraceCheckUtils]: 18: Hoare triple {5337#(= (+ 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 < 100);havoc #t~post6; {5337#(= (+ 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-28 12:04:19,544 INFO L290 TraceCheckUtils]: 17: Hoare triple {5337#(= (+ 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; {5337#(= (+ 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-28 12:04:19,545 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; {5337#(= (+ 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-28 12:04:19,545 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5156#true} {5156#true} #66#return; {5156#true} is VALID [2022-04-28 12:04:19,545 INFO L290 TraceCheckUtils]: 14: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:04:19,545 INFO L290 TraceCheckUtils]: 13: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:04:19,545 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:04:19,545 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-28 12:04:19,545 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-28 12:04:19,546 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:04:19,546 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-28 12:04:19,546 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-28 12:04:19,546 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-28 12:04:19,546 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-28 12:04:19,546 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-28 12:04:19,546 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-28 12:04:19,546 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-28 12:04:19,546 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-28 12:04:19,546 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-28 12:04:19,546 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 12:04:19,547 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:04:19,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [322887483] [2022-04-28 12:04:19,547 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:04:19,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1832902624] [2022-04-28 12:04:19,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1832902624] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:04:19,547 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:04:19,547 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-28 12:04:19,547 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:04:19,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1009385596] [2022-04-28 12:04:19,548 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1009385596] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:04:19,548 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:04:19,548 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:04:19,548 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1821330799] [2022-04-28 12:04:19,548 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:04:19,548 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 47 [2022-04-28 12:04:19,548 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:04:19,549 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 12:04:19,585 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:04:19,585 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:04:19,586 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:04:19,586 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:04:19,586 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:04:19,586 INFO L87 Difference]: Start difference. First operand 104 states and 130 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 12:04:20,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:04:20,084 INFO L93 Difference]: Finished difference Result 131 states and 169 transitions. [2022-04-28 12:04:20,084 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:04:20,084 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 47 [2022-04-28 12:04:20,085 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:04:20,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 12:04:20,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 12:04:20,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 12:04:20,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 12:04:20,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-28 12:04:20,159 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-28 12:04:20,161 INFO L225 Difference]: With dead ends: 131 [2022-04-28 12:04:20,162 INFO L226 Difference]: Without dead ends: 129 [2022-04-28 12:04:20,162 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 86 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:04:20,163 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 9 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 119 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 168 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 119 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:04:20,166 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 168 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 119 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:04:20,167 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-28 12:04:20,224 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 124. [2022-04-28 12:04:20,224 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:04:20,225 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-28 12:04:20,225 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-28 12:04:20,225 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-28 12:04:20,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:04:20,229 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-28 12:04:20,230 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-28 12:04:20,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:04:20,230 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:04:20,231 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-28 12:04:20,231 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-28 12:04:20,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:04:20,236 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-28 12:04:20,236 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-28 12:04:20,236 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:04:20,236 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:04:20,236 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:04:20,237 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:04:20,237 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-28 12:04:20,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 158 transitions. [2022-04-28 12:04:20,241 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 158 transitions. Word has length 47 [2022-04-28 12:04:20,241 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:04:20,241 INFO L495 AbstractCegarLoop]: Abstraction has 124 states and 158 transitions. [2022-04-28 12:04:20,241 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 12:04:20,241 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 124 states and 158 transitions. [2022-04-28 12:04:20,432 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-28 12:04:20,432 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 158 transitions. [2022-04-28 12:04:20,432 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 12:04:20,432 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:04:20,433 INFO L195 NwaCegarLoop]: 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-28 12:04:20,450 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-28 12:04:20,633 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 12:04:20,633 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:04:20,634 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:04:20,634 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 1 times [2022-04-28 12:04:20,634 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:04:20,634 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1449460047] [2022-04-28 12:04:20,634 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:04:20,634 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 2 times [2022-04-28 12:04:20,634 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:04:20,634 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [810597753] [2022-04-28 12:04:20,634 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:04:20,634 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:04:20,656 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:04:20,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1792259486] [2022-04-28 12:04:20,656 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:04:20,656 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:04:20,656 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:04:20,665 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:04:20,666 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 12:04:20,708 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:04:20,708 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:04:20,709 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 12:04:20,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:04:20,721 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:04:21,186 INFO L272 TraceCheckUtils]: 0: Hoare triple {6215#true} call ULTIMATE.init(); {6215#true} is VALID [2022-04-28 12:04:21,186 INFO L290 TraceCheckUtils]: 1: Hoare triple {6215#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; {6215#true} is VALID [2022-04-28 12:04:21,186 INFO L290 TraceCheckUtils]: 2: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 12:04:21,186 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6215#true} {6215#true} #82#return; {6215#true} is VALID [2022-04-28 12:04:21,186 INFO L272 TraceCheckUtils]: 4: Hoare triple {6215#true} call #t~ret7 := main(); {6215#true} is VALID [2022-04-28 12:04:21,186 INFO L290 TraceCheckUtils]: 5: Hoare triple {6215#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; {6215#true} is VALID [2022-04-28 12:04:21,186 INFO L272 TraceCheckUtils]: 6: Hoare triple {6215#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-28 12:04:21,186 INFO L290 TraceCheckUtils]: 7: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 12:04:21,187 INFO L290 TraceCheckUtils]: 8: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 12:04:21,187 INFO L290 TraceCheckUtils]: 9: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 12:04:21,187 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6215#true} {6215#true} #64#return; {6215#true} is VALID [2022-04-28 12:04:21,187 INFO L272 TraceCheckUtils]: 11: Hoare triple {6215#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-28 12:04:21,187 INFO L290 TraceCheckUtils]: 12: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 12:04:21,187 INFO L290 TraceCheckUtils]: 13: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 12:04:21,187 INFO L290 TraceCheckUtils]: 14: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 12:04:21,187 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6215#true} {6215#true} #66#return; {6215#true} is VALID [2022-04-28 12:04:21,188 INFO L290 TraceCheckUtils]: 16: Hoare triple {6215#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:21,188 INFO L290 TraceCheckUtils]: 17: Hoare triple {6268#(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; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:21,189 INFO L290 TraceCheckUtils]: 18: Hoare triple {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:21,189 INFO L272 TraceCheckUtils]: 19: Hoare triple {6268#(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)); {6215#true} is VALID [2022-04-28 12:04:21,189 INFO L290 TraceCheckUtils]: 20: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 12:04:21,189 INFO L290 TraceCheckUtils]: 21: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 12:04:21,189 INFO L290 TraceCheckUtils]: 22: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 12:04:21,190 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6215#true} {6268#(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; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:21,190 INFO L272 TraceCheckUtils]: 24: Hoare triple {6268#(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)); {6215#true} is VALID [2022-04-28 12:04:21,190 INFO L290 TraceCheckUtils]: 25: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 12:04:21,190 INFO L290 TraceCheckUtils]: 26: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 12:04:21,190 INFO L290 TraceCheckUtils]: 27: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 12:04:21,191 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6215#true} {6268#(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; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:21,191 INFO L272 TraceCheckUtils]: 29: Hoare triple {6268#(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)); {6215#true} is VALID [2022-04-28 12:04:21,191 INFO L290 TraceCheckUtils]: 30: Hoare triple {6215#true} ~cond := #in~cond; {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:04:21,191 INFO L290 TraceCheckUtils]: 31: Hoare triple {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:04:21,192 INFO L290 TraceCheckUtils]: 32: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:04:21,192 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6268#(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; {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:21,193 INFO L290 TraceCheckUtils]: 34: Hoare triple {6268#(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); {6268#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:04:21,194 INFO L290 TraceCheckUtils]: 35: Hoare triple {6268#(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; {6328#(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-28 12:04:21,194 INFO L290 TraceCheckUtils]: 36: Hoare triple {6328#(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; {6328#(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-28 12:04:21,195 INFO L290 TraceCheckUtils]: 37: Hoare triple {6328#(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 < 100);havoc #t~post6; {6328#(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-28 12:04:21,195 INFO L272 TraceCheckUtils]: 38: Hoare triple {6328#(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)); {6215#true} is VALID [2022-04-28 12:04:21,195 INFO L290 TraceCheckUtils]: 39: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 12:04:21,195 INFO L290 TraceCheckUtils]: 40: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 12:04:21,195 INFO L290 TraceCheckUtils]: 41: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 12:04:21,196 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6215#true} {6328#(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; {6328#(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-28 12:04:21,196 INFO L272 TraceCheckUtils]: 43: Hoare triple {6328#(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)); {6215#true} is VALID [2022-04-28 12:04:21,196 INFO L290 TraceCheckUtils]: 44: Hoare triple {6215#true} ~cond := #in~cond; {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:04:21,196 INFO L290 TraceCheckUtils]: 45: Hoare triple {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:04:21,197 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:04:21,197 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6328#(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; {6365#(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-28 12:04:21,198 INFO L272 TraceCheckUtils]: 48: Hoare triple {6365#(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)); {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:04:21,199 INFO L290 TraceCheckUtils]: 49: Hoare triple {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6373#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:04:21,199 INFO L290 TraceCheckUtils]: 50: Hoare triple {6373#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6216#false} is VALID [2022-04-28 12:04:21,199 INFO L290 TraceCheckUtils]: 51: Hoare triple {6216#false} assume !false; {6216#false} is VALID [2022-04-28 12:04:21,199 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-28 12:04:21,199 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:05:19,458 INFO L290 TraceCheckUtils]: 51: Hoare triple {6216#false} assume !false; {6216#false} is VALID [2022-04-28 12:05:19,459 INFO L290 TraceCheckUtils]: 50: Hoare triple {6373#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6216#false} is VALID [2022-04-28 12:05:19,460 INFO L290 TraceCheckUtils]: 49: Hoare triple {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6373#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:05:19,461 INFO L272 TraceCheckUtils]: 48: Hoare triple {6389#(= 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)); {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:05:19,462 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6393#(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; {6389#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:05:19,462 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:19,463 INFO L290 TraceCheckUtils]: 45: Hoare triple {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:19,463 INFO L290 TraceCheckUtils]: 44: Hoare triple {6215#true} ~cond := #in~cond; {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:05:19,463 INFO L272 TraceCheckUtils]: 43: Hoare triple {6393#(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)); {6215#true} is VALID [2022-04-28 12:05:19,464 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6215#true} {6393#(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; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:05:19,464 INFO L290 TraceCheckUtils]: 41: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 12:05:19,464 INFO L290 TraceCheckUtils]: 40: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 12:05:19,464 INFO L290 TraceCheckUtils]: 39: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 12:05:19,464 INFO L272 TraceCheckUtils]: 38: Hoare triple {6393#(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)); {6215#true} is VALID [2022-04-28 12:05:19,465 INFO L290 TraceCheckUtils]: 37: Hoare triple {6393#(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 < 100);havoc #t~post6; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:05:19,465 INFO L290 TraceCheckUtils]: 36: Hoare triple {6393#(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; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:05:19,860 INFO L290 TraceCheckUtils]: 35: Hoare triple {6393#(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; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:05:19,861 INFO L290 TraceCheckUtils]: 34: Hoare triple {6393#(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); {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:05:19,862 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6215#true} #72#return; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:05:19,862 INFO L290 TraceCheckUtils]: 32: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:19,862 INFO L290 TraceCheckUtils]: 31: Hoare triple {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:19,863 INFO L290 TraceCheckUtils]: 30: Hoare triple {6215#true} ~cond := #in~cond; {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:05:19,863 INFO L272 TraceCheckUtils]: 29: Hoare triple {6215#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6215#true} is VALID [2022-04-28 12:05:19,863 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6215#true} {6215#true} #70#return; {6215#true} is VALID [2022-04-28 12:05:19,863 INFO L290 TraceCheckUtils]: 27: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 12:05:19,863 INFO L290 TraceCheckUtils]: 26: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 12:05:19,863 INFO L290 TraceCheckUtils]: 25: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 12:05:19,863 INFO L272 TraceCheckUtils]: 24: Hoare triple {6215#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6215#true} is VALID [2022-04-28 12:05:19,863 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6215#true} {6215#true} #68#return; {6215#true} is VALID [2022-04-28 12:05:19,863 INFO L290 TraceCheckUtils]: 22: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 12:05:19,864 INFO L290 TraceCheckUtils]: 21: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 12:05:19,864 INFO L290 TraceCheckUtils]: 20: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 12:05:19,864 INFO L272 TraceCheckUtils]: 19: Hoare triple {6215#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6215#true} is VALID [2022-04-28 12:05:19,864 INFO L290 TraceCheckUtils]: 18: Hoare triple {6215#true} assume !!(#t~post6 < 100);havoc #t~post6; {6215#true} is VALID [2022-04-28 12:05:19,864 INFO L290 TraceCheckUtils]: 17: Hoare triple {6215#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6215#true} is VALID [2022-04-28 12:05:19,864 INFO L290 TraceCheckUtils]: 16: Hoare triple {6215#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6215#true} is VALID [2022-04-28 12:05:19,864 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6215#true} {6215#true} #66#return; {6215#true} is VALID [2022-04-28 12:05:19,864 INFO L290 TraceCheckUtils]: 14: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 12:05:19,864 INFO L290 TraceCheckUtils]: 13: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 12:05:19,864 INFO L290 TraceCheckUtils]: 12: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 12:05:19,864 INFO L272 TraceCheckUtils]: 11: Hoare triple {6215#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-28 12:05:19,865 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6215#true} {6215#true} #64#return; {6215#true} is VALID [2022-04-28 12:05:19,865 INFO L290 TraceCheckUtils]: 9: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 12:05:19,865 INFO L290 TraceCheckUtils]: 8: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-28 12:05:19,865 INFO L290 TraceCheckUtils]: 7: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-28 12:05:19,865 INFO L272 TraceCheckUtils]: 6: Hoare triple {6215#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-28 12:05:19,865 INFO L290 TraceCheckUtils]: 5: Hoare triple {6215#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; {6215#true} is VALID [2022-04-28 12:05:19,865 INFO L272 TraceCheckUtils]: 4: Hoare triple {6215#true} call #t~ret7 := main(); {6215#true} is VALID [2022-04-28 12:05:19,865 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6215#true} {6215#true} #82#return; {6215#true} is VALID [2022-04-28 12:05:19,865 INFO L290 TraceCheckUtils]: 2: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-28 12:05:19,865 INFO L290 TraceCheckUtils]: 1: Hoare triple {6215#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; {6215#true} is VALID [2022-04-28 12:05:19,865 INFO L272 TraceCheckUtils]: 0: Hoare triple {6215#true} call ULTIMATE.init(); {6215#true} is VALID [2022-04-28 12:05:19,866 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-28 12:05:19,866 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:05:19,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [810597753] [2022-04-28 12:05:19,866 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:05:19,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1792259486] [2022-04-28 12:05:19,866 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1792259486] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:05:19,866 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:05:19,866 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-28 12:05:19,867 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:05:19,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1449460047] [2022-04-28 12:05:19,867 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1449460047] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:05:19,867 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:05:19,867 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:05:19,867 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [779708523] [2022-04-28 12:05:19,867 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:05:19,870 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-28 12:05:19,871 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:05:19,872 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-28 12:05:19,940 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:05:19,941 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:05:19,941 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:05:19,941 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:05:19,941 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=99, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:05:19,941 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-28 12:05:21,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:05:21,443 INFO L93 Difference]: Finished difference Result 160 states and 210 transitions. [2022-04-28 12:05:21,444 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:05:21,444 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-28 12:05:21,444 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:05:21,444 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-28 12:05:21,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-28 12:05:21,446 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-28 12:05:21,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-28 12:05:21,450 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 94 transitions. [2022-04-28 12:05:21,567 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:05:21,571 INFO L225 Difference]: With dead ends: 160 [2022-04-28 12:05:21,571 INFO L226 Difference]: Without dead ends: 153 [2022-04-28 12:05:21,572 INFO L412 NwaCegarLoop]: 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-28 12:05:21,572 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 22 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 262 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 283 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 262 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 12:05:21,572 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 147 Invalid, 283 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 262 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 12:05:21,573 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2022-04-28 12:05:21,720 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 153. [2022-04-28 12:05:21,720 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:05:21,723 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-28 12:05:21,723 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-28 12:05:21,724 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-28 12:05:21,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:05:21,731 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-28 12:05:21,731 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-28 12:05:21,731 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:05:21,731 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:05:21,732 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-28 12:05:21,732 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-28 12:05:21,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:05:21,736 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-28 12:05:21,736 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-28 12:05:21,737 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:05:21,737 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:05:21,737 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:05:21,737 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:05:21,737 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-28 12:05:21,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 198 transitions. [2022-04-28 12:05:21,758 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 198 transitions. Word has length 52 [2022-04-28 12:05:21,758 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:05:21,758 INFO L495 AbstractCegarLoop]: Abstraction has 153 states and 198 transitions. [2022-04-28 12:05:21,758 INFO L496 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-28 12:05:21,758 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 198 transitions. [2022-04-28 12:05:22,036 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 198 edges. 198 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:05:22,036 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-28 12:05:22,037 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 12:05:22,037 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:05:22,037 INFO L195 NwaCegarLoop]: 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-28 12:05:22,065 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 12:05:22,237 WARN L477 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-28 12:05:22,238 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:05:22,238 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:05:22,238 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 3 times [2022-04-28 12:05:22,238 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:05:22,238 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [685045266] [2022-04-28 12:05:22,239 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:05:22,239 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 4 times [2022-04-28 12:05:22,239 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:05:22,239 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1842449050] [2022-04-28 12:05:22,239 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:05:22,239 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:05:22,252 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:05:22,253 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2071704725] [2022-04-28 12:05:22,253 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:05:22,253 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:05:22,253 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:05:22,267 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:05:22,272 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 12:05:22,324 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:05:22,324 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:05:22,327 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:05:22,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:05:22,344 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:05:22,727 INFO L272 TraceCheckUtils]: 0: Hoare triple {7474#true} call ULTIMATE.init(); {7474#true} is VALID [2022-04-28 12:05:22,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {7474#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; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,728 INFO L290 TraceCheckUtils]: 2: Hoare triple {7482#(<= ~counter~0 0)} assume true; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,729 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7482#(<= ~counter~0 0)} {7474#true} #82#return; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,729 INFO L272 TraceCheckUtils]: 4: Hoare triple {7482#(<= ~counter~0 0)} call #t~ret7 := main(); {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,729 INFO L290 TraceCheckUtils]: 5: Hoare triple {7482#(<= ~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; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,730 INFO L272 TraceCheckUtils]: 6: Hoare triple {7482#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,730 INFO L290 TraceCheckUtils]: 7: Hoare triple {7482#(<= ~counter~0 0)} ~cond := #in~cond; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,731 INFO L290 TraceCheckUtils]: 8: Hoare triple {7482#(<= ~counter~0 0)} assume !(0 == ~cond); {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,731 INFO L290 TraceCheckUtils]: 9: Hoare triple {7482#(<= ~counter~0 0)} assume true; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,747 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7482#(<= ~counter~0 0)} {7482#(<= ~counter~0 0)} #64#return; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,748 INFO L272 TraceCheckUtils]: 11: Hoare triple {7482#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,748 INFO L290 TraceCheckUtils]: 12: Hoare triple {7482#(<= ~counter~0 0)} ~cond := #in~cond; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,749 INFO L290 TraceCheckUtils]: 13: Hoare triple {7482#(<= ~counter~0 0)} assume !(0 == ~cond); {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,749 INFO L290 TraceCheckUtils]: 14: Hoare triple {7482#(<= ~counter~0 0)} assume true; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,749 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7482#(<= ~counter~0 0)} {7482#(<= ~counter~0 0)} #66#return; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,750 INFO L290 TraceCheckUtils]: 16: Hoare triple {7482#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7482#(<= ~counter~0 0)} is VALID [2022-04-28 12:05:22,751 INFO L290 TraceCheckUtils]: 17: Hoare triple {7482#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,751 INFO L290 TraceCheckUtils]: 18: Hoare triple {7531#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,751 INFO L272 TraceCheckUtils]: 19: Hoare triple {7531#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,752 INFO L290 TraceCheckUtils]: 20: Hoare triple {7531#(<= ~counter~0 1)} ~cond := #in~cond; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,752 INFO L290 TraceCheckUtils]: 21: Hoare triple {7531#(<= ~counter~0 1)} assume !(0 == ~cond); {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,752 INFO L290 TraceCheckUtils]: 22: Hoare triple {7531#(<= ~counter~0 1)} assume true; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,753 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7531#(<= ~counter~0 1)} {7531#(<= ~counter~0 1)} #68#return; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,754 INFO L272 TraceCheckUtils]: 24: Hoare triple {7531#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,754 INFO L290 TraceCheckUtils]: 25: Hoare triple {7531#(<= ~counter~0 1)} ~cond := #in~cond; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,754 INFO L290 TraceCheckUtils]: 26: Hoare triple {7531#(<= ~counter~0 1)} assume !(0 == ~cond); {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,755 INFO L290 TraceCheckUtils]: 27: Hoare triple {7531#(<= ~counter~0 1)} assume true; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,755 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7531#(<= ~counter~0 1)} {7531#(<= ~counter~0 1)} #70#return; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,756 INFO L272 TraceCheckUtils]: 29: Hoare triple {7531#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,756 INFO L290 TraceCheckUtils]: 30: Hoare triple {7531#(<= ~counter~0 1)} ~cond := #in~cond; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,757 INFO L290 TraceCheckUtils]: 31: Hoare triple {7531#(<= ~counter~0 1)} assume !(0 == ~cond); {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,757 INFO L290 TraceCheckUtils]: 32: Hoare triple {7531#(<= ~counter~0 1)} assume true; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,764 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7531#(<= ~counter~0 1)} {7531#(<= ~counter~0 1)} #72#return; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,765 INFO L290 TraceCheckUtils]: 34: Hoare triple {7531#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,765 INFO L290 TraceCheckUtils]: 35: Hoare triple {7531#(<= ~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; {7531#(<= ~counter~0 1)} is VALID [2022-04-28 12:05:22,766 INFO L290 TraceCheckUtils]: 36: Hoare triple {7531#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,766 INFO L290 TraceCheckUtils]: 37: Hoare triple {7589#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,767 INFO L272 TraceCheckUtils]: 38: Hoare triple {7589#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,767 INFO L290 TraceCheckUtils]: 39: Hoare triple {7589#(<= ~counter~0 2)} ~cond := #in~cond; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,768 INFO L290 TraceCheckUtils]: 40: Hoare triple {7589#(<= ~counter~0 2)} assume !(0 == ~cond); {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,768 INFO L290 TraceCheckUtils]: 41: Hoare triple {7589#(<= ~counter~0 2)} assume true; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,769 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7589#(<= ~counter~0 2)} {7589#(<= ~counter~0 2)} #68#return; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,769 INFO L272 TraceCheckUtils]: 43: Hoare triple {7589#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,770 INFO L290 TraceCheckUtils]: 44: Hoare triple {7589#(<= ~counter~0 2)} ~cond := #in~cond; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,770 INFO L290 TraceCheckUtils]: 45: Hoare triple {7589#(<= ~counter~0 2)} assume !(0 == ~cond); {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,770 INFO L290 TraceCheckUtils]: 46: Hoare triple {7589#(<= ~counter~0 2)} assume true; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,771 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7589#(<= ~counter~0 2)} {7589#(<= ~counter~0 2)} #70#return; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,771 INFO L272 TraceCheckUtils]: 48: Hoare triple {7589#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,772 INFO L290 TraceCheckUtils]: 49: Hoare triple {7589#(<= ~counter~0 2)} ~cond := #in~cond; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,772 INFO L290 TraceCheckUtils]: 50: Hoare triple {7589#(<= ~counter~0 2)} assume !(0 == ~cond); {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,772 INFO L290 TraceCheckUtils]: 51: Hoare triple {7589#(<= ~counter~0 2)} assume true; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,773 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7589#(<= ~counter~0 2)} {7589#(<= ~counter~0 2)} #72#return; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,773 INFO L290 TraceCheckUtils]: 53: Hoare triple {7589#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,774 INFO L290 TraceCheckUtils]: 54: Hoare triple {7589#(<= ~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; {7589#(<= ~counter~0 2)} is VALID [2022-04-28 12:05:22,775 INFO L290 TraceCheckUtils]: 55: Hoare triple {7589#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7647#(<= |main_#t~post6| 2)} is VALID [2022-04-28 12:05:22,775 INFO L290 TraceCheckUtils]: 56: Hoare triple {7647#(<= |main_#t~post6| 2)} assume !(#t~post6 < 100);havoc #t~post6; {7475#false} is VALID [2022-04-28 12:05:22,775 INFO L272 TraceCheckUtils]: 57: Hoare triple {7475#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {7475#false} is VALID [2022-04-28 12:05:22,775 INFO L290 TraceCheckUtils]: 58: Hoare triple {7475#false} ~cond := #in~cond; {7475#false} is VALID [2022-04-28 12:05:22,775 INFO L290 TraceCheckUtils]: 59: Hoare triple {7475#false} assume 0 == ~cond; {7475#false} is VALID [2022-04-28 12:05:22,776 INFO L290 TraceCheckUtils]: 60: Hoare triple {7475#false} assume !false; {7475#false} is VALID [2022-04-28 12:05:22,776 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-28 12:05:22,776 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:05:23,117 INFO L290 TraceCheckUtils]: 60: Hoare triple {7475#false} assume !false; {7475#false} is VALID [2022-04-28 12:05:23,119 INFO L290 TraceCheckUtils]: 59: Hoare triple {7475#false} assume 0 == ~cond; {7475#false} is VALID [2022-04-28 12:05:23,119 INFO L290 TraceCheckUtils]: 58: Hoare triple {7475#false} ~cond := #in~cond; {7475#false} is VALID [2022-04-28 12:05:23,119 INFO L272 TraceCheckUtils]: 57: Hoare triple {7475#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {7475#false} is VALID [2022-04-28 12:05:23,119 INFO L290 TraceCheckUtils]: 56: Hoare triple {7675#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {7475#false} is VALID [2022-04-28 12:05:23,120 INFO L290 TraceCheckUtils]: 55: Hoare triple {7679#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7675#(< |main_#t~post6| 100)} is VALID [2022-04-28 12:05:23,120 INFO L290 TraceCheckUtils]: 54: Hoare triple {7679#(< ~counter~0 100)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7679#(< ~counter~0 100)} is VALID [2022-04-28 12:05:23,120 INFO L290 TraceCheckUtils]: 53: Hoare triple {7679#(< ~counter~0 100)} assume !!(~a~0 != ~b~0); {7679#(< ~counter~0 100)} is VALID [2022-04-28 12:05:23,121 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7474#true} {7679#(< ~counter~0 100)} #72#return; {7679#(< ~counter~0 100)} is VALID [2022-04-28 12:05:23,121 INFO L290 TraceCheckUtils]: 51: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 12:05:23,121 INFO L290 TraceCheckUtils]: 50: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 12:05:23,121 INFO L290 TraceCheckUtils]: 49: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 12:05:23,121 INFO L272 TraceCheckUtils]: 48: Hoare triple {7679#(< ~counter~0 100)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7474#true} is VALID [2022-04-28 12:05:23,122 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7474#true} {7679#(< ~counter~0 100)} #70#return; {7679#(< ~counter~0 100)} is VALID [2022-04-28 12:05:23,122 INFO L290 TraceCheckUtils]: 46: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 12:05:23,122 INFO L290 TraceCheckUtils]: 45: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 12:05:23,122 INFO L290 TraceCheckUtils]: 44: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 12:05:23,122 INFO L272 TraceCheckUtils]: 43: Hoare triple {7679#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7474#true} is VALID [2022-04-28 12:05:23,123 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7474#true} {7679#(< ~counter~0 100)} #68#return; {7679#(< ~counter~0 100)} is VALID [2022-04-28 12:05:23,123 INFO L290 TraceCheckUtils]: 41: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 12:05:23,123 INFO L290 TraceCheckUtils]: 40: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 12:05:23,123 INFO L290 TraceCheckUtils]: 39: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 12:05:23,123 INFO L272 TraceCheckUtils]: 38: Hoare triple {7679#(< ~counter~0 100)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7474#true} is VALID [2022-04-28 12:05:23,124 INFO L290 TraceCheckUtils]: 37: Hoare triple {7679#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {7679#(< ~counter~0 100)} is VALID [2022-04-28 12:05:23,124 INFO L290 TraceCheckUtils]: 36: Hoare triple {7737#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7679#(< ~counter~0 100)} is VALID [2022-04-28 12:05:23,125 INFO L290 TraceCheckUtils]: 35: Hoare triple {7737#(< ~counter~0 99)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7737#(< ~counter~0 99)} is VALID [2022-04-28 12:05:23,125 INFO L290 TraceCheckUtils]: 34: Hoare triple {7737#(< ~counter~0 99)} assume !!(~a~0 != ~b~0); {7737#(< ~counter~0 99)} is VALID [2022-04-28 12:05:23,126 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7474#true} {7737#(< ~counter~0 99)} #72#return; {7737#(< ~counter~0 99)} is VALID [2022-04-28 12:05:23,126 INFO L290 TraceCheckUtils]: 32: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 12:05:23,126 INFO L290 TraceCheckUtils]: 31: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 12:05:23,126 INFO L290 TraceCheckUtils]: 30: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 12:05:23,126 INFO L272 TraceCheckUtils]: 29: Hoare triple {7737#(< ~counter~0 99)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7474#true} is VALID [2022-04-28 12:05:23,127 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7474#true} {7737#(< ~counter~0 99)} #70#return; {7737#(< ~counter~0 99)} is VALID [2022-04-28 12:05:23,127 INFO L290 TraceCheckUtils]: 27: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 12:05:23,127 INFO L290 TraceCheckUtils]: 26: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 12:05:23,127 INFO L290 TraceCheckUtils]: 25: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 12:05:23,127 INFO L272 TraceCheckUtils]: 24: Hoare triple {7737#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7474#true} is VALID [2022-04-28 12:05:23,128 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7474#true} {7737#(< ~counter~0 99)} #68#return; {7737#(< ~counter~0 99)} is VALID [2022-04-28 12:05:23,128 INFO L290 TraceCheckUtils]: 22: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 12:05:23,128 INFO L290 TraceCheckUtils]: 21: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 12:05:23,128 INFO L290 TraceCheckUtils]: 20: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 12:05:23,128 INFO L272 TraceCheckUtils]: 19: Hoare triple {7737#(< ~counter~0 99)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7474#true} is VALID [2022-04-28 12:05:23,128 INFO L290 TraceCheckUtils]: 18: Hoare triple {7737#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {7737#(< ~counter~0 99)} is VALID [2022-04-28 12:05:23,129 INFO L290 TraceCheckUtils]: 17: Hoare triple {7795#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7737#(< ~counter~0 99)} is VALID [2022-04-28 12:05:23,129 INFO L290 TraceCheckUtils]: 16: Hoare triple {7795#(< ~counter~0 98)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7795#(< ~counter~0 98)} is VALID [2022-04-28 12:05:23,130 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7474#true} {7795#(< ~counter~0 98)} #66#return; {7795#(< ~counter~0 98)} is VALID [2022-04-28 12:05:23,130 INFO L290 TraceCheckUtils]: 14: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 12:05:23,130 INFO L290 TraceCheckUtils]: 13: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 12:05:23,130 INFO L290 TraceCheckUtils]: 12: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 12:05:23,130 INFO L272 TraceCheckUtils]: 11: Hoare triple {7795#(< ~counter~0 98)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7474#true} is VALID [2022-04-28 12:05:23,131 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7474#true} {7795#(< ~counter~0 98)} #64#return; {7795#(< ~counter~0 98)} is VALID [2022-04-28 12:05:23,131 INFO L290 TraceCheckUtils]: 9: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-28 12:05:23,131 INFO L290 TraceCheckUtils]: 8: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-28 12:05:23,131 INFO L290 TraceCheckUtils]: 7: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-28 12:05:23,131 INFO L272 TraceCheckUtils]: 6: Hoare triple {7795#(< ~counter~0 98)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7474#true} is VALID [2022-04-28 12:05:23,131 INFO L290 TraceCheckUtils]: 5: Hoare triple {7795#(< ~counter~0 98)} 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; {7795#(< ~counter~0 98)} is VALID [2022-04-28 12:05:23,132 INFO L272 TraceCheckUtils]: 4: Hoare triple {7795#(< ~counter~0 98)} call #t~ret7 := main(); {7795#(< ~counter~0 98)} is VALID [2022-04-28 12:05:23,132 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7795#(< ~counter~0 98)} {7474#true} #82#return; {7795#(< ~counter~0 98)} is VALID [2022-04-28 12:05:23,132 INFO L290 TraceCheckUtils]: 2: Hoare triple {7795#(< ~counter~0 98)} assume true; {7795#(< ~counter~0 98)} is VALID [2022-04-28 12:05:23,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {7474#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; {7795#(< ~counter~0 98)} is VALID [2022-04-28 12:05:23,133 INFO L272 TraceCheckUtils]: 0: Hoare triple {7474#true} call ULTIMATE.init(); {7474#true} is VALID [2022-04-28 12:05:23,133 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-28 12:05:23,133 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:05:23,133 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1842449050] [2022-04-28 12:05:23,133 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:05:23,133 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2071704725] [2022-04-28 12:05:23,134 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2071704725] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:05:23,134 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:05:23,134 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 12:05:23,134 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:05:23,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [685045266] [2022-04-28 12:05:23,134 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [685045266] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:05:23,134 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:05:23,134 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:05:23,134 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [742486269] [2022-04-28 12:05:23,134 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:05:23,135 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-28 12:05:23,135 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:05:23,135 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-28 12:05:23,175 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:05:23,175 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:05:23,175 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:05:23,177 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:05:23,177 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:05:23,177 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-28 12:05:23,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:05:23,501 INFO L93 Difference]: Finished difference Result 199 states and 251 transitions. [2022-04-28 12:05:23,501 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:05:23,501 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-28 12:05:23,501 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:05:23,502 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-28 12:05:23,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-28 12:05:23,520 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-28 12:05:23,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-28 12:05:23,522 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-28 12:05:23,609 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:05:23,612 INFO L225 Difference]: With dead ends: 199 [2022-04-28 12:05:23,613 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 12:05:23,613 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 113 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:05:23,614 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 15 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 26 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 26 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:05:23,614 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 121 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 26 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:05:23,614 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 12:05:23,760 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 173. [2022-04-28 12:05:23,761 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:05:23,766 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-28 12:05:23,767 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-28 12:05:23,769 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-28 12:05:23,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:05:23,799 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-28 12:05:23,799 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-28 12:05:23,800 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:05:23,800 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:05:23,800 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-28 12:05:23,801 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-28 12:05:23,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:05:23,806 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-28 12:05:23,806 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-28 12:05:23,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:05:23,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:05:23,807 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:05:23,807 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:05:23,827 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-28 12:05:23,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 215 transitions. [2022-04-28 12:05:23,833 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 215 transitions. Word has length 61 [2022-04-28 12:05:23,834 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:05:23,834 INFO L495 AbstractCegarLoop]: Abstraction has 173 states and 215 transitions. [2022-04-28 12:05:23,834 INFO L496 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-28 12:05:23,834 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 173 states and 215 transitions. [2022-04-28 12:05:24,109 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-28 12:05:24,109 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-28 12:05:24,110 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 12:05:24,110 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:05:24,110 INFO L195 NwaCegarLoop]: 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-28 12:05:24,138 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 12:05:24,311 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 12:05:24,311 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:05:24,311 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:05:24,311 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 1 times [2022-04-28 12:05:24,311 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:05:24,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [148156545] [2022-04-28 12:05:24,312 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:05:24,312 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 2 times [2022-04-28 12:05:24,312 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:05:24,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1630196676] [2022-04-28 12:05:24,312 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:05:24,312 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:05:24,331 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:05:24,331 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1847499800] [2022-04-28 12:05:24,331 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:05:24,331 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:05:24,341 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:05:24,343 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:05:24,344 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 12:05:24,442 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:05:24,442 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:05:24,444 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 12:05:24,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:05:24,462 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:05:24,928 INFO L272 TraceCheckUtils]: 0: Hoare triple {8943#true} call ULTIMATE.init(); {8943#true} is VALID [2022-04-28 12:05:24,928 INFO L290 TraceCheckUtils]: 1: Hoare triple {8943#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; {8943#true} is VALID [2022-04-28 12:05:24,929 INFO L290 TraceCheckUtils]: 2: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:24,929 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8943#true} {8943#true} #82#return; {8943#true} is VALID [2022-04-28 12:05:24,929 INFO L272 TraceCheckUtils]: 4: Hoare triple {8943#true} call #t~ret7 := main(); {8943#true} is VALID [2022-04-28 12:05:24,929 INFO L290 TraceCheckUtils]: 5: Hoare triple {8943#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; {8943#true} is VALID [2022-04-28 12:05:24,929 INFO L272 TraceCheckUtils]: 6: Hoare triple {8943#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-28 12:05:24,929 INFO L290 TraceCheckUtils]: 7: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:24,929 INFO L290 TraceCheckUtils]: 8: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:24,929 INFO L290 TraceCheckUtils]: 9: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:24,929 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8943#true} {8943#true} #64#return; {8943#true} is VALID [2022-04-28 12:05:24,929 INFO L272 TraceCheckUtils]: 11: Hoare triple {8943#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-28 12:05:24,929 INFO L290 TraceCheckUtils]: 12: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:24,929 INFO L290 TraceCheckUtils]: 13: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:24,930 INFO L290 TraceCheckUtils]: 14: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:24,930 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8943#true} {8943#true} #66#return; {8943#true} is VALID [2022-04-28 12:05:24,930 INFO L290 TraceCheckUtils]: 16: Hoare triple {8943#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:24,931 INFO L290 TraceCheckUtils]: 17: Hoare triple {8996#(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; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:24,931 INFO L290 TraceCheckUtils]: 18: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:24,931 INFO L272 TraceCheckUtils]: 19: Hoare triple {8996#(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)); {8943#true} is VALID [2022-04-28 12:05:24,931 INFO L290 TraceCheckUtils]: 20: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:24,933 INFO L290 TraceCheckUtils]: 21: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:24,933 INFO L290 TraceCheckUtils]: 22: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:24,933 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8943#true} {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #68#return; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:24,933 INFO L272 TraceCheckUtils]: 24: Hoare triple {8996#(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)); {8943#true} is VALID [2022-04-28 12:05:24,933 INFO L290 TraceCheckUtils]: 25: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:24,934 INFO L290 TraceCheckUtils]: 26: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:24,934 INFO L290 TraceCheckUtils]: 27: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:24,934 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8943#true} {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #70#return; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:24,934 INFO L272 TraceCheckUtils]: 29: Hoare triple {8996#(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)); {8943#true} is VALID [2022-04-28 12:05:24,934 INFO L290 TraceCheckUtils]: 30: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:24,935 INFO L290 TraceCheckUtils]: 31: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:24,935 INFO L290 TraceCheckUtils]: 32: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:24,935 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8943#true} {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #72#return; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:24,936 INFO L290 TraceCheckUtils]: 34: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:24,936 INFO L290 TraceCheckUtils]: 35: Hoare triple {8996#(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; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:05:24,937 INFO L290 TraceCheckUtils]: 36: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:05:24,937 INFO L290 TraceCheckUtils]: 37: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:05:24,937 INFO L272 TraceCheckUtils]: 38: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= 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)); {8943#true} is VALID [2022-04-28 12:05:24,937 INFO L290 TraceCheckUtils]: 39: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:24,938 INFO L290 TraceCheckUtils]: 40: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:24,938 INFO L290 TraceCheckUtils]: 41: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:24,947 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8943#true} {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #68#return; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:05:24,948 INFO L272 TraceCheckUtils]: 43: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= 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)); {8943#true} is VALID [2022-04-28 12:05:24,948 INFO L290 TraceCheckUtils]: 44: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:24,948 INFO L290 TraceCheckUtils]: 45: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:24,948 INFO L290 TraceCheckUtils]: 46: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:24,949 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8943#true} {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #70#return; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:05:24,949 INFO L272 TraceCheckUtils]: 48: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= 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)); {8943#true} is VALID [2022-04-28 12:05:24,949 INFO L290 TraceCheckUtils]: 49: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:24,949 INFO L290 TraceCheckUtils]: 50: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:24,949 INFO L290 TraceCheckUtils]: 51: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:24,950 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8943#true} {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #72#return; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:05:24,950 INFO L290 TraceCheckUtils]: 53: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:05:24,959 INFO L290 TraceCheckUtils]: 54: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= 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; {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} is VALID [2022-04-28 12:05:24,960 INFO L290 TraceCheckUtils]: 55: Hoare triple {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} is VALID [2022-04-28 12:05:24,961 INFO L290 TraceCheckUtils]: 56: Hoare triple {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} is VALID [2022-04-28 12:05:24,961 INFO L272 TraceCheckUtils]: 57: Hoare triple {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:05:24,962 INFO L290 TraceCheckUtils]: 58: Hoare triple {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9126#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:05:24,962 INFO L290 TraceCheckUtils]: 59: Hoare triple {9126#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8944#false} is VALID [2022-04-28 12:05:24,962 INFO L290 TraceCheckUtils]: 60: Hoare triple {8944#false} assume !false; {8944#false} is VALID [2022-04-28 12:05:24,963 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-28 12:05:24,963 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:05:25,228 INFO L290 TraceCheckUtils]: 60: Hoare triple {8944#false} assume !false; {8944#false} is VALID [2022-04-28 12:05:25,228 INFO L290 TraceCheckUtils]: 59: Hoare triple {9126#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8944#false} is VALID [2022-04-28 12:05:25,229 INFO L290 TraceCheckUtils]: 58: Hoare triple {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9126#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:05:25,229 INFO L272 TraceCheckUtils]: 57: Hoare triple {9142#(= (* 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)); {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:05:25,230 INFO L290 TraceCheckUtils]: 56: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 100);havoc #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,230 INFO L290 TraceCheckUtils]: 55: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,232 INFO L290 TraceCheckUtils]: 54: Hoare triple {9142#(= (* 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; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,233 INFO L290 TraceCheckUtils]: 53: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,233 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,234 INFO L290 TraceCheckUtils]: 51: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:25,234 INFO L290 TraceCheckUtils]: 50: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:25,234 INFO L290 TraceCheckUtils]: 49: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:25,234 INFO L272 TraceCheckUtils]: 48: Hoare triple {9142#(= (* 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)); {8943#true} is VALID [2022-04-28 12:05:25,235 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,235 INFO L290 TraceCheckUtils]: 46: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:25,235 INFO L290 TraceCheckUtils]: 45: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:25,235 INFO L290 TraceCheckUtils]: 44: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:25,235 INFO L272 TraceCheckUtils]: 43: Hoare triple {9142#(= (* 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)); {8943#true} is VALID [2022-04-28 12:05:25,244 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,244 INFO L290 TraceCheckUtils]: 41: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:25,244 INFO L290 TraceCheckUtils]: 40: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:25,244 INFO L290 TraceCheckUtils]: 39: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:25,244 INFO L272 TraceCheckUtils]: 38: Hoare triple {9142#(= (* 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)); {8943#true} is VALID [2022-04-28 12:05:25,245 INFO L290 TraceCheckUtils]: 37: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 100);havoc #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,245 INFO L290 TraceCheckUtils]: 36: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,248 INFO L290 TraceCheckUtils]: 35: Hoare triple {9142#(= (* 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; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,249 INFO L290 TraceCheckUtils]: 34: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,250 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,250 INFO L290 TraceCheckUtils]: 32: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:25,250 INFO L290 TraceCheckUtils]: 31: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:25,250 INFO L290 TraceCheckUtils]: 30: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:25,250 INFO L272 TraceCheckUtils]: 29: Hoare triple {9142#(= (* 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)); {8943#true} is VALID [2022-04-28 12:05:25,251 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,251 INFO L290 TraceCheckUtils]: 27: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:25,251 INFO L290 TraceCheckUtils]: 26: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:25,251 INFO L290 TraceCheckUtils]: 25: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:25,251 INFO L272 TraceCheckUtils]: 24: Hoare triple {9142#(= (* 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)); {8943#true} is VALID [2022-04-28 12:05:25,252 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,252 INFO L290 TraceCheckUtils]: 22: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:25,252 INFO L290 TraceCheckUtils]: 21: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:25,252 INFO L290 TraceCheckUtils]: 20: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:25,252 INFO L272 TraceCheckUtils]: 19: Hoare triple {9142#(= (* 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)); {8943#true} is VALID [2022-04-28 12:05:25,253 INFO L290 TraceCheckUtils]: 18: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 100);havoc #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,253 INFO L290 TraceCheckUtils]: 17: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,254 INFO L290 TraceCheckUtils]: 16: Hoare triple {8943#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:05:25,254 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8943#true} {8943#true} #66#return; {8943#true} is VALID [2022-04-28 12:05:25,254 INFO L290 TraceCheckUtils]: 14: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:25,254 INFO L290 TraceCheckUtils]: 13: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:25,254 INFO L290 TraceCheckUtils]: 12: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:25,254 INFO L272 TraceCheckUtils]: 11: Hoare triple {8943#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-28 12:05:25,254 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8943#true} {8943#true} #64#return; {8943#true} is VALID [2022-04-28 12:05:25,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:25,254 INFO L290 TraceCheckUtils]: 8: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-28 12:05:25,255 INFO L290 TraceCheckUtils]: 7: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-28 12:05:25,255 INFO L272 TraceCheckUtils]: 6: Hoare triple {8943#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-28 12:05:25,255 INFO L290 TraceCheckUtils]: 5: Hoare triple {8943#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; {8943#true} is VALID [2022-04-28 12:05:25,255 INFO L272 TraceCheckUtils]: 4: Hoare triple {8943#true} call #t~ret7 := main(); {8943#true} is VALID [2022-04-28 12:05:25,255 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8943#true} {8943#true} #82#return; {8943#true} is VALID [2022-04-28 12:05:25,255 INFO L290 TraceCheckUtils]: 2: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-28 12:05:25,255 INFO L290 TraceCheckUtils]: 1: Hoare triple {8943#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; {8943#true} is VALID [2022-04-28 12:05:25,255 INFO L272 TraceCheckUtils]: 0: Hoare triple {8943#true} call ULTIMATE.init(); {8943#true} is VALID [2022-04-28 12:05:25,255 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-28 12:05:25,256 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:05:25,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1630196676] [2022-04-28 12:05:25,256 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:05:25,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1847499800] [2022-04-28 12:05:25,256 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1847499800] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:05:25,256 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:05:25,256 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-28 12:05:25,256 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:05:25,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [148156545] [2022-04-28 12:05:25,257 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [148156545] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:05:25,257 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:05:25,257 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:05:25,257 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [956386156] [2022-04-28 12:05:25,257 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:05:25,257 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-28 12:05:25,257 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:05:25,258 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:05:25,292 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:05:25,292 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:05:25,292 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:05:25,293 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:05:25,293 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:05:25,294 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-28 12:05:25,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:05:25,552 INFO L93 Difference]: Finished difference Result 179 states and 220 transitions. [2022-04-28 12:05:25,552 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:05:25,552 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-28 12:05:25,552 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:05:25,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:05:25,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-28 12:05:25,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:05:25,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-28 12:05:25,554 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 44 transitions. [2022-04-28 12:05:25,590 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:05:25,593 INFO L225 Difference]: With dead ends: 179 [2022-04-28 12:05:25,593 INFO L226 Difference]: Without dead ends: 174 [2022-04-28 12:05:25,594 INFO L412 NwaCegarLoop]: 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-28 12:05:25,595 INFO L413 NwaCegarLoop]: 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-28 12:05:25,595 INFO L414 NwaCegarLoop]: 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-28 12:05:25,595 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-04-28 12:05:25,707 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 172. [2022-04-28 12:05:25,708 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:05:25,708 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-28 12:05:25,708 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-28 12:05:25,709 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-28 12:05:25,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:05:25,713 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-28 12:05:25,713 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-28 12:05:25,714 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:05:25,714 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:05:25,714 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-28 12:05:25,714 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-28 12:05:25,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:05:25,719 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-28 12:05:25,719 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-28 12:05:25,719 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:05:25,719 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:05:25,719 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:05:25,719 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:05:25,720 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-28 12:05:25,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 208 transitions. [2022-04-28 12:05:25,724 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 208 transitions. Word has length 61 [2022-04-28 12:05:25,724 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:05:25,724 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 208 transitions. [2022-04-28 12:05:25,724 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:05:25,725 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 208 transitions. [2022-04-28 12:05:26,028 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-28 12:05:26,029 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 208 transitions. [2022-04-28 12:05:26,029 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-28 12:05:26,029 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:05:26,029 INFO L195 NwaCegarLoop]: 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-28 12:05:26,056 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 12:05:26,230 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 12:05:26,230 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:05:26,231 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:05:26,231 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 5 times [2022-04-28 12:05:26,231 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:05:26,231 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1890785886] [2022-04-28 12:05:26,231 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:05:26,231 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 6 times [2022-04-28 12:05:26,231 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:05:26,231 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2122671274] [2022-04-28 12:05:26,231 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:05:26,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:05:26,253 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:05:26,253 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [103731824] [2022-04-28 12:05:26,253 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:05:26,253 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:05:26,253 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:05:26,264 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:05:26,274 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 12:05:26,346 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:05:26,346 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:05:26,348 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-28 12:05:26,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:05:26,370 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:05:26,840 INFO L272 TraceCheckUtils]: 0: Hoare triple {10368#true} call ULTIMATE.init(); {10368#true} is VALID [2022-04-28 12:05:26,840 INFO L290 TraceCheckUtils]: 1: Hoare triple {10368#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; {10368#true} is VALID [2022-04-28 12:05:26,840 INFO L290 TraceCheckUtils]: 2: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:05:26,840 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10368#true} {10368#true} #82#return; {10368#true} is VALID [2022-04-28 12:05:26,841 INFO L272 TraceCheckUtils]: 4: Hoare triple {10368#true} call #t~ret7 := main(); {10368#true} is VALID [2022-04-28 12:05:26,841 INFO L290 TraceCheckUtils]: 5: Hoare triple {10368#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; {10368#true} is VALID [2022-04-28 12:05:26,841 INFO L272 TraceCheckUtils]: 6: Hoare triple {10368#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-28 12:05:26,841 INFO L290 TraceCheckUtils]: 7: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:05:26,841 INFO L290 TraceCheckUtils]: 8: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:05:26,841 INFO L290 TraceCheckUtils]: 9: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:05:26,841 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10368#true} {10368#true} #64#return; {10368#true} is VALID [2022-04-28 12:05:26,841 INFO L272 TraceCheckUtils]: 11: Hoare triple {10368#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-28 12:05:26,841 INFO L290 TraceCheckUtils]: 12: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:05:26,841 INFO L290 TraceCheckUtils]: 13: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:05:26,841 INFO L290 TraceCheckUtils]: 14: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:05:26,841 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10368#true} {10368#true} #66#return; {10368#true} is VALID [2022-04-28 12:05:26,842 INFO L290 TraceCheckUtils]: 16: Hoare triple {10368#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:26,842 INFO L290 TraceCheckUtils]: 17: Hoare triple {10421#(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; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:26,842 INFO L290 TraceCheckUtils]: 18: Hoare triple {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:26,842 INFO L272 TraceCheckUtils]: 19: Hoare triple {10421#(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)); {10368#true} is VALID [2022-04-28 12:05:26,842 INFO L290 TraceCheckUtils]: 20: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:05:26,843 INFO L290 TraceCheckUtils]: 21: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:05:26,843 INFO L290 TraceCheckUtils]: 22: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:05:26,843 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10368#true} {10421#(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; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:26,843 INFO L272 TraceCheckUtils]: 24: Hoare triple {10421#(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)); {10368#true} is VALID [2022-04-28 12:05:26,843 INFO L290 TraceCheckUtils]: 25: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:05:26,843 INFO L290 TraceCheckUtils]: 26: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:05:26,843 INFO L290 TraceCheckUtils]: 27: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:05:26,844 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10368#true} {10421#(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; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:26,844 INFO L272 TraceCheckUtils]: 29: Hoare triple {10421#(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)); {10368#true} is VALID [2022-04-28 12:05:26,844 INFO L290 TraceCheckUtils]: 30: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:05:26,844 INFO L290 TraceCheckUtils]: 31: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:05:26,844 INFO L290 TraceCheckUtils]: 32: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:05:26,845 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10368#true} {10421#(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; {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:26,845 INFO L290 TraceCheckUtils]: 34: Hoare triple {10421#(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); {10421#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:05:26,846 INFO L290 TraceCheckUtils]: 35: Hoare triple {10421#(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; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~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-28 12:05:26,846 INFO L290 TraceCheckUtils]: 36: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~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; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~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-28 12:05:26,846 INFO L290 TraceCheckUtils]: 37: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~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-28 12:05:26,847 INFO L272 TraceCheckUtils]: 38: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~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)); {10368#true} is VALID [2022-04-28 12:05:26,847 INFO L290 TraceCheckUtils]: 39: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:05:26,847 INFO L290 TraceCheckUtils]: 40: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:05:26,847 INFO L290 TraceCheckUtils]: 41: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:05:26,847 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10368#true} {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~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-28 12:05:26,847 INFO L272 TraceCheckUtils]: 43: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~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)); {10368#true} is VALID [2022-04-28 12:05:26,848 INFO L290 TraceCheckUtils]: 44: Hoare triple {10368#true} ~cond := #in~cond; {10507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:05:26,848 INFO L290 TraceCheckUtils]: 45: Hoare triple {10507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:26,848 INFO L290 TraceCheckUtils]: 46: Hoare triple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:05:26,849 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~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-28 12:05:26,849 INFO L272 TraceCheckUtils]: 48: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~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)); {10368#true} is VALID [2022-04-28 12:05:26,849 INFO L290 TraceCheckUtils]: 49: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:05:26,849 INFO L290 TraceCheckUtils]: 50: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:05:26,849 INFO L290 TraceCheckUtils]: 51: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:05:26,850 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10368#true} {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~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-28 12:05:26,850 INFO L290 TraceCheckUtils]: 53: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~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); {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~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-28 12:05:26,851 INFO L290 TraceCheckUtils]: 54: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~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; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-28 12:05:26,851 INFO L290 TraceCheckUtils]: 55: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-28 12:05:26,852 INFO L290 TraceCheckUtils]: 56: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-28 12:05:26,852 INFO L272 TraceCheckUtils]: 57: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-28 12:05:26,852 INFO L290 TraceCheckUtils]: 58: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:05:26,852 INFO L290 TraceCheckUtils]: 59: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:05:26,852 INFO L290 TraceCheckUtils]: 60: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:05:26,852 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10368#true} {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} #68#return; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-28 12:05:26,853 INFO L272 TraceCheckUtils]: 62: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) 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)); {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:05:26,853 INFO L290 TraceCheckUtils]: 63: Hoare triple {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10568#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:05:26,854 INFO L290 TraceCheckUtils]: 64: Hoare triple {10568#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10369#false} is VALID [2022-04-28 12:05:26,854 INFO L290 TraceCheckUtils]: 65: Hoare triple {10369#false} assume !false; {10369#false} is VALID [2022-04-28 12:05:26,854 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-28 12:05:26,854 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:06:01,293 INFO L290 TraceCheckUtils]: 65: Hoare triple {10369#false} assume !false; {10369#false} is VALID [2022-04-28 12:06:01,294 INFO L290 TraceCheckUtils]: 64: Hoare triple {10568#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10369#false} is VALID [2022-04-28 12:06:01,294 INFO L290 TraceCheckUtils]: 63: Hoare triple {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10568#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:01,295 INFO L272 TraceCheckUtils]: 62: Hoare triple {10584#(= 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)); {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:06:01,296 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10368#true} {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:06:01,296 INFO L290 TraceCheckUtils]: 60: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:06:01,296 INFO L290 TraceCheckUtils]: 59: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:06:01,296 INFO L290 TraceCheckUtils]: 58: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:06:01,296 INFO L272 TraceCheckUtils]: 57: Hoare triple {10584#(= 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)); {10368#true} is VALID [2022-04-28 12:06:01,296 INFO L290 TraceCheckUtils]: 56: Hoare triple {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:06:01,297 INFO L290 TraceCheckUtils]: 55: Hoare triple {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:06:01,405 INFO L290 TraceCheckUtils]: 54: Hoare triple {10609#(= (+ 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; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:06:01,406 INFO L290 TraceCheckUtils]: 53: Hoare triple {10609#(= (+ 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); {10609#(= (+ 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-28 12:06:01,407 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10368#true} {10609#(= (+ 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; {10609#(= (+ 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-28 12:06:01,407 INFO L290 TraceCheckUtils]: 51: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:06:01,407 INFO L290 TraceCheckUtils]: 50: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:06:01,407 INFO L290 TraceCheckUtils]: 49: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:06:01,407 INFO L272 TraceCheckUtils]: 48: Hoare triple {10609#(= (+ 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)); {10368#true} is VALID [2022-04-28 12:06:01,408 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} {10631#(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; {10609#(= (+ 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-28 12:06:01,409 INFO L290 TraceCheckUtils]: 46: Hoare triple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:01,409 INFO L290 TraceCheckUtils]: 45: Hoare triple {10641#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:01,410 INFO L290 TraceCheckUtils]: 44: Hoare triple {10368#true} ~cond := #in~cond; {10641#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:06:01,410 INFO L272 TraceCheckUtils]: 43: Hoare triple {10631#(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)); {10368#true} is VALID [2022-04-28 12:06:01,410 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10368#true} {10631#(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; {10631#(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-28 12:06:01,410 INFO L290 TraceCheckUtils]: 41: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:06:01,411 INFO L290 TraceCheckUtils]: 40: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:06:01,411 INFO L290 TraceCheckUtils]: 39: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:06:01,411 INFO L272 TraceCheckUtils]: 38: Hoare triple {10631#(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)); {10368#true} is VALID [2022-04-28 12:06:01,411 INFO L290 TraceCheckUtils]: 37: Hoare triple {10631#(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 < 100);havoc #t~post6; {10631#(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-28 12:06:01,412 INFO L290 TraceCheckUtils]: 36: Hoare triple {10631#(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; {10631#(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-28 12:06:03,202 INFO L290 TraceCheckUtils]: 35: Hoare triple {10669#(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; {10631#(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-28 12:06:03,203 INFO L290 TraceCheckUtils]: 34: Hoare triple {10669#(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); {10669#(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-28 12:06:03,204 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10368#true} {10669#(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; {10669#(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-28 12:06:03,204 INFO L290 TraceCheckUtils]: 32: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:06:03,204 INFO L290 TraceCheckUtils]: 31: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:06:03,204 INFO L290 TraceCheckUtils]: 30: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:06:03,204 INFO L272 TraceCheckUtils]: 29: Hoare triple {10669#(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)); {10368#true} is VALID [2022-04-28 12:06:03,205 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10368#true} {10669#(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; {10669#(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-28 12:06:03,205 INFO L290 TraceCheckUtils]: 27: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:06:03,205 INFO L290 TraceCheckUtils]: 26: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:06:03,205 INFO L290 TraceCheckUtils]: 25: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:06:03,205 INFO L272 TraceCheckUtils]: 24: Hoare triple {10669#(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)); {10368#true} is VALID [2022-04-28 12:06:03,206 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10368#true} {10669#(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; {10669#(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-28 12:06:03,206 INFO L290 TraceCheckUtils]: 22: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:06:03,206 INFO L290 TraceCheckUtils]: 21: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:06:03,206 INFO L290 TraceCheckUtils]: 20: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:06:03,206 INFO L272 TraceCheckUtils]: 19: Hoare triple {10669#(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)); {10368#true} is VALID [2022-04-28 12:06:03,207 INFO L290 TraceCheckUtils]: 18: Hoare triple {10669#(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 < 100);havoc #t~post6; {10669#(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-28 12:06:03,207 INFO L290 TraceCheckUtils]: 17: Hoare triple {10669#(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; {10669#(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-28 12:06:03,207 INFO L290 TraceCheckUtils]: 16: Hoare triple {10368#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10669#(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-28 12:06:03,208 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10368#true} {10368#true} #66#return; {10368#true} is VALID [2022-04-28 12:06:03,208 INFO L290 TraceCheckUtils]: 14: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:06:03,208 INFO L290 TraceCheckUtils]: 13: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:06:03,208 INFO L290 TraceCheckUtils]: 12: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:06:03,208 INFO L272 TraceCheckUtils]: 11: Hoare triple {10368#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-28 12:06:03,208 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10368#true} {10368#true} #64#return; {10368#true} is VALID [2022-04-28 12:06:03,208 INFO L290 TraceCheckUtils]: 9: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:06:03,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-28 12:06:03,208 INFO L290 TraceCheckUtils]: 7: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-28 12:06:03,208 INFO L272 TraceCheckUtils]: 6: Hoare triple {10368#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-28 12:06:03,208 INFO L290 TraceCheckUtils]: 5: Hoare triple {10368#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; {10368#true} is VALID [2022-04-28 12:06:03,208 INFO L272 TraceCheckUtils]: 4: Hoare triple {10368#true} call #t~ret7 := main(); {10368#true} is VALID [2022-04-28 12:06:03,208 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10368#true} {10368#true} #82#return; {10368#true} is VALID [2022-04-28 12:06:03,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-28 12:06:03,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {10368#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; {10368#true} is VALID [2022-04-28 12:06:03,208 INFO L272 TraceCheckUtils]: 0: Hoare triple {10368#true} call ULTIMATE.init(); {10368#true} is VALID [2022-04-28 12:06:03,209 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-28 12:06:03,209 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:03,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2122671274] [2022-04-28 12:06:03,209 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:06:03,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [103731824] [2022-04-28 12:06:03,210 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [103731824] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:06:03,210 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:06:03,210 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-28 12:06:03,210 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:03,210 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1890785886] [2022-04-28 12:06:03,210 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1890785886] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:03,210 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:03,210 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:06:03,210 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1799374724] [2022-04-28 12:06:03,210 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:03,211 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-28 12:06:03,212 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:03,212 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-28 12:06:03,252 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:03,252 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:06:03,252 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:03,252 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:06:03,253 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:06:03,253 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-28 12:06:04,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:04,391 INFO L93 Difference]: Finished difference Result 199 states and 247 transitions. [2022-04-28 12:06:04,391 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:06:04,392 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-28 12:06:04,392 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:04,392 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-28 12:06:04,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:06:04,394 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-28 12:06:04,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:06:04,395 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-28 12:06:04,482 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:04,487 INFO L225 Difference]: With dead ends: 199 [2022-04-28 12:06:04,487 INFO L226 Difference]: Without dead ends: 197 [2022-04-28 12:06:04,487 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 118 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:06:04,488 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 15 mSDsluCounter, 151 mSDsCounter, 0 mSdLazyCounter, 328 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 335 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 328 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:06:04,488 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 190 Invalid, 335 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 328 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:06:04,488 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-28 12:06:04,589 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 181. [2022-04-28 12:06:04,589 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:04,590 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-28 12:06:04,590 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-28 12:06:04,590 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-28 12:06:04,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:04,596 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-28 12:06:04,596 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-28 12:06:04,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:04,597 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:04,597 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-28 12:06:04,598 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-28 12:06:04,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:04,603 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-28 12:06:04,603 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-28 12:06:04,603 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:04,604 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:04,604 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:04,604 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:04,604 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-28 12:06:04,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 181 states to 181 states and 220 transitions. [2022-04-28 12:06:04,609 INFO L78 Accepts]: Start accepts. Automaton has 181 states and 220 transitions. Word has length 66 [2022-04-28 12:06:04,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:04,609 INFO L495 AbstractCegarLoop]: Abstraction has 181 states and 220 transitions. [2022-04-28 12:06:04,610 INFO L496 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-28 12:06:04,610 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 181 states and 220 transitions. [2022-04-28 12:06:04,939 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-28 12:06:04,939 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 220 transitions. [2022-04-28 12:06:04,940 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-28 12:06:04,940 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:04,940 INFO L195 NwaCegarLoop]: 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-28 12:06:04,973 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 12:06:05,147 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 12:06:05,148 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:05,148 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:05,148 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 3 times [2022-04-28 12:06:05,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:05,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2043032650] [2022-04-28 12:06:05,148 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:05,148 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 4 times [2022-04-28 12:06:05,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:05,149 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1758875966] [2022-04-28 12:06:05,149 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:05,149 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:05,159 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:06:05,159 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [393223815] [2022-04-28 12:06:05,159 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:06:05,159 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:05,159 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:05,160 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:06:05,163 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 12:06:05,205 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:06:05,206 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:06:05,207 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 12:06:05,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:05,220 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:06:05,771 INFO L272 TraceCheckUtils]: 0: Hoare triple {11935#true} call ULTIMATE.init(); {11935#true} is VALID [2022-04-28 12:06:05,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {11935#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; {11935#true} is VALID [2022-04-28 12:06:05,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:05,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11935#true} {11935#true} #82#return; {11935#true} is VALID [2022-04-28 12:06:05,772 INFO L272 TraceCheckUtils]: 4: Hoare triple {11935#true} call #t~ret7 := main(); {11935#true} is VALID [2022-04-28 12:06:05,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {11935#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; {11935#true} is VALID [2022-04-28 12:06:05,772 INFO L272 TraceCheckUtils]: 6: Hoare triple {11935#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-28 12:06:05,772 INFO L290 TraceCheckUtils]: 7: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 12:06:05,772 INFO L290 TraceCheckUtils]: 8: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 12:06:05,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:05,773 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11935#true} {11935#true} #64#return; {11935#true} is VALID [2022-04-28 12:06:05,773 INFO L272 TraceCheckUtils]: 11: Hoare triple {11935#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-28 12:06:05,773 INFO L290 TraceCheckUtils]: 12: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 12:06:05,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 12:06:05,773 INFO L290 TraceCheckUtils]: 14: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:05,773 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11935#true} {11935#true} #66#return; {11935#true} is VALID [2022-04-28 12:06:05,774 INFO L290 TraceCheckUtils]: 16: Hoare triple {11935#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:05,775 INFO L290 TraceCheckUtils]: 17: Hoare triple {11988#(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; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:05,775 INFO L290 TraceCheckUtils]: 18: Hoare triple {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:05,775 INFO L272 TraceCheckUtils]: 19: Hoare triple {11988#(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)); {11935#true} is VALID [2022-04-28 12:06:05,775 INFO L290 TraceCheckUtils]: 20: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 12:06:05,775 INFO L290 TraceCheckUtils]: 21: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 12:06:05,775 INFO L290 TraceCheckUtils]: 22: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:05,776 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11935#true} {11988#(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; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:05,776 INFO L272 TraceCheckUtils]: 24: Hoare triple {11988#(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)); {11935#true} is VALID [2022-04-28 12:06:05,776 INFO L290 TraceCheckUtils]: 25: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 12:06:05,776 INFO L290 TraceCheckUtils]: 26: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 12:06:05,776 INFO L290 TraceCheckUtils]: 27: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:05,777 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11935#true} {11988#(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; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:05,777 INFO L272 TraceCheckUtils]: 29: Hoare triple {11988#(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)); {11935#true} is VALID [2022-04-28 12:06:05,777 INFO L290 TraceCheckUtils]: 30: Hoare triple {11935#true} ~cond := #in~cond; {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:05,778 INFO L290 TraceCheckUtils]: 31: Hoare triple {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:05,778 INFO L290 TraceCheckUtils]: 32: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:05,779 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {11988#(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; {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:05,779 INFO L290 TraceCheckUtils]: 34: Hoare triple {11988#(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); {11988#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:05,780 INFO L290 TraceCheckUtils]: 35: Hoare triple {11988#(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; {12048#(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 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:05,780 INFO L290 TraceCheckUtils]: 36: Hoare triple {12048#(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 main_~p~0) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12048#(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 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:05,781 INFO L290 TraceCheckUtils]: 37: Hoare triple {12048#(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 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {12048#(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 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:05,781 INFO L272 TraceCheckUtils]: 38: Hoare triple {12048#(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 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)); {11935#true} is VALID [2022-04-28 12:06:05,781 INFO L290 TraceCheckUtils]: 39: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 12:06:05,781 INFO L290 TraceCheckUtils]: 40: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 12:06:05,781 INFO L290 TraceCheckUtils]: 41: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:05,782 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11935#true} {12048#(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 main_~p~0) 0) (= main_~p~0 1))} #68#return; {12048#(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 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:05,782 INFO L272 TraceCheckUtils]: 43: Hoare triple {12048#(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 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)); {11935#true} is VALID [2022-04-28 12:06:05,782 INFO L290 TraceCheckUtils]: 44: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 12:06:05,782 INFO L290 TraceCheckUtils]: 45: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 12:06:05,782 INFO L290 TraceCheckUtils]: 46: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:05,783 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11935#true} {12048#(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 main_~p~0) 0) (= main_~p~0 1))} #70#return; {12048#(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 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:05,783 INFO L272 TraceCheckUtils]: 48: Hoare triple {12048#(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 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)); {11935#true} is VALID [2022-04-28 12:06:05,783 INFO L290 TraceCheckUtils]: 49: Hoare triple {11935#true} ~cond := #in~cond; {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:05,784 INFO L290 TraceCheckUtils]: 50: Hoare triple {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:05,784 INFO L290 TraceCheckUtils]: 51: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:05,784 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {12048#(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 main_~p~0) 0) (= main_~p~0 1))} #72#return; {12048#(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 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:05,785 INFO L290 TraceCheckUtils]: 53: Hoare triple {12048#(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 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {12048#(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 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:06:05,786 INFO L290 TraceCheckUtils]: 54: Hoare triple {12048#(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 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; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-28 12:06:05,786 INFO L290 TraceCheckUtils]: 55: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-28 12:06:05,787 INFO L290 TraceCheckUtils]: 56: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} assume !!(#t~post6 < 100);havoc #t~post6; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-28 12:06:05,787 INFO L272 TraceCheckUtils]: 57: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 12:06:05,787 INFO L290 TraceCheckUtils]: 58: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 12:06:05,787 INFO L290 TraceCheckUtils]: 59: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 12:06:05,787 INFO L290 TraceCheckUtils]: 60: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:05,788 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11935#true} {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} #68#return; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-28 12:06:05,789 INFO L272 TraceCheckUtils]: 62: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:06:05,789 INFO L290 TraceCheckUtils]: 63: Hoare triple {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:05,789 INFO L290 TraceCheckUtils]: 64: Hoare triple {12135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11936#false} is VALID [2022-04-28 12:06:05,789 INFO L290 TraceCheckUtils]: 65: Hoare triple {11936#false} assume !false; {11936#false} is VALID [2022-04-28 12:06:05,790 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-28 12:06:05,790 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:06:42,890 INFO L290 TraceCheckUtils]: 65: Hoare triple {11936#false} assume !false; {11936#false} is VALID [2022-04-28 12:06:42,891 INFO L290 TraceCheckUtils]: 64: Hoare triple {12135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11936#false} is VALID [2022-04-28 12:06:42,892 INFO L290 TraceCheckUtils]: 63: Hoare triple {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:42,893 INFO L272 TraceCheckUtils]: 62: Hoare triple {12151#(= 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)); {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:06:42,894 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11935#true} {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:06:42,894 INFO L290 TraceCheckUtils]: 60: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:42,894 INFO L290 TraceCheckUtils]: 59: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 12:06:42,894 INFO L290 TraceCheckUtils]: 58: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 12:06:42,894 INFO L272 TraceCheckUtils]: 57: Hoare triple {12151#(= 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)); {11935#true} is VALID [2022-04-28 12:06:42,894 INFO L290 TraceCheckUtils]: 56: Hoare triple {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:06:42,895 INFO L290 TraceCheckUtils]: 55: Hoare triple {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:06:43,058 INFO L290 TraceCheckUtils]: 54: Hoare triple {12176#(= (+ 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; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:06:43,059 INFO L290 TraceCheckUtils]: 53: Hoare triple {12176#(= (+ 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); {12176#(= (+ 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-28 12:06:43,060 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {12183#(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; {12176#(= (+ 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-28 12:06:43,060 INFO L290 TraceCheckUtils]: 51: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:43,060 INFO L290 TraceCheckUtils]: 50: Hoare triple {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:43,061 INFO L290 TraceCheckUtils]: 49: Hoare triple {11935#true} ~cond := #in~cond; {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:06:43,061 INFO L272 TraceCheckUtils]: 48: Hoare triple {12183#(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)); {11935#true} is VALID [2022-04-28 12:06:43,061 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11935#true} {12183#(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; {12183#(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-28 12:06:43,061 INFO L290 TraceCheckUtils]: 46: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:43,061 INFO L290 TraceCheckUtils]: 45: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 12:06:43,061 INFO L290 TraceCheckUtils]: 44: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 12:06:43,061 INFO L272 TraceCheckUtils]: 43: Hoare triple {12183#(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)); {11935#true} is VALID [2022-04-28 12:06:43,062 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11935#true} {12183#(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; {12183#(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-28 12:06:43,062 INFO L290 TraceCheckUtils]: 41: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:43,062 INFO L290 TraceCheckUtils]: 40: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 12:06:43,062 INFO L290 TraceCheckUtils]: 39: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 12:06:43,062 INFO L272 TraceCheckUtils]: 38: Hoare triple {12183#(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)); {11935#true} is VALID [2022-04-28 12:06:43,063 INFO L290 TraceCheckUtils]: 37: Hoare triple {12183#(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 < 100);havoc #t~post6; {12183#(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-28 12:06:43,063 INFO L290 TraceCheckUtils]: 36: Hoare triple {12183#(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; {12183#(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-28 12:06:45,065 WARN L290 TraceCheckUtils]: 35: Hoare triple {12236#(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; {12183#(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 UNKNOWN [2022-04-28 12:06:45,066 INFO L290 TraceCheckUtils]: 34: Hoare triple {12236#(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); {12236#(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-28 12:06:45,067 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {11935#true} #72#return; {12236#(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-28 12:06:45,068 INFO L290 TraceCheckUtils]: 32: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:45,068 INFO L290 TraceCheckUtils]: 31: Hoare triple {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:45,068 INFO L290 TraceCheckUtils]: 30: Hoare triple {11935#true} ~cond := #in~cond; {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:06:45,068 INFO L272 TraceCheckUtils]: 29: Hoare triple {11935#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11935#true} {11935#true} #70#return; {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L290 TraceCheckUtils]: 27: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L290 TraceCheckUtils]: 26: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L290 TraceCheckUtils]: 25: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L272 TraceCheckUtils]: 24: Hoare triple {11935#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11935#true} {11935#true} #68#return; {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L290 TraceCheckUtils]: 22: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L290 TraceCheckUtils]: 21: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L290 TraceCheckUtils]: 20: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L272 TraceCheckUtils]: 19: Hoare triple {11935#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L290 TraceCheckUtils]: 18: Hoare triple {11935#true} assume !!(#t~post6 < 100);havoc #t~post6; {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L290 TraceCheckUtils]: 17: Hoare triple {11935#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L290 TraceCheckUtils]: 16: Hoare triple {11935#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11935#true} {11935#true} #66#return; {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L290 TraceCheckUtils]: 14: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L290 TraceCheckUtils]: 13: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L290 TraceCheckUtils]: 12: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 12:06:45,069 INFO L272 TraceCheckUtils]: 11: Hoare triple {11935#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-28 12:06:45,070 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11935#true} {11935#true} #64#return; {11935#true} is VALID [2022-04-28 12:06:45,070 INFO L290 TraceCheckUtils]: 9: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:45,070 INFO L290 TraceCheckUtils]: 8: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-28 12:06:45,070 INFO L290 TraceCheckUtils]: 7: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-28 12:06:45,070 INFO L272 TraceCheckUtils]: 6: Hoare triple {11935#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-28 12:06:45,070 INFO L290 TraceCheckUtils]: 5: Hoare triple {11935#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; {11935#true} is VALID [2022-04-28 12:06:45,070 INFO L272 TraceCheckUtils]: 4: Hoare triple {11935#true} call #t~ret7 := main(); {11935#true} is VALID [2022-04-28 12:06:45,070 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11935#true} {11935#true} #82#return; {11935#true} is VALID [2022-04-28 12:06:45,070 INFO L290 TraceCheckUtils]: 2: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-28 12:06:45,070 INFO L290 TraceCheckUtils]: 1: Hoare triple {11935#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; {11935#true} is VALID [2022-04-28 12:06:45,070 INFO L272 TraceCheckUtils]: 0: Hoare triple {11935#true} call ULTIMATE.init(); {11935#true} is VALID [2022-04-28 12:06:45,070 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-28 12:06:45,071 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:06:45,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1758875966] [2022-04-28 12:06:45,071 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:06:45,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [393223815] [2022-04-28 12:06:45,071 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [393223815] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:06:45,071 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:06:45,071 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-28 12:06:45,071 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:06:45,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2043032650] [2022-04-28 12:06:45,072 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2043032650] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:06:45,072 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:06:45,072 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:06:45,072 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1088243270] [2022-04-28 12:06:45,072 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:06:45,072 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-28 12:06:45,072 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:06:45,073 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-28 12:06:45,116 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:45,116 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:06:45,116 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:45,116 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:06:45,116 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:06:45,117 INFO L87 Difference]: Start difference. First operand 181 states and 220 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-28 12:06:46,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:46,266 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-28 12:06:46,266 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:06:46,266 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-28 12:06:46,267 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:06:46,267 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-28 12:06:46,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:06:46,269 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-28 12:06:46,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:06:46,270 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-28 12:06:46,390 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:06:46,395 INFO L225 Difference]: With dead ends: 208 [2022-04-28 12:06:46,395 INFO L226 Difference]: Without dead ends: 206 [2022-04-28 12:06:46,396 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 117 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:06:46,396 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 15 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 348 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 355 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 348 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:06:46,397 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 198 Invalid, 355 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 348 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:06:46,397 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-28 12:06:46,530 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 190. [2022-04-28 12:06:46,530 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:06:46,532 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-28 12:06:46,532 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-28 12:06:46,533 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-28 12:06:46,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:46,538 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-28 12:06:46,538 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-28 12:06:46,539 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:46,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:46,539 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-28 12:06:46,540 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-28 12:06:46,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:06:46,545 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-28 12:06:46,545 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-28 12:06:46,546 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:06:46,546 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:06:46,546 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:06:46,546 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:06:46,547 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-28 12:06:46,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 232 transitions. [2022-04-28 12:06:46,552 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 232 transitions. Word has length 66 [2022-04-28 12:06:46,552 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:06:46,552 INFO L495 AbstractCegarLoop]: Abstraction has 190 states and 232 transitions. [2022-04-28 12:06:46,552 INFO L496 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-28 12:06:46,552 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 190 states and 232 transitions. [2022-04-28 12:06:46,889 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-28 12:06:46,889 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 232 transitions. [2022-04-28 12:06:46,890 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-28 12:06:46,890 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:06:46,890 INFO L195 NwaCegarLoop]: 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-28 12:06:46,915 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-28 12:06:47,103 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-28 12:06:47,104 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:06:47,104 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:06:47,104 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 5 times [2022-04-28 12:06:47,104 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:06:47,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [773696583] [2022-04-28 12:06:47,104 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:06:47,105 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 6 times [2022-04-28 12:06:47,105 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:06:47,105 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1368950143] [2022-04-28 12:06:47,105 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:06:47,105 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:06:47,115 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:06:47,116 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [61521979] [2022-04-28 12:06:47,116 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:06:47,116 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:06:47,116 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:06:47,117 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:06:47,120 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 12:06:47,171 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:06:47,171 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:06:47,173 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 12:06:47,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:06:47,194 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:06:47,575 INFO L272 TraceCheckUtils]: 0: Hoare triple {13556#true} call ULTIMATE.init(); {13556#true} is VALID [2022-04-28 12:06:47,575 INFO L290 TraceCheckUtils]: 1: Hoare triple {13556#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; {13556#true} is VALID [2022-04-28 12:06:47,575 INFO L290 TraceCheckUtils]: 2: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:06:47,575 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13556#true} {13556#true} #82#return; {13556#true} is VALID [2022-04-28 12:06:47,575 INFO L272 TraceCheckUtils]: 4: Hoare triple {13556#true} call #t~ret7 := main(); {13556#true} is VALID [2022-04-28 12:06:47,575 INFO L290 TraceCheckUtils]: 5: Hoare triple {13556#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; {13556#true} is VALID [2022-04-28 12:06:47,575 INFO L272 TraceCheckUtils]: 6: Hoare triple {13556#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-28 12:06:47,575 INFO L290 TraceCheckUtils]: 7: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:06:47,575 INFO L290 TraceCheckUtils]: 8: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:06:47,575 INFO L290 TraceCheckUtils]: 9: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:06:47,575 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13556#true} {13556#true} #64#return; {13556#true} is VALID [2022-04-28 12:06:47,575 INFO L272 TraceCheckUtils]: 11: Hoare triple {13556#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-28 12:06:47,576 INFO L290 TraceCheckUtils]: 12: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:06:47,576 INFO L290 TraceCheckUtils]: 13: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:06:47,576 INFO L290 TraceCheckUtils]: 14: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:06:47,576 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13556#true} {13556#true} #66#return; {13556#true} is VALID [2022-04-28 12:06:47,576 INFO L290 TraceCheckUtils]: 16: Hoare triple {13556#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:06:47,576 INFO L290 TraceCheckUtils]: 17: Hoare triple {13609#(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; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:06:47,577 INFO L290 TraceCheckUtils]: 18: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:06:47,577 INFO L272 TraceCheckUtils]: 19: Hoare triple {13609#(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)); {13556#true} is VALID [2022-04-28 12:06:47,577 INFO L290 TraceCheckUtils]: 20: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:06:47,577 INFO L290 TraceCheckUtils]: 21: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:06:47,577 INFO L290 TraceCheckUtils]: 22: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:06:47,578 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13556#true} {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:06:47,578 INFO L272 TraceCheckUtils]: 24: Hoare triple {13609#(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)); {13556#true} is VALID [2022-04-28 12:06:47,578 INFO L290 TraceCheckUtils]: 25: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:06:47,578 INFO L290 TraceCheckUtils]: 26: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:06:47,578 INFO L290 TraceCheckUtils]: 27: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:06:47,578 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13556#true} {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:06:47,578 INFO L272 TraceCheckUtils]: 29: Hoare triple {13609#(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)); {13556#true} is VALID [2022-04-28 12:06:47,579 INFO L290 TraceCheckUtils]: 30: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:06:47,579 INFO L290 TraceCheckUtils]: 31: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:06:47,579 INFO L290 TraceCheckUtils]: 32: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:06:47,579 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13556#true} {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:06:47,580 INFO L290 TraceCheckUtils]: 34: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:06:47,580 INFO L290 TraceCheckUtils]: 35: Hoare triple {13609#(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; {13667#(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-28 12:06:47,580 INFO L290 TraceCheckUtils]: 36: Hoare triple {13667#(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; {13667#(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-28 12:06:47,581 INFO L290 TraceCheckUtils]: 37: Hoare triple {13667#(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 < 100);havoc #t~post6; {13667#(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-28 12:06:47,581 INFO L272 TraceCheckUtils]: 38: Hoare triple {13667#(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)); {13556#true} is VALID [2022-04-28 12:06:47,581 INFO L290 TraceCheckUtils]: 39: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:06:47,581 INFO L290 TraceCheckUtils]: 40: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:06:47,581 INFO L290 TraceCheckUtils]: 41: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:06:47,584 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13556#true} {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13667#(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-28 12:06:47,584 INFO L272 TraceCheckUtils]: 43: Hoare triple {13667#(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)); {13556#true} is VALID [2022-04-28 12:06:47,584 INFO L290 TraceCheckUtils]: 44: Hoare triple {13556#true} ~cond := #in~cond; {13695#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:47,584 INFO L290 TraceCheckUtils]: 45: Hoare triple {13695#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:47,585 INFO L290 TraceCheckUtils]: 46: Hoare triple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:06:47,586 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13706#(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-28 12:06:47,586 INFO L272 TraceCheckUtils]: 48: Hoare triple {13706#(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)); {13556#true} is VALID [2022-04-28 12:06:47,586 INFO L290 TraceCheckUtils]: 49: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:06:47,586 INFO L290 TraceCheckUtils]: 50: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:06:47,586 INFO L290 TraceCheckUtils]: 51: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:06:47,586 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13556#true} {13706#(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; {13706#(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-28 12:06:47,587 INFO L290 TraceCheckUtils]: 53: Hoare triple {13706#(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); {13706#(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-28 12:06:47,589 INFO L290 TraceCheckUtils]: 54: Hoare triple {13706#(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; {13728#(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-28 12:06:47,590 INFO L290 TraceCheckUtils]: 55: Hoare triple {13728#(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; {13728#(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-28 12:06:47,591 INFO L290 TraceCheckUtils]: 56: Hoare triple {13728#(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 < 100);havoc #t~post6; {13728#(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-28 12:06:47,591 INFO L272 TraceCheckUtils]: 57: Hoare triple {13728#(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)); {13556#true} is VALID [2022-04-28 12:06:47,591 INFO L290 TraceCheckUtils]: 58: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:06:47,591 INFO L290 TraceCheckUtils]: 59: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:06:47,591 INFO L290 TraceCheckUtils]: 60: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:06:47,591 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13556#true} {13728#(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; {13728#(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-28 12:06:47,591 INFO L272 TraceCheckUtils]: 62: Hoare triple {13728#(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)); {13556#true} is VALID [2022-04-28 12:06:47,592 INFO L290 TraceCheckUtils]: 63: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:06:47,592 INFO L290 TraceCheckUtils]: 64: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:06:47,592 INFO L290 TraceCheckUtils]: 65: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:06:47,592 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13556#true} {13728#(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; {13728#(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-28 12:06:47,593 INFO L272 TraceCheckUtils]: 67: Hoare triple {13728#(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)); {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:06:47,593 INFO L290 TraceCheckUtils]: 68: Hoare triple {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:06:47,593 INFO L290 TraceCheckUtils]: 69: Hoare triple {13772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13557#false} is VALID [2022-04-28 12:06:47,594 INFO L290 TraceCheckUtils]: 70: Hoare triple {13557#false} assume !false; {13557#false} is VALID [2022-04-28 12:06:47,594 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-28 12:06:47,594 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:07:17,805 INFO L290 TraceCheckUtils]: 70: Hoare triple {13557#false} assume !false; {13557#false} is VALID [2022-04-28 12:07:17,805 INFO L290 TraceCheckUtils]: 69: Hoare triple {13772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13557#false} is VALID [2022-04-28 12:07:17,805 INFO L290 TraceCheckUtils]: 68: Hoare triple {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:07:17,806 INFO L272 TraceCheckUtils]: 67: Hoare triple {13788#(= 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)); {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:07:17,807 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:17,807 INFO L290 TraceCheckUtils]: 65: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:07:17,807 INFO L290 TraceCheckUtils]: 64: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:07:17,807 INFO L290 TraceCheckUtils]: 63: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:07:17,807 INFO L272 TraceCheckUtils]: 62: Hoare triple {13788#(= 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)); {13556#true} is VALID [2022-04-28 12:07:17,808 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:17,808 INFO L290 TraceCheckUtils]: 60: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:07:17,808 INFO L290 TraceCheckUtils]: 59: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:07:17,808 INFO L290 TraceCheckUtils]: 58: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:07:17,808 INFO L272 TraceCheckUtils]: 57: Hoare triple {13788#(= 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)); {13556#true} is VALID [2022-04-28 12:07:17,808 INFO L290 TraceCheckUtils]: 56: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:17,808 INFO L290 TraceCheckUtils]: 55: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:18,510 INFO L290 TraceCheckUtils]: 54: Hoare triple {13828#(= (+ (* (+ 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; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:18,511 INFO L290 TraceCheckUtils]: 53: Hoare triple {13828#(= (+ (* (+ 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); {13828#(= (+ (* (+ 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-28 12:07:18,512 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13556#true} {13828#(= (+ (* (+ 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; {13828#(= (+ (* (+ 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-28 12:07:18,512 INFO L290 TraceCheckUtils]: 51: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:07:18,512 INFO L290 TraceCheckUtils]: 50: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:07:18,512 INFO L290 TraceCheckUtils]: 49: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:07:18,512 INFO L272 TraceCheckUtils]: 48: Hoare triple {13828#(= (+ (* (+ 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)); {13556#true} is VALID [2022-04-28 12:07:18,513 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} {13850#(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; {13828#(= (+ (* (+ 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-28 12:07:18,513 INFO L290 TraceCheckUtils]: 46: Hoare triple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:07:18,513 INFO L290 TraceCheckUtils]: 45: Hoare triple {13860#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:07:18,514 INFO L290 TraceCheckUtils]: 44: Hoare triple {13556#true} ~cond := #in~cond; {13860#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:07:18,514 INFO L272 TraceCheckUtils]: 43: Hoare triple {13850#(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)); {13556#true} is VALID [2022-04-28 12:07:18,514 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13556#true} {13850#(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; {13850#(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-28 12:07:18,514 INFO L290 TraceCheckUtils]: 41: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:07:18,514 INFO L290 TraceCheckUtils]: 40: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:07:18,514 INFO L290 TraceCheckUtils]: 39: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:07:18,514 INFO L272 TraceCheckUtils]: 38: Hoare triple {13850#(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)); {13556#true} is VALID [2022-04-28 12:07:18,515 INFO L290 TraceCheckUtils]: 37: Hoare triple {13850#(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 < 100);havoc #t~post6; {13850#(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-28 12:07:18,515 INFO L290 TraceCheckUtils]: 36: Hoare triple {13850#(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; {13850#(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-28 12:07:18,517 INFO L290 TraceCheckUtils]: 35: Hoare triple {13788#(= 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; {13850#(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-28 12:07:18,517 INFO L290 TraceCheckUtils]: 34: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~a~0 != ~b~0); {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:18,517 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #72#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:18,518 INFO L290 TraceCheckUtils]: 32: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:07:18,518 INFO L290 TraceCheckUtils]: 31: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:07:18,518 INFO L290 TraceCheckUtils]: 30: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:07:18,518 INFO L272 TraceCheckUtils]: 29: Hoare triple {13788#(= 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)); {13556#true} is VALID [2022-04-28 12:07:18,518 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:18,518 INFO L290 TraceCheckUtils]: 27: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:07:18,518 INFO L290 TraceCheckUtils]: 26: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:07:18,518 INFO L290 TraceCheckUtils]: 25: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:07:18,519 INFO L272 TraceCheckUtils]: 24: Hoare triple {13788#(= 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)); {13556#true} is VALID [2022-04-28 12:07:18,519 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:18,519 INFO L290 TraceCheckUtils]: 22: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:07:18,519 INFO L290 TraceCheckUtils]: 21: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:07:18,519 INFO L290 TraceCheckUtils]: 20: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:07:18,519 INFO L272 TraceCheckUtils]: 19: Hoare triple {13788#(= 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)); {13556#true} is VALID [2022-04-28 12:07:18,520 INFO L290 TraceCheckUtils]: 18: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:18,520 INFO L290 TraceCheckUtils]: 17: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:18,520 INFO L290 TraceCheckUtils]: 16: Hoare triple {13556#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:18,520 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13556#true} {13556#true} #66#return; {13556#true} is VALID [2022-04-28 12:07:18,520 INFO L290 TraceCheckUtils]: 14: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:07:18,521 INFO L290 TraceCheckUtils]: 13: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:07:18,521 INFO L290 TraceCheckUtils]: 12: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:07:18,521 INFO L272 TraceCheckUtils]: 11: Hoare triple {13556#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-28 12:07:18,521 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13556#true} {13556#true} #64#return; {13556#true} is VALID [2022-04-28 12:07:18,521 INFO L290 TraceCheckUtils]: 9: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:07:18,521 INFO L290 TraceCheckUtils]: 8: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-28 12:07:18,521 INFO L290 TraceCheckUtils]: 7: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-28 12:07:18,521 INFO L272 TraceCheckUtils]: 6: Hoare triple {13556#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-28 12:07:18,521 INFO L290 TraceCheckUtils]: 5: Hoare triple {13556#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; {13556#true} is VALID [2022-04-28 12:07:18,521 INFO L272 TraceCheckUtils]: 4: Hoare triple {13556#true} call #t~ret7 := main(); {13556#true} is VALID [2022-04-28 12:07:18,521 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13556#true} {13556#true} #82#return; {13556#true} is VALID [2022-04-28 12:07:18,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-28 12:07:18,521 INFO L290 TraceCheckUtils]: 1: Hoare triple {13556#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; {13556#true} is VALID [2022-04-28 12:07:18,521 INFO L272 TraceCheckUtils]: 0: Hoare triple {13556#true} call ULTIMATE.init(); {13556#true} is VALID [2022-04-28 12:07:18,522 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-28 12:07:18,522 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:07:18,522 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1368950143] [2022-04-28 12:07:18,522 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:07:18,522 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [61521979] [2022-04-28 12:07:18,522 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [61521979] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:07:18,522 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:07:18,522 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-28 12:07:18,522 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:07:18,522 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [773696583] [2022-04-28 12:07:18,522 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [773696583] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:07:18,523 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:07:18,523 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:07:18,523 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [473429610] [2022-04-28 12:07:18,523 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:07:18,523 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-28 12:07:18,523 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:07:18,524 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-28 12:07:18,580 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:07:18,580 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:07:18,580 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:07:18,580 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:07:18,580 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:07:18,581 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-28 12:07:19,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:19,623 INFO L93 Difference]: Finished difference Result 214 states and 271 transitions. [2022-04-28 12:07:19,623 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:07:19,623 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-28 12:07:19,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:07:19,624 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-28 12:07:19,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-28 12:07:19,625 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-28 12:07:19,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-28 12:07:19,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 86 transitions. [2022-04-28 12:07:19,723 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:07:19,728 INFO L225 Difference]: With dead ends: 214 [2022-04-28 12:07:19,728 INFO L226 Difference]: Without dead ends: 208 [2022-04-28 12:07:19,729 INFO L412 NwaCegarLoop]: 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-28 12:07:19,729 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 15 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 343 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 196 SdHoareTripleChecker+Invalid, 351 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 343 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:07:19,729 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 196 Invalid, 351 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 343 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:07:19,730 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-28 12:07:19,834 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 192. [2022-04-28 12:07:19,835 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:07:19,835 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-28 12:07:19,835 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-28 12:07:19,836 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-28 12:07:19,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:19,842 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-28 12:07:19,842 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-28 12:07:19,843 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:07:19,843 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:07:19,843 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-28 12:07:19,844 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-28 12:07:19,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:19,849 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-28 12:07:19,849 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-28 12:07:19,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:07:19,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:07:19,850 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:07:19,850 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:07:19,851 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-28 12:07:19,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 236 transitions. [2022-04-28 12:07:19,856 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 236 transitions. Word has length 71 [2022-04-28 12:07:19,856 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:07:19,856 INFO L495 AbstractCegarLoop]: Abstraction has 192 states and 236 transitions. [2022-04-28 12:07:19,856 INFO L496 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-28 12:07:19,856 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 192 states and 236 transitions. [2022-04-28 12:07:20,199 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-28 12:07:20,200 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 236 transitions. [2022-04-28 12:07:20,200 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-28 12:07:20,201 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:07:20,201 INFO L195 NwaCegarLoop]: 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-28 12:07:20,219 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 12:07:20,407 WARN L477 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-28 12:07:20,407 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:07:20,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:07:20,408 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 3 times [2022-04-28 12:07:20,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:07:20,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1998312435] [2022-04-28 12:07:20,409 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:07:20,409 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 4 times [2022-04-28 12:07:20,409 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:07:20,409 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1297820985] [2022-04-28 12:07:20,409 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:07:20,409 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:07:20,438 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:07:20,438 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1772233451] [2022-04-28 12:07:20,438 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:07:20,438 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:07:20,438 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:07:20,439 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:07:20,445 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 12:07:20,484 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:07:20,484 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:07:20,486 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 12:07:20,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:07:20,498 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:07:21,078 INFO L272 TraceCheckUtils]: 0: Hoare triple {15227#true} call ULTIMATE.init(); {15227#true} is VALID [2022-04-28 12:07:21,079 INFO L290 TraceCheckUtils]: 1: Hoare triple {15227#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; {15227#true} is VALID [2022-04-28 12:07:21,079 INFO L290 TraceCheckUtils]: 2: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:21,079 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15227#true} {15227#true} #82#return; {15227#true} is VALID [2022-04-28 12:07:21,079 INFO L272 TraceCheckUtils]: 4: Hoare triple {15227#true} call #t~ret7 := main(); {15227#true} is VALID [2022-04-28 12:07:21,079 INFO L290 TraceCheckUtils]: 5: Hoare triple {15227#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; {15227#true} is VALID [2022-04-28 12:07:21,079 INFO L272 TraceCheckUtils]: 6: Hoare triple {15227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-28 12:07:21,079 INFO L290 TraceCheckUtils]: 7: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:21,079 INFO L290 TraceCheckUtils]: 8: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:21,079 INFO L290 TraceCheckUtils]: 9: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:21,079 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15227#true} {15227#true} #64#return; {15227#true} is VALID [2022-04-28 12:07:21,079 INFO L272 TraceCheckUtils]: 11: Hoare triple {15227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-28 12:07:21,079 INFO L290 TraceCheckUtils]: 12: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:21,079 INFO L290 TraceCheckUtils]: 13: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:21,079 INFO L290 TraceCheckUtils]: 14: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:21,080 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15227#true} {15227#true} #66#return; {15227#true} is VALID [2022-04-28 12:07:21,080 INFO L290 TraceCheckUtils]: 16: Hoare triple {15227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:21,080 INFO L290 TraceCheckUtils]: 17: Hoare triple {15280#(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; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:21,081 INFO L290 TraceCheckUtils]: 18: Hoare triple {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:21,081 INFO L272 TraceCheckUtils]: 19: Hoare triple {15280#(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)); {15227#true} is VALID [2022-04-28 12:07:21,081 INFO L290 TraceCheckUtils]: 20: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:21,081 INFO L290 TraceCheckUtils]: 21: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:21,081 INFO L290 TraceCheckUtils]: 22: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:21,082 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15227#true} {15280#(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; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:21,082 INFO L272 TraceCheckUtils]: 24: Hoare triple {15280#(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)); {15227#true} is VALID [2022-04-28 12:07:21,082 INFO L290 TraceCheckUtils]: 25: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:21,082 INFO L290 TraceCheckUtils]: 26: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:21,082 INFO L290 TraceCheckUtils]: 27: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:21,082 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15227#true} {15280#(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; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:21,083 INFO L272 TraceCheckUtils]: 29: Hoare triple {15280#(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)); {15227#true} is VALID [2022-04-28 12:07:21,083 INFO L290 TraceCheckUtils]: 30: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:21,083 INFO L290 TraceCheckUtils]: 31: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:21,083 INFO L290 TraceCheckUtils]: 32: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:21,083 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15227#true} {15280#(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; {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:21,084 INFO L290 TraceCheckUtils]: 34: Hoare triple {15280#(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); {15280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:21,084 INFO L290 TraceCheckUtils]: 35: Hoare triple {15280#(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; {15338#(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-28 12:07:21,085 INFO L290 TraceCheckUtils]: 36: Hoare triple {15338#(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; {15338#(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-28 12:07:21,085 INFO L290 TraceCheckUtils]: 37: Hoare triple {15338#(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 < 100);havoc #t~post6; {15338#(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-28 12:07:21,085 INFO L272 TraceCheckUtils]: 38: Hoare triple {15338#(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)); {15227#true} is VALID [2022-04-28 12:07:21,085 INFO L290 TraceCheckUtils]: 39: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:21,085 INFO L290 TraceCheckUtils]: 40: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:21,085 INFO L290 TraceCheckUtils]: 41: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:21,086 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15227#true} {15338#(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; {15338#(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-28 12:07:21,086 INFO L272 TraceCheckUtils]: 43: Hoare triple {15338#(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)); {15227#true} is VALID [2022-04-28 12:07:21,086 INFO L290 TraceCheckUtils]: 44: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:21,086 INFO L290 TraceCheckUtils]: 45: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:21,086 INFO L290 TraceCheckUtils]: 46: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:21,087 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15227#true} {15338#(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; {15338#(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-28 12:07:21,087 INFO L272 TraceCheckUtils]: 48: Hoare triple {15338#(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)); {15227#true} is VALID [2022-04-28 12:07:21,087 INFO L290 TraceCheckUtils]: 49: Hoare triple {15227#true} ~cond := #in~cond; {15381#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:07:21,087 INFO L290 TraceCheckUtils]: 50: Hoare triple {15381#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:07:21,087 INFO L290 TraceCheckUtils]: 51: Hoare triple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:07:21,088 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} {15338#(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; {15338#(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-28 12:07:21,089 INFO L290 TraceCheckUtils]: 53: Hoare triple {15338#(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); {15338#(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-28 12:07:21,089 INFO L290 TraceCheckUtils]: 54: Hoare triple {15338#(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; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-28 12:07:21,091 INFO L290 TraceCheckUtils]: 55: Hoare triple {15398#(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; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-28 12:07:21,092 INFO L290 TraceCheckUtils]: 56: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-28 12:07:21,092 INFO L272 TraceCheckUtils]: 57: Hoare triple {15398#(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)); {15227#true} is VALID [2022-04-28 12:07:21,092 INFO L290 TraceCheckUtils]: 58: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:21,092 INFO L290 TraceCheckUtils]: 59: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:21,092 INFO L290 TraceCheckUtils]: 60: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:21,093 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15227#true} {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #68#return; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-28 12:07:21,093 INFO L272 TraceCheckUtils]: 62: Hoare triple {15398#(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)); {15227#true} is VALID [2022-04-28 12:07:21,093 INFO L290 TraceCheckUtils]: 63: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:21,093 INFO L290 TraceCheckUtils]: 64: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:21,093 INFO L290 TraceCheckUtils]: 65: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:21,094 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15227#true} {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #70#return; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-28 12:07:21,095 INFO L272 TraceCheckUtils]: 67: Hoare triple {15398#(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)); {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:07:21,095 INFO L290 TraceCheckUtils]: 68: Hoare triple {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15442#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:07:21,095 INFO L290 TraceCheckUtils]: 69: Hoare triple {15442#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15228#false} is VALID [2022-04-28 12:07:21,096 INFO L290 TraceCheckUtils]: 70: Hoare triple {15228#false} assume !false; {15228#false} is VALID [2022-04-28 12:07:21,096 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 30 proven. 24 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-28 12:07:21,096 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:07:39,472 INFO L290 TraceCheckUtils]: 70: Hoare triple {15228#false} assume !false; {15228#false} is VALID [2022-04-28 12:07:39,472 INFO L290 TraceCheckUtils]: 69: Hoare triple {15442#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15228#false} is VALID [2022-04-28 12:07:39,472 INFO L290 TraceCheckUtils]: 68: Hoare triple {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15442#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:07:39,473 INFO L272 TraceCheckUtils]: 67: Hoare triple {15458#(= 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)); {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:07:39,474 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15227#true} {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:39,474 INFO L290 TraceCheckUtils]: 65: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:39,474 INFO L290 TraceCheckUtils]: 64: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:39,474 INFO L290 TraceCheckUtils]: 63: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:39,474 INFO L272 TraceCheckUtils]: 62: Hoare triple {15458#(= 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)); {15227#true} is VALID [2022-04-28 12:07:39,475 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15227#true} {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:39,475 INFO L290 TraceCheckUtils]: 60: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:39,475 INFO L290 TraceCheckUtils]: 59: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:39,475 INFO L290 TraceCheckUtils]: 58: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:39,475 INFO L272 TraceCheckUtils]: 57: Hoare triple {15458#(= 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)); {15227#true} is VALID [2022-04-28 12:07:39,476 INFO L290 TraceCheckUtils]: 56: Hoare triple {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:39,476 INFO L290 TraceCheckUtils]: 55: Hoare triple {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:40,013 INFO L290 TraceCheckUtils]: 54: Hoare triple {15498#(= (+ (* (+ 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; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:07:40,014 INFO L290 TraceCheckUtils]: 53: Hoare triple {15498#(= (+ (* (+ 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); {15498#(= (+ (* (+ 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-28 12:07:40,015 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} {15505#(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; {15498#(= (+ (* (+ 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-28 12:07:40,015 INFO L290 TraceCheckUtils]: 51: Hoare triple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:07:40,015 INFO L290 TraceCheckUtils]: 50: Hoare triple {15515#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:07:40,016 INFO L290 TraceCheckUtils]: 49: Hoare triple {15227#true} ~cond := #in~cond; {15515#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:07:40,016 INFO L272 TraceCheckUtils]: 48: Hoare triple {15505#(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)); {15227#true} is VALID [2022-04-28 12:07:40,016 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15227#true} {15505#(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; {15505#(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-28 12:07:40,017 INFO L290 TraceCheckUtils]: 46: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:40,017 INFO L290 TraceCheckUtils]: 45: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:40,017 INFO L290 TraceCheckUtils]: 44: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:40,017 INFO L272 TraceCheckUtils]: 43: Hoare triple {15505#(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)); {15227#true} is VALID [2022-04-28 12:07:40,017 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15227#true} {15505#(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; {15505#(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-28 12:07:40,017 INFO L290 TraceCheckUtils]: 41: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:40,017 INFO L290 TraceCheckUtils]: 40: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:40,017 INFO L290 TraceCheckUtils]: 39: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:40,018 INFO L272 TraceCheckUtils]: 38: Hoare triple {15505#(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)); {15227#true} is VALID [2022-04-28 12:07:40,018 INFO L290 TraceCheckUtils]: 37: Hoare triple {15505#(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 < 100);havoc #t~post6; {15505#(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-28 12:07:40,018 INFO L290 TraceCheckUtils]: 36: Hoare triple {15505#(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; {15505#(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-28 12:07:40,374 INFO L290 TraceCheckUtils]: 35: Hoare triple {15558#(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; {15505#(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-28 12:07:40,375 INFO L290 TraceCheckUtils]: 34: Hoare triple {15558#(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); {15558#(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-28 12:07:40,376 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15227#true} {15558#(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))))))} #72#return; {15558#(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-28 12:07:40,376 INFO L290 TraceCheckUtils]: 32: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:40,376 INFO L290 TraceCheckUtils]: 31: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:40,376 INFO L290 TraceCheckUtils]: 30: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:40,376 INFO L272 TraceCheckUtils]: 29: Hoare triple {15558#(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))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 12:07:40,377 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15227#true} {15558#(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))))))} #70#return; {15558#(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-28 12:07:40,377 INFO L290 TraceCheckUtils]: 27: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:40,377 INFO L290 TraceCheckUtils]: 26: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:40,377 INFO L290 TraceCheckUtils]: 25: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:40,377 INFO L272 TraceCheckUtils]: 24: Hoare triple {15558#(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))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 12:07:40,378 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15227#true} {15558#(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))))))} #68#return; {15558#(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-28 12:07:40,378 INFO L290 TraceCheckUtils]: 22: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:40,378 INFO L290 TraceCheckUtils]: 21: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:40,378 INFO L290 TraceCheckUtils]: 20: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:40,378 INFO L272 TraceCheckUtils]: 19: Hoare triple {15558#(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))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-28 12:07:40,379 INFO L290 TraceCheckUtils]: 18: Hoare triple {15558#(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 !!(#t~post6 < 100);havoc #t~post6; {15558#(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-28 12:07:40,379 INFO L290 TraceCheckUtils]: 17: Hoare triple {15558#(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))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15558#(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-28 12:07:40,380 INFO L290 TraceCheckUtils]: 16: Hoare triple {15227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15558#(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-28 12:07:40,380 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15227#true} {15227#true} #66#return; {15227#true} is VALID [2022-04-28 12:07:40,380 INFO L290 TraceCheckUtils]: 14: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:40,380 INFO L290 TraceCheckUtils]: 13: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:40,380 INFO L290 TraceCheckUtils]: 12: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:40,380 INFO L272 TraceCheckUtils]: 11: Hoare triple {15227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-28 12:07:40,380 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15227#true} {15227#true} #64#return; {15227#true} is VALID [2022-04-28 12:07:40,380 INFO L290 TraceCheckUtils]: 9: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:40,380 INFO L290 TraceCheckUtils]: 8: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-28 12:07:40,380 INFO L290 TraceCheckUtils]: 7: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-28 12:07:40,380 INFO L272 TraceCheckUtils]: 6: Hoare triple {15227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-28 12:07:40,380 INFO L290 TraceCheckUtils]: 5: Hoare triple {15227#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; {15227#true} is VALID [2022-04-28 12:07:40,380 INFO L272 TraceCheckUtils]: 4: Hoare triple {15227#true} call #t~ret7 := main(); {15227#true} is VALID [2022-04-28 12:07:40,381 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15227#true} {15227#true} #82#return; {15227#true} is VALID [2022-04-28 12:07:40,381 INFO L290 TraceCheckUtils]: 2: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-28 12:07:40,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {15227#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; {15227#true} is VALID [2022-04-28 12:07:40,381 INFO L272 TraceCheckUtils]: 0: Hoare triple {15227#true} call ULTIMATE.init(); {15227#true} is VALID [2022-04-28 12:07:40,381 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 35 proven. 19 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-28 12:07:40,381 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:07:40,381 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1297820985] [2022-04-28 12:07:40,381 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:07:40,381 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1772233451] [2022-04-28 12:07:40,381 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1772233451] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:07:40,381 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:07:40,382 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-28 12:07:40,382 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:07:40,382 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1998312435] [2022-04-28 12:07:40,382 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1998312435] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:07:40,382 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:07:40,382 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:07:40,382 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1075752731] [2022-04-28 12:07:40,382 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:07:40,382 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-28 12:07:40,383 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:07:40,383 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-28 12:07:40,430 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:07:40,431 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:07:40,431 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:07:40,431 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:07:40,431 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:07:40,431 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-28 12:07:41,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:41,479 INFO L93 Difference]: Finished difference Result 219 states and 281 transitions. [2022-04-28 12:07:41,479 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:07:41,479 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-28 12:07:41,479 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:07:41,480 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-28 12:07:41,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:07:41,481 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-28 12:07:41,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-28 12:07:41,482 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-28 12:07:41,595 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:07:41,600 INFO L225 Difference]: With dead ends: 219 [2022-04-28 12:07:41,600 INFO L226 Difference]: Without dead ends: 210 [2022-04-28 12:07:41,601 INFO L412 NwaCegarLoop]: 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-28 12:07:41,601 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 15 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 322 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 185 SdHoareTripleChecker+Invalid, 330 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 322 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:07:41,602 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 185 Invalid, 330 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 322 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:07:41,602 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-28 12:07:41,714 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 208. [2022-04-28 12:07:41,714 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:07:41,715 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-28 12:07:41,715 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-28 12:07:41,716 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-28 12:07:41,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:41,721 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-28 12:07:41,721 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-28 12:07:41,722 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:07:41,722 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:07:41,723 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-28 12:07:41,723 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-28 12:07:41,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:41,732 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-28 12:07:41,732 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-28 12:07:41,732 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:07:41,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:07:41,732 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:07:41,732 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:07:41,733 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-28 12:07:41,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 260 transitions. [2022-04-28 12:07:41,738 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 260 transitions. Word has length 71 [2022-04-28 12:07:41,739 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:07:41,739 INFO L495 AbstractCegarLoop]: Abstraction has 208 states and 260 transitions. [2022-04-28 12:07:41,739 INFO L496 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-28 12:07:41,739 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 260 transitions. [2022-04-28 12:07:42,226 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 260 edges. 260 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:07:42,226 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 260 transitions. [2022-04-28 12:07:42,227 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 12:07:42,227 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:07:42,227 INFO L195 NwaCegarLoop]: 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-28 12:07:42,254 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 12:07:42,427 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 12:07:42,428 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:07:42,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:07:42,428 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 5 times [2022-04-28 12:07:42,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:07:42,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [340861192] [2022-04-28 12:07:42,429 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:07:42,429 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 6 times [2022-04-28 12:07:42,429 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:07:42,429 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [890493222] [2022-04-28 12:07:42,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:07:42,429 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:07:42,439 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:07:42,440 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2075840765] [2022-04-28 12:07:42,440 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:07:42,440 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:07:42,440 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:07:42,441 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:07:42,444 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 12:07:42,495 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 12:07:42,495 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:07:42,496 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:07:42,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:07:42,511 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:07:42,808 INFO L272 TraceCheckUtils]: 0: Hoare triple {16944#true} call ULTIMATE.init(); {16944#true} is VALID [2022-04-28 12:07:42,809 INFO L290 TraceCheckUtils]: 1: Hoare triple {16944#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; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,809 INFO L290 TraceCheckUtils]: 2: Hoare triple {16952#(<= ~counter~0 0)} assume true; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,810 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16952#(<= ~counter~0 0)} {16944#true} #82#return; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,810 INFO L272 TraceCheckUtils]: 4: Hoare triple {16952#(<= ~counter~0 0)} call #t~ret7 := main(); {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,810 INFO L290 TraceCheckUtils]: 5: Hoare triple {16952#(<= ~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; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,811 INFO L272 TraceCheckUtils]: 6: Hoare triple {16952#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,811 INFO L290 TraceCheckUtils]: 7: Hoare triple {16952#(<= ~counter~0 0)} ~cond := #in~cond; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,811 INFO L290 TraceCheckUtils]: 8: Hoare triple {16952#(<= ~counter~0 0)} assume !(0 == ~cond); {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,811 INFO L290 TraceCheckUtils]: 9: Hoare triple {16952#(<= ~counter~0 0)} assume true; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,812 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16952#(<= ~counter~0 0)} {16952#(<= ~counter~0 0)} #64#return; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,812 INFO L272 TraceCheckUtils]: 11: Hoare triple {16952#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,812 INFO L290 TraceCheckUtils]: 12: Hoare triple {16952#(<= ~counter~0 0)} ~cond := #in~cond; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,813 INFO L290 TraceCheckUtils]: 13: Hoare triple {16952#(<= ~counter~0 0)} assume !(0 == ~cond); {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,813 INFO L290 TraceCheckUtils]: 14: Hoare triple {16952#(<= ~counter~0 0)} assume true; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,813 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16952#(<= ~counter~0 0)} {16952#(<= ~counter~0 0)} #66#return; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,814 INFO L290 TraceCheckUtils]: 16: Hoare triple {16952#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16952#(<= ~counter~0 0)} is VALID [2022-04-28 12:07:42,814 INFO L290 TraceCheckUtils]: 17: Hoare triple {16952#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,815 INFO L290 TraceCheckUtils]: 18: Hoare triple {17001#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,815 INFO L272 TraceCheckUtils]: 19: Hoare triple {17001#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,815 INFO L290 TraceCheckUtils]: 20: Hoare triple {17001#(<= ~counter~0 1)} ~cond := #in~cond; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,816 INFO L290 TraceCheckUtils]: 21: Hoare triple {17001#(<= ~counter~0 1)} assume !(0 == ~cond); {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,816 INFO L290 TraceCheckUtils]: 22: Hoare triple {17001#(<= ~counter~0 1)} assume true; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,816 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17001#(<= ~counter~0 1)} {17001#(<= ~counter~0 1)} #68#return; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,817 INFO L272 TraceCheckUtils]: 24: Hoare triple {17001#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,817 INFO L290 TraceCheckUtils]: 25: Hoare triple {17001#(<= ~counter~0 1)} ~cond := #in~cond; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,818 INFO L290 TraceCheckUtils]: 26: Hoare triple {17001#(<= ~counter~0 1)} assume !(0 == ~cond); {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,818 INFO L290 TraceCheckUtils]: 27: Hoare triple {17001#(<= ~counter~0 1)} assume true; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,818 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17001#(<= ~counter~0 1)} {17001#(<= ~counter~0 1)} #70#return; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,819 INFO L272 TraceCheckUtils]: 29: Hoare triple {17001#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,819 INFO L290 TraceCheckUtils]: 30: Hoare triple {17001#(<= ~counter~0 1)} ~cond := #in~cond; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,819 INFO L290 TraceCheckUtils]: 31: Hoare triple {17001#(<= ~counter~0 1)} assume !(0 == ~cond); {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,820 INFO L290 TraceCheckUtils]: 32: Hoare triple {17001#(<= ~counter~0 1)} assume true; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,820 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {17001#(<= ~counter~0 1)} {17001#(<= ~counter~0 1)} #72#return; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,820 INFO L290 TraceCheckUtils]: 34: Hoare triple {17001#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,821 INFO L290 TraceCheckUtils]: 35: Hoare triple {17001#(<= ~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; {17001#(<= ~counter~0 1)} is VALID [2022-04-28 12:07:42,821 INFO L290 TraceCheckUtils]: 36: Hoare triple {17001#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,822 INFO L290 TraceCheckUtils]: 37: Hoare triple {17059#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,822 INFO L272 TraceCheckUtils]: 38: Hoare triple {17059#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,822 INFO L290 TraceCheckUtils]: 39: Hoare triple {17059#(<= ~counter~0 2)} ~cond := #in~cond; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,823 INFO L290 TraceCheckUtils]: 40: Hoare triple {17059#(<= ~counter~0 2)} assume !(0 == ~cond); {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,823 INFO L290 TraceCheckUtils]: 41: Hoare triple {17059#(<= ~counter~0 2)} assume true; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,823 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17059#(<= ~counter~0 2)} {17059#(<= ~counter~0 2)} #68#return; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,824 INFO L272 TraceCheckUtils]: 43: Hoare triple {17059#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,824 INFO L290 TraceCheckUtils]: 44: Hoare triple {17059#(<= ~counter~0 2)} ~cond := #in~cond; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,824 INFO L290 TraceCheckUtils]: 45: Hoare triple {17059#(<= ~counter~0 2)} assume !(0 == ~cond); {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,825 INFO L290 TraceCheckUtils]: 46: Hoare triple {17059#(<= ~counter~0 2)} assume true; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,825 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17059#(<= ~counter~0 2)} {17059#(<= ~counter~0 2)} #70#return; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,826 INFO L272 TraceCheckUtils]: 48: Hoare triple {17059#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,826 INFO L290 TraceCheckUtils]: 49: Hoare triple {17059#(<= ~counter~0 2)} ~cond := #in~cond; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,826 INFO L290 TraceCheckUtils]: 50: Hoare triple {17059#(<= ~counter~0 2)} assume !(0 == ~cond); {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,826 INFO L290 TraceCheckUtils]: 51: Hoare triple {17059#(<= ~counter~0 2)} assume true; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,827 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17059#(<= ~counter~0 2)} {17059#(<= ~counter~0 2)} #72#return; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,827 INFO L290 TraceCheckUtils]: 53: Hoare triple {17059#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,827 INFO L290 TraceCheckUtils]: 54: Hoare triple {17059#(<= ~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; {17059#(<= ~counter~0 2)} is VALID [2022-04-28 12:07:42,828 INFO L290 TraceCheckUtils]: 55: Hoare triple {17059#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,828 INFO L290 TraceCheckUtils]: 56: Hoare triple {17117#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,829 INFO L272 TraceCheckUtils]: 57: Hoare triple {17117#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,829 INFO L290 TraceCheckUtils]: 58: Hoare triple {17117#(<= ~counter~0 3)} ~cond := #in~cond; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,829 INFO L290 TraceCheckUtils]: 59: Hoare triple {17117#(<= ~counter~0 3)} assume !(0 == ~cond); {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,830 INFO L290 TraceCheckUtils]: 60: Hoare triple {17117#(<= ~counter~0 3)} assume true; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,830 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {17117#(<= ~counter~0 3)} {17117#(<= ~counter~0 3)} #68#return; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,831 INFO L272 TraceCheckUtils]: 62: Hoare triple {17117#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,831 INFO L290 TraceCheckUtils]: 63: Hoare triple {17117#(<= ~counter~0 3)} ~cond := #in~cond; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,831 INFO L290 TraceCheckUtils]: 64: Hoare triple {17117#(<= ~counter~0 3)} assume !(0 == ~cond); {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,831 INFO L290 TraceCheckUtils]: 65: Hoare triple {17117#(<= ~counter~0 3)} assume true; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,832 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {17117#(<= ~counter~0 3)} {17117#(<= ~counter~0 3)} #70#return; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,832 INFO L272 TraceCheckUtils]: 67: Hoare triple {17117#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,833 INFO L290 TraceCheckUtils]: 68: Hoare triple {17117#(<= ~counter~0 3)} ~cond := #in~cond; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,833 INFO L290 TraceCheckUtils]: 69: Hoare triple {17117#(<= ~counter~0 3)} assume !(0 == ~cond); {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,833 INFO L290 TraceCheckUtils]: 70: Hoare triple {17117#(<= ~counter~0 3)} assume true; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,834 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {17117#(<= ~counter~0 3)} {17117#(<= ~counter~0 3)} #72#return; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,834 INFO L290 TraceCheckUtils]: 72: Hoare triple {17117#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,834 INFO L290 TraceCheckUtils]: 73: Hoare triple {17117#(<= ~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; {17117#(<= ~counter~0 3)} is VALID [2022-04-28 12:07:42,835 INFO L290 TraceCheckUtils]: 74: Hoare triple {17117#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17175#(<= |main_#t~post6| 3)} is VALID [2022-04-28 12:07:42,835 INFO L290 TraceCheckUtils]: 75: Hoare triple {17175#(<= |main_#t~post6| 3)} assume !(#t~post6 < 100);havoc #t~post6; {16945#false} is VALID [2022-04-28 12:07:42,835 INFO L272 TraceCheckUtils]: 76: Hoare triple {16945#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16945#false} is VALID [2022-04-28 12:07:42,835 INFO L290 TraceCheckUtils]: 77: Hoare triple {16945#false} ~cond := #in~cond; {16945#false} is VALID [2022-04-28 12:07:42,835 INFO L290 TraceCheckUtils]: 78: Hoare triple {16945#false} assume 0 == ~cond; {16945#false} is VALID [2022-04-28 12:07:42,835 INFO L290 TraceCheckUtils]: 79: Hoare triple {16945#false} assume !false; {16945#false} is VALID [2022-04-28 12:07:42,835 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-28 12:07:42,836 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:07:43,140 INFO L290 TraceCheckUtils]: 79: Hoare triple {16945#false} assume !false; {16945#false} is VALID [2022-04-28 12:07:43,141 INFO L290 TraceCheckUtils]: 78: Hoare triple {16945#false} assume 0 == ~cond; {16945#false} is VALID [2022-04-28 12:07:43,141 INFO L290 TraceCheckUtils]: 77: Hoare triple {16945#false} ~cond := #in~cond; {16945#false} is VALID [2022-04-28 12:07:43,141 INFO L272 TraceCheckUtils]: 76: Hoare triple {16945#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16945#false} is VALID [2022-04-28 12:07:43,141 INFO L290 TraceCheckUtils]: 75: Hoare triple {17203#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {16945#false} is VALID [2022-04-28 12:07:43,141 INFO L290 TraceCheckUtils]: 74: Hoare triple {17207#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17203#(< |main_#t~post6| 100)} is VALID [2022-04-28 12:07:43,142 INFO L290 TraceCheckUtils]: 73: Hoare triple {17207#(< ~counter~0 100)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17207#(< ~counter~0 100)} is VALID [2022-04-28 12:07:43,142 INFO L290 TraceCheckUtils]: 72: Hoare triple {17207#(< ~counter~0 100)} assume !!(~a~0 != ~b~0); {17207#(< ~counter~0 100)} is VALID [2022-04-28 12:07:43,143 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16944#true} {17207#(< ~counter~0 100)} #72#return; {17207#(< ~counter~0 100)} is VALID [2022-04-28 12:07:43,143 INFO L290 TraceCheckUtils]: 70: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 12:07:43,143 INFO L290 TraceCheckUtils]: 69: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 12:07:43,143 INFO L290 TraceCheckUtils]: 68: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 12:07:43,143 INFO L272 TraceCheckUtils]: 67: Hoare triple {17207#(< ~counter~0 100)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 12:07:43,143 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16944#true} {17207#(< ~counter~0 100)} #70#return; {17207#(< ~counter~0 100)} is VALID [2022-04-28 12:07:43,143 INFO L290 TraceCheckUtils]: 65: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 12:07:43,143 INFO L290 TraceCheckUtils]: 64: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 12:07:43,143 INFO L290 TraceCheckUtils]: 63: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 12:07:43,144 INFO L272 TraceCheckUtils]: 62: Hoare triple {17207#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 12:07:43,144 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16944#true} {17207#(< ~counter~0 100)} #68#return; {17207#(< ~counter~0 100)} is VALID [2022-04-28 12:07:43,144 INFO L290 TraceCheckUtils]: 60: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 12:07:43,144 INFO L290 TraceCheckUtils]: 59: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 12:07:43,144 INFO L290 TraceCheckUtils]: 58: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 12:07:43,144 INFO L272 TraceCheckUtils]: 57: Hoare triple {17207#(< ~counter~0 100)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 12:07:43,144 INFO L290 TraceCheckUtils]: 56: Hoare triple {17207#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {17207#(< ~counter~0 100)} is VALID [2022-04-28 12:07:43,145 INFO L290 TraceCheckUtils]: 55: Hoare triple {17265#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17207#(< ~counter~0 100)} is VALID [2022-04-28 12:07:43,146 INFO L290 TraceCheckUtils]: 54: Hoare triple {17265#(< ~counter~0 99)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17265#(< ~counter~0 99)} is VALID [2022-04-28 12:07:43,146 INFO L290 TraceCheckUtils]: 53: Hoare triple {17265#(< ~counter~0 99)} assume !!(~a~0 != ~b~0); {17265#(< ~counter~0 99)} is VALID [2022-04-28 12:07:43,147 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {16944#true} {17265#(< ~counter~0 99)} #72#return; {17265#(< ~counter~0 99)} is VALID [2022-04-28 12:07:43,147 INFO L290 TraceCheckUtils]: 51: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 12:07:43,147 INFO L290 TraceCheckUtils]: 50: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 12:07:43,147 INFO L290 TraceCheckUtils]: 49: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 12:07:43,147 INFO L272 TraceCheckUtils]: 48: Hoare triple {17265#(< ~counter~0 99)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 12:07:43,147 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {16944#true} {17265#(< ~counter~0 99)} #70#return; {17265#(< ~counter~0 99)} is VALID [2022-04-28 12:07:43,148 INFO L290 TraceCheckUtils]: 46: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 12:07:43,148 INFO L290 TraceCheckUtils]: 45: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 12:07:43,148 INFO L290 TraceCheckUtils]: 44: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 12:07:43,148 INFO L272 TraceCheckUtils]: 43: Hoare triple {17265#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 12:07:43,148 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {16944#true} {17265#(< ~counter~0 99)} #68#return; {17265#(< ~counter~0 99)} is VALID [2022-04-28 12:07:43,148 INFO L290 TraceCheckUtils]: 41: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 12:07:43,148 INFO L290 TraceCheckUtils]: 40: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 12:07:43,148 INFO L290 TraceCheckUtils]: 39: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 12:07:43,148 INFO L272 TraceCheckUtils]: 38: Hoare triple {17265#(< ~counter~0 99)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 12:07:43,149 INFO L290 TraceCheckUtils]: 37: Hoare triple {17265#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {17265#(< ~counter~0 99)} is VALID [2022-04-28 12:07:43,149 INFO L290 TraceCheckUtils]: 36: Hoare triple {17323#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17265#(< ~counter~0 99)} is VALID [2022-04-28 12:07:43,150 INFO L290 TraceCheckUtils]: 35: Hoare triple {17323#(< ~counter~0 98)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17323#(< ~counter~0 98)} is VALID [2022-04-28 12:07:43,150 INFO L290 TraceCheckUtils]: 34: Hoare triple {17323#(< ~counter~0 98)} assume !!(~a~0 != ~b~0); {17323#(< ~counter~0 98)} is VALID [2022-04-28 12:07:43,150 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16944#true} {17323#(< ~counter~0 98)} #72#return; {17323#(< ~counter~0 98)} is VALID [2022-04-28 12:07:43,150 INFO L290 TraceCheckUtils]: 32: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 12:07:43,151 INFO L290 TraceCheckUtils]: 31: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 12:07:43,151 INFO L290 TraceCheckUtils]: 30: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 12:07:43,151 INFO L272 TraceCheckUtils]: 29: Hoare triple {17323#(< ~counter~0 98)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 12:07:43,151 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16944#true} {17323#(< ~counter~0 98)} #70#return; {17323#(< ~counter~0 98)} is VALID [2022-04-28 12:07:43,151 INFO L290 TraceCheckUtils]: 27: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 12:07:43,151 INFO L290 TraceCheckUtils]: 26: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 12:07:43,151 INFO L290 TraceCheckUtils]: 25: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 12:07:43,151 INFO L272 TraceCheckUtils]: 24: Hoare triple {17323#(< ~counter~0 98)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 12:07:43,152 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16944#true} {17323#(< ~counter~0 98)} #68#return; {17323#(< ~counter~0 98)} is VALID [2022-04-28 12:07:43,152 INFO L290 TraceCheckUtils]: 22: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 12:07:43,152 INFO L290 TraceCheckUtils]: 21: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 12:07:43,152 INFO L290 TraceCheckUtils]: 20: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 12:07:43,152 INFO L272 TraceCheckUtils]: 19: Hoare triple {17323#(< ~counter~0 98)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16944#true} is VALID [2022-04-28 12:07:43,152 INFO L290 TraceCheckUtils]: 18: Hoare triple {17323#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {17323#(< ~counter~0 98)} is VALID [2022-04-28 12:07:43,153 INFO L290 TraceCheckUtils]: 17: Hoare triple {17381#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17323#(< ~counter~0 98)} is VALID [2022-04-28 12:07:43,153 INFO L290 TraceCheckUtils]: 16: Hoare triple {17381#(< ~counter~0 97)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17381#(< ~counter~0 97)} is VALID [2022-04-28 12:07:43,154 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16944#true} {17381#(< ~counter~0 97)} #66#return; {17381#(< ~counter~0 97)} is VALID [2022-04-28 12:07:43,154 INFO L290 TraceCheckUtils]: 14: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 12:07:43,154 INFO L290 TraceCheckUtils]: 13: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 12:07:43,154 INFO L290 TraceCheckUtils]: 12: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 12:07:43,154 INFO L272 TraceCheckUtils]: 11: Hoare triple {17381#(< ~counter~0 97)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16944#true} is VALID [2022-04-28 12:07:43,154 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16944#true} {17381#(< ~counter~0 97)} #64#return; {17381#(< ~counter~0 97)} is VALID [2022-04-28 12:07:43,154 INFO L290 TraceCheckUtils]: 9: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-28 12:07:43,154 INFO L290 TraceCheckUtils]: 8: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-28 12:07:43,154 INFO L290 TraceCheckUtils]: 7: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-28 12:07:43,154 INFO L272 TraceCheckUtils]: 6: Hoare triple {17381#(< ~counter~0 97)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16944#true} is VALID [2022-04-28 12:07:43,155 INFO L290 TraceCheckUtils]: 5: Hoare triple {17381#(< ~counter~0 97)} 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; {17381#(< ~counter~0 97)} is VALID [2022-04-28 12:07:43,155 INFO L272 TraceCheckUtils]: 4: Hoare triple {17381#(< ~counter~0 97)} call #t~ret7 := main(); {17381#(< ~counter~0 97)} is VALID [2022-04-28 12:07:43,155 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17381#(< ~counter~0 97)} {16944#true} #82#return; {17381#(< ~counter~0 97)} is VALID [2022-04-28 12:07:43,155 INFO L290 TraceCheckUtils]: 2: Hoare triple {17381#(< ~counter~0 97)} assume true; {17381#(< ~counter~0 97)} is VALID [2022-04-28 12:07:43,156 INFO L290 TraceCheckUtils]: 1: Hoare triple {16944#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; {17381#(< ~counter~0 97)} is VALID [2022-04-28 12:07:43,156 INFO L272 TraceCheckUtils]: 0: Hoare triple {16944#true} call ULTIMATE.init(); {16944#true} is VALID [2022-04-28 12:07:43,156 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-28 12:07:43,156 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:07:43,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [890493222] [2022-04-28 12:07:43,157 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:07:43,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2075840765] [2022-04-28 12:07:43,157 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2075840765] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:07:43,157 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:07:43,157 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 12:07:43,157 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:07:43,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [340861192] [2022-04-28 12:07:43,157 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [340861192] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:07:43,157 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:07:43,157 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:07:43,157 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1335831385] [2022-04-28 12:07:43,157 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:07:43,158 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-28 12:07:43,158 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:07:43,158 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-28 12:07:43,204 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-28 12:07:43,204 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:07:43,204 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:07:43,205 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:07:43,205 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:07:43,205 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-28 12:07:43,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:43,605 INFO L93 Difference]: Finished difference Result 277 states and 329 transitions. [2022-04-28 12:07:43,605 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:07:43,605 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-28 12:07:43,605 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:07:43,605 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-28 12:07:43,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 12:07:43,607 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-28 12:07:43,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 12:07:43,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-28 12:07:43,694 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:07:43,700 INFO L225 Difference]: With dead ends: 277 [2022-04-28 12:07:43,700 INFO L226 Difference]: Without dead ends: 250 [2022-04-28 12:07:43,700 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 149 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:07:43,701 INFO L413 NwaCegarLoop]: 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-28 12:07:43,701 INFO L414 NwaCegarLoop]: 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-28 12:07:43,701 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 250 states. [2022-04-28 12:07:43,861 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 250 to 229. [2022-04-28 12:07:43,861 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:07:43,861 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-28 12:07:43,862 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-28 12:07:43,862 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-28 12:07:43,868 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:43,868 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-28 12:07:43,868 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-28 12:07:43,869 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:07:43,869 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:07:43,870 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-28 12:07:43,870 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-28 12:07:43,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:43,876 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-28 12:07:43,876 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-28 12:07:43,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:07:43,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:07:43,877 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:07:43,877 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:07:43,877 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-28 12:07:43,883 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 268 transitions. [2022-04-28 12:07:43,883 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 268 transitions. Word has length 80 [2022-04-28 12:07:43,883 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:07:43,883 INFO L495 AbstractCegarLoop]: Abstraction has 229 states and 268 transitions. [2022-04-28 12:07:43,884 INFO L496 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-28 12:07:43,884 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 229 states and 268 transitions. [2022-04-28 12:07:44,385 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 268 edges. 268 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:07:44,386 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 268 transitions. [2022-04-28 12:07:44,386 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 12:07:44,387 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:07:44,387 INFO L195 NwaCegarLoop]: 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-28 12:07:44,411 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 12:07:44,587 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 12:07:44,587 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:07:44,588 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:07:44,588 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 7 times [2022-04-28 12:07:44,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:07:44,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1533278770] [2022-04-28 12:07:44,588 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:07:44,588 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 8 times [2022-04-28 12:07:44,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:07:44,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1895500248] [2022-04-28 12:07:44,589 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:07:44,589 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:07:44,608 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:07:44,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [158311956] [2022-04-28 12:07:44,608 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:07:44,609 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:07:44,609 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:07:44,613 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:07:44,613 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 12:07:44,666 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:07:44,667 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:07:44,668 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 12:07:44,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:07:44,684 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:07:45,451 INFO L272 TraceCheckUtils]: 0: Hoare triple {18953#true} call ULTIMATE.init(); {18953#true} is VALID [2022-04-28 12:07:45,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {18953#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; {18953#true} is VALID [2022-04-28 12:07:45,451 INFO L290 TraceCheckUtils]: 2: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:45,451 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18953#true} {18953#true} #82#return; {18953#true} is VALID [2022-04-28 12:07:45,451 INFO L272 TraceCheckUtils]: 4: Hoare triple {18953#true} call #t~ret7 := main(); {18953#true} is VALID [2022-04-28 12:07:45,451 INFO L290 TraceCheckUtils]: 5: Hoare triple {18953#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; {18953#true} is VALID [2022-04-28 12:07:45,451 INFO L272 TraceCheckUtils]: 6: Hoare triple {18953#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-28 12:07:45,451 INFO L290 TraceCheckUtils]: 7: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:45,451 INFO L290 TraceCheckUtils]: 8: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:45,452 INFO L290 TraceCheckUtils]: 9: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:45,452 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18953#true} {18953#true} #64#return; {18953#true} is VALID [2022-04-28 12:07:45,452 INFO L272 TraceCheckUtils]: 11: Hoare triple {18953#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-28 12:07:45,455 INFO L290 TraceCheckUtils]: 12: Hoare triple {18953#true} ~cond := #in~cond; {18994#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:07:45,456 INFO L290 TraceCheckUtils]: 13: Hoare triple {18994#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {18998#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:07:45,456 INFO L290 TraceCheckUtils]: 14: Hoare triple {18998#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {18998#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:07:45,457 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18998#(not (= |assume_abort_if_not_#in~cond| 0))} {18953#true} #66#return; {19005#(<= 1 main_~y~0)} is VALID [2022-04-28 12:07:45,457 INFO L290 TraceCheckUtils]: 16: Hoare triple {19005#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19009#(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-28 12:07:45,458 INFO L290 TraceCheckUtils]: 17: Hoare triple {19009#(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; {19009#(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-28 12:07:45,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {19009#(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 < 100);havoc #t~post6; {19009#(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-28 12:07:45,458 INFO L272 TraceCheckUtils]: 19: Hoare triple {19009#(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)); {18953#true} is VALID [2022-04-28 12:07:45,459 INFO L290 TraceCheckUtils]: 20: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:45,459 INFO L290 TraceCheckUtils]: 21: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:45,459 INFO L290 TraceCheckUtils]: 22: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:45,459 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18953#true} {19009#(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; {19009#(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-28 12:07:45,460 INFO L272 TraceCheckUtils]: 24: Hoare triple {19009#(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)); {18953#true} is VALID [2022-04-28 12:07:45,460 INFO L290 TraceCheckUtils]: 25: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:45,460 INFO L290 TraceCheckUtils]: 26: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:45,460 INFO L290 TraceCheckUtils]: 27: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:45,461 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18953#true} {19009#(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; {19009#(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-28 12:07:45,461 INFO L272 TraceCheckUtils]: 29: Hoare triple {19009#(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)); {18953#true} is VALID [2022-04-28 12:07:45,461 INFO L290 TraceCheckUtils]: 30: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:45,461 INFO L290 TraceCheckUtils]: 31: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:45,461 INFO L290 TraceCheckUtils]: 32: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:45,462 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18953#true} {19009#(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; {19009#(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-28 12:07:45,462 INFO L290 TraceCheckUtils]: 34: Hoare triple {19009#(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); {19009#(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-28 12:07:45,463 INFO L290 TraceCheckUtils]: 35: Hoare triple {19009#(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; {19067#(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-28 12:07:45,463 INFO L290 TraceCheckUtils]: 36: Hoare triple {19067#(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; {19067#(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-28 12:07:45,464 INFO L290 TraceCheckUtils]: 37: Hoare triple {19067#(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 < 100);havoc #t~post6; {19067#(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-28 12:07:45,464 INFO L272 TraceCheckUtils]: 38: Hoare triple {19067#(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)); {18953#true} is VALID [2022-04-28 12:07:45,464 INFO L290 TraceCheckUtils]: 39: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:45,464 INFO L290 TraceCheckUtils]: 40: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:45,464 INFO L290 TraceCheckUtils]: 41: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:45,465 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18953#true} {19067#(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; {19067#(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-28 12:07:45,465 INFO L272 TraceCheckUtils]: 43: Hoare triple {19067#(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)); {18953#true} is VALID [2022-04-28 12:07:45,465 INFO L290 TraceCheckUtils]: 44: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:45,465 INFO L290 TraceCheckUtils]: 45: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:45,465 INFO L290 TraceCheckUtils]: 46: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:45,466 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18953#true} {19067#(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; {19067#(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-28 12:07:45,466 INFO L272 TraceCheckUtils]: 48: Hoare triple {19067#(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)); {18953#true} is VALID [2022-04-28 12:07:45,466 INFO L290 TraceCheckUtils]: 49: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:45,466 INFO L290 TraceCheckUtils]: 50: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:45,466 INFO L290 TraceCheckUtils]: 51: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:45,466 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18953#true} {19067#(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; {19067#(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-28 12:07:45,467 INFO L290 TraceCheckUtils]: 53: Hoare triple {19067#(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); {19067#(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-28 12:07:45,468 INFO L290 TraceCheckUtils]: 54: Hoare triple {19067#(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; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:07:45,468 INFO L290 TraceCheckUtils]: 55: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:07:45,468 INFO L290 TraceCheckUtils]: 56: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(#t~post6 < 100);havoc #t~post6; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:07:45,469 INFO L272 TraceCheckUtils]: 57: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= 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)); {18953#true} is VALID [2022-04-28 12:07:45,469 INFO L290 TraceCheckUtils]: 58: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:45,469 INFO L290 TraceCheckUtils]: 59: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:45,469 INFO L290 TraceCheckUtils]: 60: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:45,469 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18953#true} {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #68#return; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:07:45,469 INFO L272 TraceCheckUtils]: 62: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= 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)); {18953#true} is VALID [2022-04-28 12:07:45,469 INFO L290 TraceCheckUtils]: 63: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:45,470 INFO L290 TraceCheckUtils]: 64: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:45,470 INFO L290 TraceCheckUtils]: 65: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:45,470 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18953#true} {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #70#return; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:07:45,470 INFO L272 TraceCheckUtils]: 67: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= 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)); {18953#true} is VALID [2022-04-28 12:07:45,470 INFO L290 TraceCheckUtils]: 68: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:45,470 INFO L290 TraceCheckUtils]: 69: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:45,470 INFO L290 TraceCheckUtils]: 70: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:45,471 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18953#true} {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #72#return; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:07:45,471 INFO L290 TraceCheckUtils]: 72: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:07:45,472 INFO L290 TraceCheckUtils]: 73: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= 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; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:45,473 INFO L290 TraceCheckUtils]: 74: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:45,473 INFO L290 TraceCheckUtils]: 75: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:45,473 INFO L272 TraceCheckUtils]: 76: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) 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)); {18953#true} is VALID [2022-04-28 12:07:45,473 INFO L290 TraceCheckUtils]: 77: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:45,473 INFO L290 TraceCheckUtils]: 78: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:45,473 INFO L290 TraceCheckUtils]: 79: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:45,474 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18953#true} {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #68#return; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:45,475 INFO L272 TraceCheckUtils]: 81: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) 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)); {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:07:45,475 INFO L290 TraceCheckUtils]: 82: Hoare triple {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19212#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:07:45,475 INFO L290 TraceCheckUtils]: 83: Hoare triple {19212#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18954#false} is VALID [2022-04-28 12:07:45,475 INFO L290 TraceCheckUtils]: 84: Hoare triple {18954#false} assume !false; {18954#false} is VALID [2022-04-28 12:07:45,476 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-28 12:07:45,476 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:07:45,938 INFO L290 TraceCheckUtils]: 84: Hoare triple {18954#false} assume !false; {18954#false} is VALID [2022-04-28 12:07:45,938 INFO L290 TraceCheckUtils]: 83: Hoare triple {19212#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18954#false} is VALID [2022-04-28 12:07:45,938 INFO L290 TraceCheckUtils]: 82: Hoare triple {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19212#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:07:45,939 INFO L272 TraceCheckUtils]: 81: Hoare triple {19228#(= 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)); {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:07:45,940 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18953#true} {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:07:45,940 INFO L290 TraceCheckUtils]: 79: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:45,940 INFO L290 TraceCheckUtils]: 78: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:45,940 INFO L290 TraceCheckUtils]: 77: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:45,940 INFO L272 TraceCheckUtils]: 76: Hoare triple {19228#(= 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)); {18953#true} is VALID [2022-04-28 12:07:45,940 INFO L290 TraceCheckUtils]: 75: Hoare triple {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:07:45,941 INFO L290 TraceCheckUtils]: 74: Hoare triple {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:07:47,661 INFO L290 TraceCheckUtils]: 73: Hoare triple {19253#(= (+ 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; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:07:47,662 INFO L290 TraceCheckUtils]: 72: Hoare triple {19253#(= (+ 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); {19253#(= (+ 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-28 12:07:47,663 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18953#true} {19253#(= (+ 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; {19253#(= (+ 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-28 12:07:47,663 INFO L290 TraceCheckUtils]: 70: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:47,663 INFO L290 TraceCheckUtils]: 69: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:47,663 INFO L290 TraceCheckUtils]: 68: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:47,663 INFO L272 TraceCheckUtils]: 67: Hoare triple {19253#(= (+ 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)); {18953#true} is VALID [2022-04-28 12:07:47,664 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18953#true} {19253#(= (+ 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; {19253#(= (+ 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-28 12:07:47,664 INFO L290 TraceCheckUtils]: 65: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:47,664 INFO L290 TraceCheckUtils]: 64: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:47,664 INFO L290 TraceCheckUtils]: 63: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:47,664 INFO L272 TraceCheckUtils]: 62: Hoare triple {19253#(= (+ 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)); {18953#true} is VALID [2022-04-28 12:07:47,665 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18953#true} {19253#(= (+ 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; {19253#(= (+ 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-28 12:07:47,665 INFO L290 TraceCheckUtils]: 60: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:47,665 INFO L290 TraceCheckUtils]: 59: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:47,665 INFO L290 TraceCheckUtils]: 58: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:47,665 INFO L272 TraceCheckUtils]: 57: Hoare triple {19253#(= (+ 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)); {18953#true} is VALID [2022-04-28 12:07:47,666 INFO L290 TraceCheckUtils]: 56: Hoare triple {19253#(= (+ 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 < 100);havoc #t~post6; {19253#(= (+ 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-28 12:07:47,666 INFO L290 TraceCheckUtils]: 55: Hoare triple {19253#(= (+ 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; {19253#(= (+ 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-28 12:07:47,826 INFO L290 TraceCheckUtils]: 54: Hoare triple {19311#(= (+ (* 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; {19253#(= (+ 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-28 12:07:47,827 INFO L290 TraceCheckUtils]: 53: Hoare triple {19311#(= (+ (* 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); {19311#(= (+ (* 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-28 12:07:47,827 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18953#true} {19311#(= (+ (* 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; {19311#(= (+ (* 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-28 12:07:47,827 INFO L290 TraceCheckUtils]: 51: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:47,827 INFO L290 TraceCheckUtils]: 50: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:47,827 INFO L290 TraceCheckUtils]: 49: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:47,828 INFO L272 TraceCheckUtils]: 48: Hoare triple {19311#(= (+ (* 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)); {18953#true} is VALID [2022-04-28 12:07:47,828 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18953#true} {19311#(= (+ (* 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; {19311#(= (+ (* 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-28 12:07:47,828 INFO L290 TraceCheckUtils]: 46: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:47,828 INFO L290 TraceCheckUtils]: 45: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:47,828 INFO L290 TraceCheckUtils]: 44: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:47,828 INFO L272 TraceCheckUtils]: 43: Hoare triple {19311#(= (+ (* 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)); {18953#true} is VALID [2022-04-28 12:07:47,829 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18953#true} {19311#(= (+ (* 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; {19311#(= (+ (* 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-28 12:07:47,829 INFO L290 TraceCheckUtils]: 41: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:47,829 INFO L290 TraceCheckUtils]: 40: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:47,829 INFO L290 TraceCheckUtils]: 39: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:47,829 INFO L272 TraceCheckUtils]: 38: Hoare triple {19311#(= (+ (* 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)); {18953#true} is VALID [2022-04-28 12:07:47,830 INFO L290 TraceCheckUtils]: 37: Hoare triple {19311#(= (+ (* 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 < 100);havoc #t~post6; {19311#(= (+ (* 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-28 12:07:47,830 INFO L290 TraceCheckUtils]: 36: Hoare triple {19311#(= (+ (* 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; {19311#(= (+ (* 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-28 12:07:48,344 INFO L290 TraceCheckUtils]: 35: Hoare triple {19369#(= (+ (* 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; {19311#(= (+ (* 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-28 12:07:48,344 INFO L290 TraceCheckUtils]: 34: Hoare triple {19369#(= (+ (* 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); {19369#(= (+ (* 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-28 12:07:48,345 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18953#true} {19369#(= (+ (* 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; {19369#(= (+ (* 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-28 12:07:48,345 INFO L290 TraceCheckUtils]: 32: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:48,345 INFO L290 TraceCheckUtils]: 31: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:48,345 INFO L290 TraceCheckUtils]: 30: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:48,345 INFO L272 TraceCheckUtils]: 29: Hoare triple {19369#(= (+ (* 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)); {18953#true} is VALID [2022-04-28 12:07:48,346 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18953#true} {19369#(= (+ (* 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; {19369#(= (+ (* 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-28 12:07:48,346 INFO L290 TraceCheckUtils]: 27: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:48,346 INFO L290 TraceCheckUtils]: 26: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:48,346 INFO L290 TraceCheckUtils]: 25: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:48,346 INFO L272 TraceCheckUtils]: 24: Hoare triple {19369#(= (+ (* 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)); {18953#true} is VALID [2022-04-28 12:07:48,347 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18953#true} {19369#(= (+ (* 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; {19369#(= (+ (* 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-28 12:07:48,347 INFO L290 TraceCheckUtils]: 22: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:48,347 INFO L290 TraceCheckUtils]: 21: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:48,347 INFO L290 TraceCheckUtils]: 20: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:48,347 INFO L272 TraceCheckUtils]: 19: Hoare triple {19369#(= (+ (* 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)); {18953#true} is VALID [2022-04-28 12:07:48,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {19369#(= (+ (* 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 < 100);havoc #t~post6; {19369#(= (+ (* 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-28 12:07:48,348 INFO L290 TraceCheckUtils]: 17: Hoare triple {19369#(= (+ (* 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; {19369#(= (+ (* 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-28 12:07:48,348 INFO L290 TraceCheckUtils]: 16: Hoare triple {18953#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19369#(= (+ (* 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-28 12:07:48,348 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18953#true} {18953#true} #66#return; {18953#true} is VALID [2022-04-28 12:07:48,348 INFO L290 TraceCheckUtils]: 14: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:48,349 INFO L290 TraceCheckUtils]: 13: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:48,349 INFO L290 TraceCheckUtils]: 12: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:48,349 INFO L272 TraceCheckUtils]: 11: Hoare triple {18953#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-28 12:07:48,349 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18953#true} {18953#true} #64#return; {18953#true} is VALID [2022-04-28 12:07:48,349 INFO L290 TraceCheckUtils]: 9: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:48,349 INFO L290 TraceCheckUtils]: 8: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-28 12:07:48,349 INFO L290 TraceCheckUtils]: 7: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-28 12:07:48,349 INFO L272 TraceCheckUtils]: 6: Hoare triple {18953#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-28 12:07:48,349 INFO L290 TraceCheckUtils]: 5: Hoare triple {18953#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; {18953#true} is VALID [2022-04-28 12:07:48,349 INFO L272 TraceCheckUtils]: 4: Hoare triple {18953#true} call #t~ret7 := main(); {18953#true} is VALID [2022-04-28 12:07:48,349 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18953#true} {18953#true} #82#return; {18953#true} is VALID [2022-04-28 12:07:48,349 INFO L290 TraceCheckUtils]: 2: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-28 12:07:48,349 INFO L290 TraceCheckUtils]: 1: Hoare triple {18953#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; {18953#true} is VALID [2022-04-28 12:07:48,349 INFO L272 TraceCheckUtils]: 0: Hoare triple {18953#true} call ULTIMATE.init(); {18953#true} is VALID [2022-04-28 12:07:48,359 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-28 12:07:48,360 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:07:48,360 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1895500248] [2022-04-28 12:07:48,360 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:07:48,360 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [158311956] [2022-04-28 12:07:48,360 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [158311956] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:07:48,360 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:07:48,360 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-28 12:07:48,360 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:07:48,360 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1533278770] [2022-04-28 12:07:48,360 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1533278770] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:07:48,360 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:07:48,361 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:07:48,361 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1323332346] [2022-04-28 12:07:48,361 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:07:48,361 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-28 12:07:48,361 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:07:48,361 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-28 12:07:48,418 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:07:48,418 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:07:48,418 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:07:48,419 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:07:48,419 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:07:48,419 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-28 12:07:50,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:50,222 INFO L93 Difference]: Finished difference Result 256 states and 307 transitions. [2022-04-28 12:07:50,222 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:07:50,222 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-28 12:07:50,222 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:07:50,222 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-28 12:07:50,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:07:50,224 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-28 12:07:50,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:07:50,226 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-28 12:07:50,376 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:07:50,381 INFO L225 Difference]: With dead ends: 256 [2022-04-28 12:07:50,382 INFO L226 Difference]: Without dead ends: 254 [2022-04-28 12:07:50,382 INFO L412 NwaCegarLoop]: 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-28 12:07:50,382 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 25 mSDsluCounter, 178 mSDsCounter, 0 mSdLazyCounter, 351 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 379 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 351 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 12:07:50,383 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 230 Invalid, 379 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 351 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 12:07:50,383 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-28 12:07:50,650 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 238. [2022-04-28 12:07:50,650 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:07:50,651 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-28 12:07:50,651 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-28 12:07:50,652 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-28 12:07:50,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:50,657 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-28 12:07:50,657 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-28 12:07:50,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:07:50,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:07:50,659 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-28 12:07:50,659 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-28 12:07:50,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:50,665 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-28 12:07:50,665 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-28 12:07:50,666 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:07:50,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:07:50,666 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:07:50,666 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:07:50,666 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-28 12:07:50,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 238 states to 238 states and 280 transitions. [2022-04-28 12:07:50,673 INFO L78 Accepts]: Start accepts. Automaton has 238 states and 280 transitions. Word has length 85 [2022-04-28 12:07:50,673 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:07:50,673 INFO L495 AbstractCegarLoop]: Abstraction has 238 states and 280 transitions. [2022-04-28 12:07:50,673 INFO L496 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-28 12:07:50,673 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 238 states and 280 transitions. [2022-04-28 12:07:51,137 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-28 12:07:51,137 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 280 transitions. [2022-04-28 12:07:51,138 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 12:07:51,138 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:07:51,138 INFO L195 NwaCegarLoop]: 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-28 12:07:51,164 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 12:07:51,359 WARN L477 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-28 12:07:51,360 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:07:51,360 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:07:51,360 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 7 times [2022-04-28 12:07:51,360 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:07:51,360 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1339734606] [2022-04-28 12:07:51,360 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:07:51,361 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 8 times [2022-04-28 12:07:51,361 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:07:51,361 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2068793869] [2022-04-28 12:07:51,361 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:07:51,361 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:07:51,372 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:07:51,372 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [551207666] [2022-04-28 12:07:51,372 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:07:51,372 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:07:51,373 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:07:51,374 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:07:51,374 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 12:07:51,474 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:07:51,475 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:07:51,476 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 12:07:51,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:07:51,492 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:07:52,925 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:07:52,977 INFO L272 TraceCheckUtils]: 0: Hoare triple {20977#true} call ULTIMATE.init(); {20977#true} is VALID [2022-04-28 12:07:52,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {20977#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; {20977#true} is VALID [2022-04-28 12:07:52,977 INFO L290 TraceCheckUtils]: 2: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:52,977 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20977#true} {20977#true} #82#return; {20977#true} is VALID [2022-04-28 12:07:52,977 INFO L272 TraceCheckUtils]: 4: Hoare triple {20977#true} call #t~ret7 := main(); {20977#true} is VALID [2022-04-28 12:07:52,977 INFO L290 TraceCheckUtils]: 5: Hoare triple {20977#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; {20977#true} is VALID [2022-04-28 12:07:52,977 INFO L272 TraceCheckUtils]: 6: Hoare triple {20977#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-28 12:07:52,977 INFO L290 TraceCheckUtils]: 7: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:52,977 INFO L290 TraceCheckUtils]: 8: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:52,978 INFO L290 TraceCheckUtils]: 9: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:52,978 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20977#true} {20977#true} #64#return; {20977#true} is VALID [2022-04-28 12:07:52,978 INFO L272 TraceCheckUtils]: 11: Hoare triple {20977#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-28 12:07:52,978 INFO L290 TraceCheckUtils]: 12: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:52,978 INFO L290 TraceCheckUtils]: 13: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:52,978 INFO L290 TraceCheckUtils]: 14: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:52,978 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20977#true} {20977#true} #66#return; {20977#true} is VALID [2022-04-28 12:07:52,981 INFO L290 TraceCheckUtils]: 16: Hoare triple {20977#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:52,982 INFO L290 TraceCheckUtils]: 17: Hoare triple {21030#(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; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:52,982 INFO L290 TraceCheckUtils]: 18: Hoare triple {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:52,982 INFO L272 TraceCheckUtils]: 19: Hoare triple {21030#(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)); {20977#true} is VALID [2022-04-28 12:07:52,982 INFO L290 TraceCheckUtils]: 20: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:52,982 INFO L290 TraceCheckUtils]: 21: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:52,982 INFO L290 TraceCheckUtils]: 22: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:52,983 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20977#true} {21030#(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; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:52,983 INFO L272 TraceCheckUtils]: 24: Hoare triple {21030#(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)); {20977#true} is VALID [2022-04-28 12:07:52,983 INFO L290 TraceCheckUtils]: 25: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:52,983 INFO L290 TraceCheckUtils]: 26: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:52,983 INFO L290 TraceCheckUtils]: 27: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:52,984 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20977#true} {21030#(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; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:52,984 INFO L272 TraceCheckUtils]: 29: Hoare triple {21030#(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)); {20977#true} is VALID [2022-04-28 12:07:52,984 INFO L290 TraceCheckUtils]: 30: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:52,984 INFO L290 TraceCheckUtils]: 31: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:52,984 INFO L290 TraceCheckUtils]: 32: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:52,985 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20977#true} {21030#(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; {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:52,985 INFO L290 TraceCheckUtils]: 34: Hoare triple {21030#(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); {21030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:07:52,994 INFO L290 TraceCheckUtils]: 35: Hoare triple {21030#(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; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:07:52,995 INFO L290 TraceCheckUtils]: 36: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:07:52,996 INFO L290 TraceCheckUtils]: 37: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:07:52,996 INFO L272 TraceCheckUtils]: 38: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= 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)); {20977#true} is VALID [2022-04-28 12:07:52,996 INFO L290 TraceCheckUtils]: 39: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:52,996 INFO L290 TraceCheckUtils]: 40: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:52,996 INFO L290 TraceCheckUtils]: 41: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:52,997 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20977#true} {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:07:52,997 INFO L272 TraceCheckUtils]: 43: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= 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)); {20977#true} is VALID [2022-04-28 12:07:52,998 INFO L290 TraceCheckUtils]: 44: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:52,998 INFO L290 TraceCheckUtils]: 45: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:52,998 INFO L290 TraceCheckUtils]: 46: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:52,999 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20977#true} {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:07:52,999 INFO L272 TraceCheckUtils]: 48: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~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)); {20977#true} is VALID [2022-04-28 12:07:52,999 INFO L290 TraceCheckUtils]: 49: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:52,999 INFO L290 TraceCheckUtils]: 50: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:52,999 INFO L290 TraceCheckUtils]: 51: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:53,000 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20977#true} {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:07:53,001 INFO L290 TraceCheckUtils]: 53: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:07:53,002 INFO L290 TraceCheckUtils]: 54: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~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; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:07:53,003 INFO L290 TraceCheckUtils]: 55: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:07:53,004 INFO L290 TraceCheckUtils]: 56: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:07:53,004 INFO L272 TraceCheckUtils]: 57: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= 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)); {20977#true} is VALID [2022-04-28 12:07:53,004 INFO L290 TraceCheckUtils]: 58: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:53,004 INFO L290 TraceCheckUtils]: 59: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:53,004 INFO L290 TraceCheckUtils]: 60: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:53,008 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20977#true} {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #68#return; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:07:53,008 INFO L272 TraceCheckUtils]: 62: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 12:07:53,008 INFO L290 TraceCheckUtils]: 63: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:53,008 INFO L290 TraceCheckUtils]: 64: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:53,008 INFO L290 TraceCheckUtils]: 65: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:53,009 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20977#true} {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #70#return; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:07:53,009 INFO L272 TraceCheckUtils]: 67: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 12:07:53,009 INFO L290 TraceCheckUtils]: 68: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:53,009 INFO L290 TraceCheckUtils]: 69: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:53,009 INFO L290 TraceCheckUtils]: 70: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:53,010 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20977#true} {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #72#return; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:07:53,010 INFO L290 TraceCheckUtils]: 72: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:07:53,012 INFO L290 TraceCheckUtils]: 73: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 12:07:53,012 INFO L290 TraceCheckUtils]: 74: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 12:07:53,013 INFO L290 TraceCheckUtils]: 75: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 12:07:53,013 INFO L272 TraceCheckUtils]: 76: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-28 12:07:53,013 INFO L290 TraceCheckUtils]: 77: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:53,013 INFO L290 TraceCheckUtils]: 78: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:53,013 INFO L290 TraceCheckUtils]: 79: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:53,014 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20977#true} {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} #68#return; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 12:07:53,016 INFO L272 TraceCheckUtils]: 81: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:07:53,016 INFO L290 TraceCheckUtils]: 82: Hoare triple {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21233#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:07:53,017 INFO L290 TraceCheckUtils]: 83: Hoare triple {21233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20978#false} is VALID [2022-04-28 12:07:53,017 INFO L290 TraceCheckUtils]: 84: Hoare triple {20978#false} assume !false; {20978#false} is VALID [2022-04-28 12:07:53,017 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-28 12:07:53,017 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:07:53,789 INFO L290 TraceCheckUtils]: 84: Hoare triple {20978#false} assume !false; {20978#false} is VALID [2022-04-28 12:07:53,790 INFO L290 TraceCheckUtils]: 83: Hoare triple {21233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20978#false} is VALID [2022-04-28 12:07:53,790 INFO L290 TraceCheckUtils]: 82: Hoare triple {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21233#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:07:53,791 INFO L272 TraceCheckUtils]: 81: Hoare triple {21249#(= 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)); {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:07:53,791 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20977#true} {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:07:53,792 INFO L290 TraceCheckUtils]: 79: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:53,792 INFO L290 TraceCheckUtils]: 78: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:53,792 INFO L290 TraceCheckUtils]: 77: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:53,792 INFO L272 TraceCheckUtils]: 76: Hoare triple {21249#(= 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)); {20977#true} is VALID [2022-04-28 12:07:53,792 INFO L290 TraceCheckUtils]: 75: Hoare triple {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:07:53,792 INFO L290 TraceCheckUtils]: 74: Hoare triple {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:07:54,487 INFO L290 TraceCheckUtils]: 73: Hoare triple {21274#(= (+ 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; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:07:54,488 INFO L290 TraceCheckUtils]: 72: Hoare triple {21274#(= (+ 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); {21274#(= (+ 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-28 12:07:54,489 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20977#true} {21274#(= (+ 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; {21274#(= (+ 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-28 12:07:54,489 INFO L290 TraceCheckUtils]: 70: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:54,489 INFO L290 TraceCheckUtils]: 69: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:54,489 INFO L290 TraceCheckUtils]: 68: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:54,489 INFO L272 TraceCheckUtils]: 67: Hoare triple {21274#(= (+ 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)); {20977#true} is VALID [2022-04-28 12:07:54,489 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20977#true} {21274#(= (+ 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; {21274#(= (+ 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-28 12:07:54,490 INFO L290 TraceCheckUtils]: 65: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:54,490 INFO L290 TraceCheckUtils]: 64: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:54,490 INFO L290 TraceCheckUtils]: 63: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:54,490 INFO L272 TraceCheckUtils]: 62: Hoare triple {21274#(= (+ 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)); {20977#true} is VALID [2022-04-28 12:07:54,490 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20977#true} {21274#(= (+ 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; {21274#(= (+ 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-28 12:07:54,490 INFO L290 TraceCheckUtils]: 60: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:54,490 INFO L290 TraceCheckUtils]: 59: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:54,490 INFO L290 TraceCheckUtils]: 58: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:54,490 INFO L272 TraceCheckUtils]: 57: Hoare triple {21274#(= (+ 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)); {20977#true} is VALID [2022-04-28 12:07:54,491 INFO L290 TraceCheckUtils]: 56: Hoare triple {21274#(= (+ 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 < 100);havoc #t~post6; {21274#(= (+ 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-28 12:07:54,491 INFO L290 TraceCheckUtils]: 55: Hoare triple {21274#(= (+ 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; {21274#(= (+ 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-28 12:07:54,536 INFO L290 TraceCheckUtils]: 54: Hoare triple {21332#(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; {21274#(= (+ 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-28 12:07:54,537 INFO L290 TraceCheckUtils]: 53: Hoare triple {21332#(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); {21332#(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-28 12:07:54,538 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20977#true} {21332#(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; {21332#(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-28 12:07:54,538 INFO L290 TraceCheckUtils]: 51: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:54,539 INFO L290 TraceCheckUtils]: 50: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:54,539 INFO L290 TraceCheckUtils]: 49: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:54,539 INFO L272 TraceCheckUtils]: 48: Hoare triple {21332#(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)); {20977#true} is VALID [2022-04-28 12:07:54,540 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20977#true} {21332#(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; {21332#(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-28 12:07:54,540 INFO L290 TraceCheckUtils]: 46: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:54,540 INFO L290 TraceCheckUtils]: 45: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:54,540 INFO L290 TraceCheckUtils]: 44: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:54,540 INFO L272 TraceCheckUtils]: 43: Hoare triple {21332#(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)); {20977#true} is VALID [2022-04-28 12:07:54,540 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20977#true} {21332#(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; {21332#(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-28 12:07:54,541 INFO L290 TraceCheckUtils]: 41: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:54,541 INFO L290 TraceCheckUtils]: 40: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:54,541 INFO L290 TraceCheckUtils]: 39: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:54,541 INFO L272 TraceCheckUtils]: 38: Hoare triple {21332#(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)); {20977#true} is VALID [2022-04-28 12:07:54,541 INFO L290 TraceCheckUtils]: 37: Hoare triple {21332#(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 < 100);havoc #t~post6; {21332#(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-28 12:07:54,542 INFO L290 TraceCheckUtils]: 36: Hoare triple {21332#(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; {21332#(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-28 12:07:55,900 INFO L290 TraceCheckUtils]: 35: Hoare triple {21390#(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; {21332#(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-28 12:07:55,901 INFO L290 TraceCheckUtils]: 34: Hoare triple {21390#(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); {21390#(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-28 12:07:55,902 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20977#true} {21390#(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; {21390#(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-28 12:07:55,902 INFO L290 TraceCheckUtils]: 32: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:55,902 INFO L290 TraceCheckUtils]: 31: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:55,903 INFO L290 TraceCheckUtils]: 30: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:55,903 INFO L272 TraceCheckUtils]: 29: Hoare triple {21390#(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)); {20977#true} is VALID [2022-04-28 12:07:55,903 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20977#true} {21390#(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; {21390#(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-28 12:07:55,903 INFO L290 TraceCheckUtils]: 27: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:55,903 INFO L290 TraceCheckUtils]: 26: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:55,903 INFO L290 TraceCheckUtils]: 25: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:55,903 INFO L272 TraceCheckUtils]: 24: Hoare triple {21390#(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)); {20977#true} is VALID [2022-04-28 12:07:55,904 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20977#true} {21390#(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; {21390#(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-28 12:07:55,904 INFO L290 TraceCheckUtils]: 22: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:55,904 INFO L290 TraceCheckUtils]: 21: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:55,904 INFO L290 TraceCheckUtils]: 20: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:55,905 INFO L272 TraceCheckUtils]: 19: Hoare triple {21390#(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)); {20977#true} is VALID [2022-04-28 12:07:55,905 INFO L290 TraceCheckUtils]: 18: Hoare triple {21390#(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 < 100);havoc #t~post6; {21390#(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-28 12:07:55,906 INFO L290 TraceCheckUtils]: 17: Hoare triple {21390#(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; {21390#(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-28 12:07:55,906 INFO L290 TraceCheckUtils]: 16: Hoare triple {20977#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21390#(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-28 12:07:55,906 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20977#true} {20977#true} #66#return; {20977#true} is VALID [2022-04-28 12:07:55,906 INFO L290 TraceCheckUtils]: 14: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:55,906 INFO L290 TraceCheckUtils]: 13: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:55,906 INFO L290 TraceCheckUtils]: 12: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:55,906 INFO L272 TraceCheckUtils]: 11: Hoare triple {20977#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-28 12:07:55,906 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20977#true} {20977#true} #64#return; {20977#true} is VALID [2022-04-28 12:07:55,906 INFO L290 TraceCheckUtils]: 9: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:55,906 INFO L290 TraceCheckUtils]: 8: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-28 12:07:55,906 INFO L290 TraceCheckUtils]: 7: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-28 12:07:55,907 INFO L272 TraceCheckUtils]: 6: Hoare triple {20977#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-28 12:07:55,907 INFO L290 TraceCheckUtils]: 5: Hoare triple {20977#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; {20977#true} is VALID [2022-04-28 12:07:55,907 INFO L272 TraceCheckUtils]: 4: Hoare triple {20977#true} call #t~ret7 := main(); {20977#true} is VALID [2022-04-28 12:07:55,907 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20977#true} {20977#true} #82#return; {20977#true} is VALID [2022-04-28 12:07:55,907 INFO L290 TraceCheckUtils]: 2: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-28 12:07:55,907 INFO L290 TraceCheckUtils]: 1: Hoare triple {20977#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; {20977#true} is VALID [2022-04-28 12:07:55,907 INFO L272 TraceCheckUtils]: 0: Hoare triple {20977#true} call ULTIMATE.init(); {20977#true} is VALID [2022-04-28 12:07:55,907 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-28 12:07:55,907 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:07:55,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2068793869] [2022-04-28 12:07:55,907 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:07:55,908 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [551207666] [2022-04-28 12:07:55,908 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [551207666] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:07:55,908 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:07:55,908 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-28 12:07:55,908 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:07:55,908 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1339734606] [2022-04-28 12:07:55,908 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1339734606] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:07:55,908 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:07:55,908 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:07:55,908 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [321893906] [2022-04-28 12:07:55,908 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:07:55,909 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-28 12:07:55,909 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:07:55,909 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-28 12:07:55,970 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:07:55,971 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:07:55,971 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:07:55,971 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:07:55,971 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:07:55,971 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-28 12:07:58,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:58,280 INFO L93 Difference]: Finished difference Result 286 states and 341 transitions. [2022-04-28 12:07:58,280 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:07:58,281 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-28 12:07:58,281 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:07:58,281 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-28 12:07:58,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-28 12:07:58,283 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-28 12:07:58,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-28 12:07:58,284 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 97 transitions. [2022-04-28 12:07:58,413 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:07:58,418 INFO L225 Difference]: With dead ends: 286 [2022-04-28 12:07:58,418 INFO L226 Difference]: Without dead ends: 284 [2022-04-28 12:07:58,419 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 158 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:07:58,419 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 9 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 299 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s 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, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:07:58,419 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 248 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 299 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 12:07:58,420 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 284 states. [2022-04-28 12:07:58,747 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 284 to 268. [2022-04-28 12:07:58,747 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:07:58,748 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-28 12:07:58,749 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-28 12:07:58,750 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-28 12:07:58,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:58,756 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-28 12:07:58,756 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-28 12:07:58,757 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:07:58,757 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:07:58,758 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-28 12:07:58,758 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-28 12:07:58,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:07:58,764 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-28 12:07:58,764 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-28 12:07:58,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:07:58,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:07:58,765 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:07:58,765 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:07:58,766 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-28 12:07:58,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 268 states to 268 states and 314 transitions. [2022-04-28 12:07:58,772 INFO L78 Accepts]: Start accepts. Automaton has 268 states and 314 transitions. Word has length 85 [2022-04-28 12:07:58,773 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:07:58,773 INFO L495 AbstractCegarLoop]: Abstraction has 268 states and 314 transitions. [2022-04-28 12:07:58,773 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 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-28 12:07:58,773 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 268 states and 314 transitions. [2022-04-28 12:07:59,325 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-28 12:07:59,326 INFO L276 IsEmpty]: Start isEmpty. Operand 268 states and 314 transitions. [2022-04-28 12:07:59,326 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 12:07:59,326 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:07:59,326 INFO L195 NwaCegarLoop]: 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-28 12:07:59,343 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 12:07:59,527 WARN L477 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-28 12:07:59,527 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:07:59,527 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:07:59,528 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 9 times [2022-04-28 12:07:59,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:07:59,528 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1026956326] [2022-04-28 12:07:59,528 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:07:59,528 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 10 times [2022-04-28 12:07:59,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:07:59,528 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1213727960] [2022-04-28 12:07:59,528 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:07:59,528 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:07:59,553 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:07:59,553 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1146460163] [2022-04-28 12:07:59,553 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:07:59,553 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:07:59,553 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:07:59,561 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:07:59,564 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 12:07:59,607 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:07:59,608 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:07:59,609 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 12:07:59,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:07:59,625 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:08:29,867 INFO L272 TraceCheckUtils]: 0: Hoare triple {23176#true} call ULTIMATE.init(); {23176#true} is VALID [2022-04-28 12:08:29,867 INFO L290 TraceCheckUtils]: 1: Hoare triple {23176#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; {23176#true} is VALID [2022-04-28 12:08:29,867 INFO L290 TraceCheckUtils]: 2: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:08:29,868 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23176#true} {23176#true} #82#return; {23176#true} is VALID [2022-04-28 12:08:29,868 INFO L272 TraceCheckUtils]: 4: Hoare triple {23176#true} call #t~ret7 := main(); {23176#true} is VALID [2022-04-28 12:08:29,868 INFO L290 TraceCheckUtils]: 5: Hoare triple {23176#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; {23176#true} is VALID [2022-04-28 12:08:29,868 INFO L272 TraceCheckUtils]: 6: Hoare triple {23176#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-28 12:08:29,868 INFO L290 TraceCheckUtils]: 7: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:08:29,868 INFO L290 TraceCheckUtils]: 8: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:08:29,868 INFO L290 TraceCheckUtils]: 9: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:08:29,868 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23176#true} {23176#true} #64#return; {23176#true} is VALID [2022-04-28 12:08:29,868 INFO L272 TraceCheckUtils]: 11: Hoare triple {23176#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-28 12:08:29,868 INFO L290 TraceCheckUtils]: 12: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:08:29,868 INFO L290 TraceCheckUtils]: 13: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:08:29,868 INFO L290 TraceCheckUtils]: 14: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:08:29,868 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23176#true} {23176#true} #66#return; {23176#true} is VALID [2022-04-28 12:08:29,869 INFO L290 TraceCheckUtils]: 16: Hoare triple {23176#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:29,870 INFO L290 TraceCheckUtils]: 17: Hoare triple {23229#(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; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:29,870 INFO L290 TraceCheckUtils]: 18: Hoare triple {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:29,870 INFO L272 TraceCheckUtils]: 19: Hoare triple {23229#(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)); {23176#true} is VALID [2022-04-28 12:08:29,870 INFO L290 TraceCheckUtils]: 20: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:08:29,870 INFO L290 TraceCheckUtils]: 21: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:08:29,870 INFO L290 TraceCheckUtils]: 22: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:08:29,871 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23176#true} {23229#(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; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:29,871 INFO L272 TraceCheckUtils]: 24: Hoare triple {23229#(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)); {23176#true} is VALID [2022-04-28 12:08:29,871 INFO L290 TraceCheckUtils]: 25: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:08:29,871 INFO L290 TraceCheckUtils]: 26: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:08:29,871 INFO L290 TraceCheckUtils]: 27: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:08:29,872 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23176#true} {23229#(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; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:29,872 INFO L272 TraceCheckUtils]: 29: Hoare triple {23229#(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)); {23176#true} is VALID [2022-04-28 12:08:29,872 INFO L290 TraceCheckUtils]: 30: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:08:29,872 INFO L290 TraceCheckUtils]: 31: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:08:29,872 INFO L290 TraceCheckUtils]: 32: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:08:29,873 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23176#true} {23229#(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; {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:29,874 INFO L290 TraceCheckUtils]: 34: Hoare triple {23229#(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); {23229#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:29,874 INFO L290 TraceCheckUtils]: 35: Hoare triple {23229#(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; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:08:29,875 INFO L290 TraceCheckUtils]: 36: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~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; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:08:29,875 INFO L290 TraceCheckUtils]: 37: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:08:29,875 INFO L272 TraceCheckUtils]: 38: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~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)); {23176#true} is VALID [2022-04-28 12:08:29,875 INFO L290 TraceCheckUtils]: 39: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:08:29,876 INFO L290 TraceCheckUtils]: 40: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:08:29,876 INFO L290 TraceCheckUtils]: 41: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:08:29,876 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23176#true} {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #68#return; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:08:29,876 INFO L272 TraceCheckUtils]: 43: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~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)); {23176#true} is VALID [2022-04-28 12:08:29,877 INFO L290 TraceCheckUtils]: 44: Hoare triple {23176#true} ~cond := #in~cond; {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:29,877 INFO L290 TraceCheckUtils]: 45: Hoare triple {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:29,877 INFO L290 TraceCheckUtils]: 46: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:29,878 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #70#return; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:08:29,878 INFO L272 TraceCheckUtils]: 48: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 12:08:29,878 INFO L290 TraceCheckUtils]: 49: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:08:29,878 INFO L290 TraceCheckUtils]: 50: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:08:29,879 INFO L290 TraceCheckUtils]: 51: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:08:29,879 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23176#true} {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #72#return; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:08:29,880 INFO L290 TraceCheckUtils]: 53: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:08:29,881 INFO L290 TraceCheckUtils]: 54: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~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; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:08:29,882 INFO L290 TraceCheckUtils]: 55: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:08:29,882 INFO L290 TraceCheckUtils]: 56: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:08:29,882 INFO L272 TraceCheckUtils]: 57: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= 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)); {23176#true} is VALID [2022-04-28 12:08:29,883 INFO L290 TraceCheckUtils]: 58: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:08:29,883 INFO L290 TraceCheckUtils]: 59: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:08:29,883 INFO L290 TraceCheckUtils]: 60: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:08:29,883 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23176#true} {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:08:29,884 INFO L272 TraceCheckUtils]: 62: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= 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)); {23176#true} is VALID [2022-04-28 12:08:29,884 INFO L290 TraceCheckUtils]: 63: Hoare triple {23176#true} ~cond := #in~cond; {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:29,884 INFO L290 TraceCheckUtils]: 64: Hoare triple {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:29,885 INFO L290 TraceCheckUtils]: 65: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:29,885 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:08:29,885 INFO L272 TraceCheckUtils]: 67: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= 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)); {23176#true} is VALID [2022-04-28 12:08:29,886 INFO L290 TraceCheckUtils]: 68: Hoare triple {23176#true} ~cond := #in~cond; {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:29,886 INFO L290 TraceCheckUtils]: 69: Hoare triple {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:29,886 INFO L290 TraceCheckUtils]: 70: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:08:29,887 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:08:29,888 INFO L290 TraceCheckUtils]: 72: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:08:29,890 INFO L290 TraceCheckUtils]: 73: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= 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; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-28 12:08:29,891 INFO L290 TraceCheckUtils]: 74: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-28 12:08:29,891 INFO L290 TraceCheckUtils]: 75: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} assume !!(#t~post6 < 100);havoc #t~post6; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-28 12:08:29,891 INFO L272 TraceCheckUtils]: 76: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 12:08:29,891 INFO L290 TraceCheckUtils]: 77: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:08:29,892 INFO L290 TraceCheckUtils]: 78: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:08:29,892 INFO L290 TraceCheckUtils]: 79: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:08:29,892 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23176#true} {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} #68#return; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-28 12:08:29,896 INFO L272 TraceCheckUtils]: 81: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:08:29,896 INFO L290 TraceCheckUtils]: 82: Hoare triple {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23434#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:29,897 INFO L290 TraceCheckUtils]: 83: Hoare triple {23434#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23177#false} is VALID [2022-04-28 12:08:29,897 INFO L290 TraceCheckUtils]: 84: Hoare triple {23177#false} assume !false; {23177#false} is VALID [2022-04-28 12:08:29,897 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 65 proven. 51 refuted. 0 times theorem prover too weak. 121 trivial. 0 not checked. [2022-04-28 12:08:29,897 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:09:15,224 INFO L290 TraceCheckUtils]: 84: Hoare triple {23177#false} assume !false; {23177#false} is VALID [2022-04-28 12:09:15,224 INFO L290 TraceCheckUtils]: 83: Hoare triple {23434#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23177#false} is VALID [2022-04-28 12:09:15,225 INFO L290 TraceCheckUtils]: 82: Hoare triple {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23434#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:15,225 INFO L272 TraceCheckUtils]: 81: Hoare triple {23450#(= 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)); {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:15,226 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23176#true} {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:15,226 INFO L290 TraceCheckUtils]: 79: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:09:15,226 INFO L290 TraceCheckUtils]: 78: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:09:15,226 INFO L290 TraceCheckUtils]: 77: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:09:15,226 INFO L272 TraceCheckUtils]: 76: Hoare triple {23450#(= 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)); {23176#true} is VALID [2022-04-28 12:09:15,226 INFO L290 TraceCheckUtils]: 75: Hoare triple {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:15,227 INFO L290 TraceCheckUtils]: 74: Hoare triple {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:15,377 INFO L290 TraceCheckUtils]: 73: Hoare triple {23475#(= (+ 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; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:15,377 INFO L290 TraceCheckUtils]: 72: Hoare triple {23475#(= (+ 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); {23475#(= (+ 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-28 12:09:15,378 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23482#(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; {23475#(= (+ 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-28 12:09:15,379 INFO L290 TraceCheckUtils]: 70: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:15,379 INFO L290 TraceCheckUtils]: 69: Hoare triple {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:15,379 INFO L290 TraceCheckUtils]: 68: Hoare triple {23176#true} ~cond := #in~cond; {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:09:15,379 INFO L272 TraceCheckUtils]: 67: Hoare triple {23482#(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)); {23176#true} is VALID [2022-04-28 12:09:15,381 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23176#true} #70#return; {23482#(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-28 12:09:15,381 INFO L290 TraceCheckUtils]: 65: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:15,382 INFO L290 TraceCheckUtils]: 64: Hoare triple {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:15,382 INFO L290 TraceCheckUtils]: 63: Hoare triple {23176#true} ~cond := #in~cond; {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:09:15,382 INFO L272 TraceCheckUtils]: 62: Hoare triple {23176#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 12:09:15,382 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23176#true} {23176#true} #68#return; {23176#true} is VALID [2022-04-28 12:09:15,382 INFO L290 TraceCheckUtils]: 60: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:09:15,382 INFO L290 TraceCheckUtils]: 59: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:09:15,382 INFO L290 TraceCheckUtils]: 58: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:09:15,382 INFO L272 TraceCheckUtils]: 57: Hoare triple {23176#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 12:09:15,382 INFO L290 TraceCheckUtils]: 56: Hoare triple {23176#true} assume !!(#t~post6 < 100);havoc #t~post6; {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L290 TraceCheckUtils]: 55: Hoare triple {23176#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L290 TraceCheckUtils]: 54: Hoare triple {23176#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L290 TraceCheckUtils]: 53: Hoare triple {23176#true} assume !!(~a~0 != ~b~0); {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23176#true} {23176#true} #72#return; {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L290 TraceCheckUtils]: 51: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L290 TraceCheckUtils]: 50: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L290 TraceCheckUtils]: 49: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L272 TraceCheckUtils]: 48: Hoare triple {23176#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23176#true} {23176#true} #70#return; {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L290 TraceCheckUtils]: 46: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L290 TraceCheckUtils]: 45: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L290 TraceCheckUtils]: 44: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L272 TraceCheckUtils]: 43: Hoare triple {23176#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23176#true} {23176#true} #68#return; {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L290 TraceCheckUtils]: 41: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L290 TraceCheckUtils]: 40: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L290 TraceCheckUtils]: 39: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L272 TraceCheckUtils]: 38: Hoare triple {23176#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 12:09:15,383 INFO L290 TraceCheckUtils]: 37: Hoare triple {23176#true} assume !!(#t~post6 < 100);havoc #t~post6; {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L290 TraceCheckUtils]: 36: Hoare triple {23176#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L290 TraceCheckUtils]: 35: Hoare triple {23176#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L290 TraceCheckUtils]: 34: Hoare triple {23176#true} assume !!(~a~0 != ~b~0); {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23176#true} {23176#true} #72#return; {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L290 TraceCheckUtils]: 32: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L290 TraceCheckUtils]: 31: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L290 TraceCheckUtils]: 30: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L272 TraceCheckUtils]: 29: Hoare triple {23176#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23176#true} {23176#true} #70#return; {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L290 TraceCheckUtils]: 27: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L290 TraceCheckUtils]: 26: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L290 TraceCheckUtils]: 25: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L272 TraceCheckUtils]: 24: Hoare triple {23176#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23176#true} {23176#true} #68#return; {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L290 TraceCheckUtils]: 22: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L290 TraceCheckUtils]: 21: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L290 TraceCheckUtils]: 20: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L272 TraceCheckUtils]: 19: Hoare triple {23176#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-28 12:09:15,384 INFO L290 TraceCheckUtils]: 18: Hoare triple {23176#true} assume !!(#t~post6 < 100);havoc #t~post6; {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L290 TraceCheckUtils]: 17: Hoare triple {23176#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L290 TraceCheckUtils]: 16: Hoare triple {23176#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23176#true} {23176#true} #66#return; {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L290 TraceCheckUtils]: 14: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L290 TraceCheckUtils]: 13: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L290 TraceCheckUtils]: 12: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L272 TraceCheckUtils]: 11: Hoare triple {23176#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23176#true} {23176#true} #64#return; {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L290 TraceCheckUtils]: 9: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L290 TraceCheckUtils]: 8: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L290 TraceCheckUtils]: 7: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L272 TraceCheckUtils]: 6: Hoare triple {23176#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L290 TraceCheckUtils]: 5: Hoare triple {23176#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; {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L272 TraceCheckUtils]: 4: Hoare triple {23176#true} call #t~ret7 := main(); {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23176#true} {23176#true} #82#return; {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L290 TraceCheckUtils]: 2: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {23176#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; {23176#true} is VALID [2022-04-28 12:09:15,385 INFO L272 TraceCheckUtils]: 0: Hoare triple {23176#true} call ULTIMATE.init(); {23176#true} is VALID [2022-04-28 12:09:15,386 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-28 12:09:15,386 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:09:15,386 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1213727960] [2022-04-28 12:09:15,386 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:09:15,386 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1146460163] [2022-04-28 12:09:15,386 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1146460163] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:09:15,386 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:09:15,386 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-28 12:09:15,386 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:09:15,387 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1026956326] [2022-04-28 12:09:15,387 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1026956326] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:09:15,387 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:09:15,387 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:09:15,387 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [649531731] [2022-04-28 12:09:15,387 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:09:15,387 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) 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), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-28 12:09:15,387 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:09:15,388 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:09:15,454 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:15,455 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:09:15,455 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:15,455 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:09:15,455 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:09:15,455 INFO L87 Difference]: Start difference. First operand 268 states and 314 transitions. Second operand has 10 states, 10 states have (on average 3.0) 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), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:09:17,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:17,724 INFO L93 Difference]: Finished difference Result 297 states and 355 transitions. [2022-04-28 12:09:17,724 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:09:17,725 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) 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), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-28 12:09:17,725 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:09:17,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) 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), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:09:17,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-28 12:09:17,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) 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), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:09:17,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-28 12:09:17,728 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 97 transitions. [2022-04-28 12:09:17,869 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:17,880 INFO L225 Difference]: With dead ends: 297 [2022-04-28 12:09:17,880 INFO L226 Difference]: Without dead ends: 295 [2022-04-28 12:09:17,881 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 153 SyntacticMatches, 4 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:09:17,883 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 16 mSDsluCounter, 163 mSDsCounter, 0 mSdLazyCounter, 413 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 432 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 413 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 12:09:17,883 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 209 Invalid, 432 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 413 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 12:09:17,884 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 295 states. [2022-04-28 12:09:18,128 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 295 to 249. [2022-04-28 12:09:18,128 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:09:18,129 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-28 12:09:18,129 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-28 12:09:18,130 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-28 12:09:18,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:18,136 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-28 12:09:18,137 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-28 12:09:18,137 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:18,137 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:18,138 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-28 12:09:18,138 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-28 12:09:18,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:18,145 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-28 12:09:18,145 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-28 12:09:18,146 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:18,146 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:18,146 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:09:18,146 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:09:18,147 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-28 12:09:18,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 249 states to 249 states and 294 transitions. [2022-04-28 12:09:18,153 INFO L78 Accepts]: Start accepts. Automaton has 249 states and 294 transitions. Word has length 85 [2022-04-28 12:09:18,153 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:09:18,153 INFO L495 AbstractCegarLoop]: Abstraction has 249 states and 294 transitions. [2022-04-28 12:09:18,154 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.0) 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), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:09:18,154 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 249 states and 294 transitions. [2022-04-28 12:09:18,804 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-28 12:09:18,804 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 294 transitions. [2022-04-28 12:09:18,805 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 12:09:18,805 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:09:18,805 INFO L195 NwaCegarLoop]: 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-28 12:09:18,831 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 12:09:19,025 WARN L477 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-28 12:09:19,025 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:09:19,025 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:09:19,026 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 11 times [2022-04-28 12:09:19,026 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:19,026 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [437635299] [2022-04-28 12:09:19,026 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:09:19,026 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 12 times [2022-04-28 12:09:19,026 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:09:19,026 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [28162766] [2022-04-28 12:09:19,026 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:09:19,026 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:09:19,037 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:09:19,038 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1584822405] [2022-04-28 12:09:19,038 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:09:19,038 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:09:19,038 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:09:19,039 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:09:19,040 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 12:09:19,132 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:09:19,132 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:09:19,134 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 12:09:19,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:09:19,156 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:09:19,596 INFO L272 TraceCheckUtils]: 0: Hoare triple {25385#true} call ULTIMATE.init(); {25385#true} is VALID [2022-04-28 12:09:19,596 INFO L290 TraceCheckUtils]: 1: Hoare triple {25385#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; {25385#true} is VALID [2022-04-28 12:09:19,596 INFO L290 TraceCheckUtils]: 2: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 12:09:19,596 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25385#true} {25385#true} #82#return; {25385#true} is VALID [2022-04-28 12:09:19,596 INFO L272 TraceCheckUtils]: 4: Hoare triple {25385#true} call #t~ret7 := main(); {25385#true} is VALID [2022-04-28 12:09:19,596 INFO L290 TraceCheckUtils]: 5: Hoare triple {25385#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; {25385#true} is VALID [2022-04-28 12:09:19,596 INFO L272 TraceCheckUtils]: 6: Hoare triple {25385#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25385#true} is VALID [2022-04-28 12:09:19,597 INFO L290 TraceCheckUtils]: 7: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 12:09:19,597 INFO L290 TraceCheckUtils]: 8: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 12:09:19,597 INFO L290 TraceCheckUtils]: 9: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 12:09:19,597 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25385#true} {25385#true} #64#return; {25385#true} is VALID [2022-04-28 12:09:19,597 INFO L272 TraceCheckUtils]: 11: Hoare triple {25385#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25385#true} is VALID [2022-04-28 12:09:19,597 INFO L290 TraceCheckUtils]: 12: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 12:09:19,597 INFO L290 TraceCheckUtils]: 13: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 12:09:19,597 INFO L290 TraceCheckUtils]: 14: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 12:09:19,597 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {25385#true} {25385#true} #66#return; {25385#true} is VALID [2022-04-28 12:09:19,598 INFO L290 TraceCheckUtils]: 16: Hoare triple {25385#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,598 INFO L290 TraceCheckUtils]: 17: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,599 INFO L290 TraceCheckUtils]: 18: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,599 INFO L272 TraceCheckUtils]: 19: Hoare triple {25438#(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)); {25385#true} is VALID [2022-04-28 12:09:19,599 INFO L290 TraceCheckUtils]: 20: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 12:09:19,599 INFO L290 TraceCheckUtils]: 21: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 12:09:19,599 INFO L290 TraceCheckUtils]: 22: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 12:09:19,600 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,600 INFO L272 TraceCheckUtils]: 24: Hoare triple {25438#(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)); {25385#true} is VALID [2022-04-28 12:09:19,600 INFO L290 TraceCheckUtils]: 25: Hoare triple {25385#true} ~cond := #in~cond; {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:19,600 INFO L290 TraceCheckUtils]: 26: Hoare triple {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:19,601 INFO L290 TraceCheckUtils]: 27: Hoare triple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:19,601 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,601 INFO L272 TraceCheckUtils]: 29: Hoare triple {25438#(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)); {25385#true} is VALID [2022-04-28 12:09:19,601 INFO L290 TraceCheckUtils]: 30: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 12:09:19,602 INFO L290 TraceCheckUtils]: 31: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 12:09:19,602 INFO L290 TraceCheckUtils]: 32: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 12:09:19,602 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,603 INFO L290 TraceCheckUtils]: 34: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,603 INFO L290 TraceCheckUtils]: 35: Hoare triple {25438#(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; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,604 INFO L290 TraceCheckUtils]: 36: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,604 INFO L290 TraceCheckUtils]: 37: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,604 INFO L272 TraceCheckUtils]: 38: Hoare triple {25438#(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)); {25385#true} is VALID [2022-04-28 12:09:19,604 INFO L290 TraceCheckUtils]: 39: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 12:09:19,604 INFO L290 TraceCheckUtils]: 40: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 12:09:19,604 INFO L290 TraceCheckUtils]: 41: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 12:09:19,605 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,605 INFO L272 TraceCheckUtils]: 43: Hoare triple {25438#(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)); {25385#true} is VALID [2022-04-28 12:09:19,605 INFO L290 TraceCheckUtils]: 44: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 12:09:19,605 INFO L290 TraceCheckUtils]: 45: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 12:09:19,605 INFO L290 TraceCheckUtils]: 46: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 12:09:19,606 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,606 INFO L272 TraceCheckUtils]: 48: Hoare triple {25438#(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)); {25385#true} is VALID [2022-04-28 12:09:19,606 INFO L290 TraceCheckUtils]: 49: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 12:09:19,606 INFO L290 TraceCheckUtils]: 50: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 12:09:19,606 INFO L290 TraceCheckUtils]: 51: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 12:09:19,607 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,607 INFO L290 TraceCheckUtils]: 53: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,608 INFO L290 TraceCheckUtils]: 54: Hoare triple {25438#(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; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,608 INFO L290 TraceCheckUtils]: 55: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,609 INFO L290 TraceCheckUtils]: 56: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,609 INFO L272 TraceCheckUtils]: 57: Hoare triple {25438#(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)); {25385#true} is VALID [2022-04-28 12:09:19,609 INFO L290 TraceCheckUtils]: 58: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 12:09:19,609 INFO L290 TraceCheckUtils]: 59: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 12:09:19,609 INFO L290 TraceCheckUtils]: 60: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 12:09:19,610 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,610 INFO L272 TraceCheckUtils]: 62: Hoare triple {25438#(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)); {25385#true} is VALID [2022-04-28 12:09:19,610 INFO L290 TraceCheckUtils]: 63: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-28 12:09:19,610 INFO L290 TraceCheckUtils]: 64: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-28 12:09:19,610 INFO L290 TraceCheckUtils]: 65: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-28 12:09:19,611 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:19,611 INFO L272 TraceCheckUtils]: 67: Hoare triple {25438#(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)); {25385#true} is VALID [2022-04-28 12:09:19,611 INFO L290 TraceCheckUtils]: 68: Hoare triple {25385#true} ~cond := #in~cond; {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:19,612 INFO L290 TraceCheckUtils]: 69: Hoare triple {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:19,612 INFO L290 TraceCheckUtils]: 70: Hoare triple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:19,613 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25606#(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-28 12:09:19,613 INFO L290 TraceCheckUtils]: 72: Hoare triple {25606#(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); {25606#(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-28 12:09:19,614 INFO L290 TraceCheckUtils]: 73: Hoare triple {25606#(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; {25613#(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-28 12:09:19,615 INFO L290 TraceCheckUtils]: 74: Hoare triple {25613#(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; {25613#(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-28 12:09:19,615 INFO L290 TraceCheckUtils]: 75: Hoare triple {25613#(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 < 100);havoc #t~post6; {25613#(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-28 12:09:19,616 INFO L272 TraceCheckUtils]: 76: Hoare triple {25613#(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)); {25385#true} is VALID [2022-04-28 12:09:19,616 INFO L290 TraceCheckUtils]: 77: Hoare triple {25385#true} ~cond := #in~cond; {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:19,616 INFO L290 TraceCheckUtils]: 78: Hoare triple {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:19,617 INFO L290 TraceCheckUtils]: 79: Hoare triple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:19,637 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} {25613#(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; {25635#(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-28 12:09:19,638 INFO L272 TraceCheckUtils]: 81: Hoare triple {25635#(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)); {25639#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:19,638 INFO L290 TraceCheckUtils]: 82: Hoare triple {25639#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25643#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:19,639 INFO L290 TraceCheckUtils]: 83: Hoare triple {25643#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25386#false} is VALID [2022-04-28 12:09:19,639 INFO L290 TraceCheckUtils]: 84: Hoare triple {25386#false} assume !false; {25386#false} is VALID [2022-04-28 12:09:19,639 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-28 12:09:19,639 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:10:57,710 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:11:07,732 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:11:53,908 WARN L232 SmtUtils]: Spent 28.16s on a formula simplification. DAG size of input: 63 DAG size of output: 62 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 12:11:53,918 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:11:53,918 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [28162766] [2022-04-28 12:11:53,918 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:11:53,918 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1584822405] [2022-04-28 12:11:53,918 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1584822405] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:11:53,919 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:11:53,919 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-28 12:11:53,919 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:11:53,919 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [437635299] [2022-04-28 12:11:53,919 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [437635299] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:11:53,919 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:11:53,919 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:11:53,919 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2090400894] [2022-04-28 12:11:53,919 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:11:53,920 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-28 12:11:53,920 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:11:53,920 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-28 12:11:53,977 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:11:53,978 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:11:53,978 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:11:53,978 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:11:53,978 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=162, Unknown=1, NotChecked=0, Total=210 [2022-04-28 12:11:53,978 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-28 12:12:00,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:12:00,531 INFO L93 Difference]: Finished difference Result 315 states and 392 transitions. [2022-04-28 12:12:00,531 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:12:00,531 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-28 12:12:00,531 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:12:00,531 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-28 12:12:00,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-28 12:12:00,533 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-28 12:12:00,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-28 12:12:00,535 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 110 transitions. [2022-04-28 12:12:00,975 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:12:00,983 INFO L225 Difference]: With dead ends: 315 [2022-04-28 12:12:00,983 INFO L226 Difference]: Without dead ends: 309 [2022-04-28 12:12:00,984 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 34.7s TimeCoverageRelationStatistics Valid=67, Invalid=236, Unknown=3, NotChecked=0, Total=306 [2022-04-28 12:12:00,984 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 26 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 381 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 408 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 381 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:12:00,985 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 192 Invalid, 408 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 381 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 12:12:00,985 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 309 states. [2022-04-28 12:12:01,310 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 309 to 265. [2022-04-28 12:12:01,310 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:12:01,311 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-28 12:12:01,319 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-28 12:12:01,319 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-28 12:12:01,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:12:01,345 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-28 12:12:01,345 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-28 12:12:01,346 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:12:01,346 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:12:01,346 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-28 12:12:01,347 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-28 12:12:01,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:12:01,353 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-28 12:12:01,353 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-28 12:12:01,354 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:12:01,354 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:12:01,354 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:12:01,354 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:12:01,355 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-28 12:12:01,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 265 states to 265 states and 313 transitions. [2022-04-28 12:12:01,377 INFO L78 Accepts]: Start accepts. Automaton has 265 states and 313 transitions. Word has length 85 [2022-04-28 12:12:01,377 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:12:01,377 INFO L495 AbstractCegarLoop]: Abstraction has 265 states and 313 transitions. [2022-04-28 12:12:01,377 INFO L496 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-28 12:12:01,378 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 265 states and 313 transitions. [2022-04-28 12:12:02,967 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-28 12:12:02,968 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 313 transitions. [2022-04-28 12:12:02,969 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-28 12:12:02,969 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:12:02,969 INFO L195 NwaCegarLoop]: 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-28 12:12:03,030 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 12:12:03,169 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-28 12:12:03,170 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:12:03,170 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:12:03,170 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 13 times [2022-04-28 12:12:03,170 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:12:03,170 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1239275038] [2022-04-28 12:12:03,171 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:12:03,171 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 14 times [2022-04-28 12:12:03,171 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:12:03,171 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [338025407] [2022-04-28 12:12:03,171 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:12:03,171 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:12:03,183 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:12:03,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1996299586] [2022-04-28 12:12:03,183 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:12:03,183 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:12:03,184 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:12:03,195 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:12:03,196 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 12:12:03,359 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:12:03,359 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:12:03,361 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 12:12:03,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:12:03,388 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:12:04,738 INFO L272 TraceCheckUtils]: 0: Hoare triple {27480#true} call ULTIMATE.init(); {27480#true} is VALID [2022-04-28 12:12:04,738 INFO L290 TraceCheckUtils]: 1: Hoare triple {27480#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; {27480#true} is VALID [2022-04-28 12:12:04,739 INFO L290 TraceCheckUtils]: 2: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:04,739 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27480#true} {27480#true} #82#return; {27480#true} is VALID [2022-04-28 12:12:04,739 INFO L272 TraceCheckUtils]: 4: Hoare triple {27480#true} call #t~ret7 := main(); {27480#true} is VALID [2022-04-28 12:12:04,739 INFO L290 TraceCheckUtils]: 5: Hoare triple {27480#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; {27480#true} is VALID [2022-04-28 12:12:04,739 INFO L272 TraceCheckUtils]: 6: Hoare triple {27480#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-28 12:12:04,739 INFO L290 TraceCheckUtils]: 7: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:04,739 INFO L290 TraceCheckUtils]: 8: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:04,739 INFO L290 TraceCheckUtils]: 9: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:04,739 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27480#true} {27480#true} #64#return; {27480#true} is VALID [2022-04-28 12:12:04,739 INFO L272 TraceCheckUtils]: 11: Hoare triple {27480#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-28 12:12:04,739 INFO L290 TraceCheckUtils]: 12: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:04,739 INFO L290 TraceCheckUtils]: 13: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:04,740 INFO L290 TraceCheckUtils]: 14: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:04,740 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27480#true} {27480#true} #66#return; {27480#true} is VALID [2022-04-28 12:12:04,740 INFO L290 TraceCheckUtils]: 16: Hoare triple {27480#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:12:04,741 INFO L290 TraceCheckUtils]: 17: Hoare triple {27533#(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; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:12:04,741 INFO L290 TraceCheckUtils]: 18: Hoare triple {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:12:04,741 INFO L272 TraceCheckUtils]: 19: Hoare triple {27533#(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)); {27480#true} is VALID [2022-04-28 12:12:04,741 INFO L290 TraceCheckUtils]: 20: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:04,741 INFO L290 TraceCheckUtils]: 21: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:04,741 INFO L290 TraceCheckUtils]: 22: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:04,742 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27480#true} {27533#(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; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:12:04,742 INFO L272 TraceCheckUtils]: 24: Hoare triple {27533#(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)); {27480#true} is VALID [2022-04-28 12:12:04,742 INFO L290 TraceCheckUtils]: 25: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:04,742 INFO L290 TraceCheckUtils]: 26: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:04,742 INFO L290 TraceCheckUtils]: 27: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:04,743 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27480#true} {27533#(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; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:12:04,743 INFO L272 TraceCheckUtils]: 29: Hoare triple {27533#(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)); {27480#true} is VALID [2022-04-28 12:12:04,743 INFO L290 TraceCheckUtils]: 30: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:04,743 INFO L290 TraceCheckUtils]: 31: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:04,743 INFO L290 TraceCheckUtils]: 32: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:04,744 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27480#true} {27533#(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; {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:12:04,745 INFO L290 TraceCheckUtils]: 34: Hoare triple {27533#(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); {27533#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:12:04,745 INFO L290 TraceCheckUtils]: 35: Hoare triple {27533#(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; {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} is VALID [2022-04-28 12:12:04,746 INFO L290 TraceCheckUtils]: 36: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} is VALID [2022-04-28 12:12:04,746 INFO L290 TraceCheckUtils]: 37: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} is VALID [2022-04-28 12:12:04,746 INFO L272 TraceCheckUtils]: 38: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 12:12:04,746 INFO L290 TraceCheckUtils]: 39: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:04,746 INFO L290 TraceCheckUtils]: 40: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:04,747 INFO L290 TraceCheckUtils]: 41: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:04,747 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27480#true} {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} #68#return; {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} is VALID [2022-04-28 12:12:04,747 INFO L272 TraceCheckUtils]: 43: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 12:12:04,747 INFO L290 TraceCheckUtils]: 44: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:04,747 INFO L290 TraceCheckUtils]: 45: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:04,748 INFO L290 TraceCheckUtils]: 46: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:04,748 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27480#true} {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} #70#return; {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} is VALID [2022-04-28 12:12:04,748 INFO L272 TraceCheckUtils]: 48: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 12:12:04,748 INFO L290 TraceCheckUtils]: 49: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:04,749 INFO L290 TraceCheckUtils]: 50: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:04,749 INFO L290 TraceCheckUtils]: 51: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:04,749 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27480#true} {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} #72#return; {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} is VALID [2022-04-28 12:12:04,750 INFO L290 TraceCheckUtils]: 53: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} assume !!(~a~0 != ~b~0); {27591#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} is VALID [2022-04-28 12:12:04,751 INFO L290 TraceCheckUtils]: 54: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 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_~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; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-28 12:12:04,752 INFO L290 TraceCheckUtils]: 55: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-28 12:12:04,752 INFO L290 TraceCheckUtils]: 56: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} assume !!(#t~post6 < 100);havoc #t~post6; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-28 12:12:04,753 INFO L272 TraceCheckUtils]: 57: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 12:12:04,753 INFO L290 TraceCheckUtils]: 58: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:04,753 INFO L290 TraceCheckUtils]: 59: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:04,753 INFO L290 TraceCheckUtils]: 60: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:04,753 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27480#true} {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #68#return; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-28 12:12:04,754 INFO L272 TraceCheckUtils]: 62: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 12:12:04,754 INFO L290 TraceCheckUtils]: 63: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:04,754 INFO L290 TraceCheckUtils]: 64: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:04,754 INFO L290 TraceCheckUtils]: 65: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:04,754 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27480#true} {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #70#return; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-28 12:12:04,755 INFO L272 TraceCheckUtils]: 67: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-28 12:12:04,755 INFO L290 TraceCheckUtils]: 68: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:04,755 INFO L290 TraceCheckUtils]: 69: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:04,755 INFO L290 TraceCheckUtils]: 70: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:04,755 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27480#true} {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #72#return; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-28 12:12:04,756 INFO L290 TraceCheckUtils]: 72: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {27704#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-28 12:12:04,758 INFO L290 TraceCheckUtils]: 73: Hoare triple {27704#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~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; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 12:12:04,759 INFO L290 TraceCheckUtils]: 74: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 12:12:04,759 INFO L290 TraceCheckUtils]: 75: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 12:12:04,760 INFO L272 TraceCheckUtils]: 76: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (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)); {27480#true} is VALID [2022-04-28 12:12:04,760 INFO L290 TraceCheckUtils]: 77: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:04,760 INFO L290 TraceCheckUtils]: 78: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:04,760 INFO L290 TraceCheckUtils]: 79: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:04,761 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27480#true} {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #68#return; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 12:12:04,761 INFO L272 TraceCheckUtils]: 81: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (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)); {27480#true} is VALID [2022-04-28 12:12:04,761 INFO L290 TraceCheckUtils]: 82: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:04,761 INFO L290 TraceCheckUtils]: 83: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:04,761 INFO L290 TraceCheckUtils]: 84: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:04,762 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27480#true} {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #70#return; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 12:12:04,763 INFO L272 TraceCheckUtils]: 86: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (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)); {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:12:04,763 INFO L290 TraceCheckUtils]: 87: Hoare triple {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27752#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:12:04,764 INFO L290 TraceCheckUtils]: 88: Hoare triple {27752#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27481#false} is VALID [2022-04-28 12:12:04,764 INFO L290 TraceCheckUtils]: 89: Hoare triple {27481#false} assume !false; {27481#false} is VALID [2022-04-28 12:12:04,764 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-28 12:12:04,764 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:12:05,938 INFO L290 TraceCheckUtils]: 89: Hoare triple {27481#false} assume !false; {27481#false} is VALID [2022-04-28 12:12:05,938 INFO L290 TraceCheckUtils]: 88: Hoare triple {27752#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27481#false} is VALID [2022-04-28 12:12:05,939 INFO L290 TraceCheckUtils]: 87: Hoare triple {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27752#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:12:05,940 INFO L272 TraceCheckUtils]: 86: Hoare triple {27768#(= 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)); {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:12:05,940 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27480#true} {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:12:05,940 INFO L290 TraceCheckUtils]: 84: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:05,941 INFO L290 TraceCheckUtils]: 83: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:05,941 INFO L290 TraceCheckUtils]: 82: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:05,941 INFO L272 TraceCheckUtils]: 81: Hoare triple {27768#(= 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)); {27480#true} is VALID [2022-04-28 12:12:05,941 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27480#true} {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:12:05,941 INFO L290 TraceCheckUtils]: 79: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:05,942 INFO L290 TraceCheckUtils]: 78: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:05,942 INFO L290 TraceCheckUtils]: 77: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:05,942 INFO L272 TraceCheckUtils]: 76: Hoare triple {27768#(= 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)); {27480#true} is VALID [2022-04-28 12:12:05,942 INFO L290 TraceCheckUtils]: 75: Hoare triple {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:12:05,943 INFO L290 TraceCheckUtils]: 74: Hoare triple {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:12:06,061 INFO L290 TraceCheckUtils]: 73: Hoare triple {27808#(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; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:12:06,062 INFO L290 TraceCheckUtils]: 72: Hoare triple {27812#(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); {27808#(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-28 12:12:06,063 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27480#true} {27812#(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; {27812#(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-28 12:12:06,063 INFO L290 TraceCheckUtils]: 70: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:06,063 INFO L290 TraceCheckUtils]: 69: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:06,063 INFO L290 TraceCheckUtils]: 68: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:06,063 INFO L272 TraceCheckUtils]: 67: Hoare triple {27812#(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)); {27480#true} is VALID [2022-04-28 12:12:06,064 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27480#true} {27812#(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; {27812#(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-28 12:12:06,064 INFO L290 TraceCheckUtils]: 65: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:06,064 INFO L290 TraceCheckUtils]: 64: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:06,064 INFO L290 TraceCheckUtils]: 63: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:06,064 INFO L272 TraceCheckUtils]: 62: Hoare triple {27812#(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)); {27480#true} is VALID [2022-04-28 12:12:06,065 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27480#true} {27812#(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; {27812#(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-28 12:12:06,065 INFO L290 TraceCheckUtils]: 60: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:06,065 INFO L290 TraceCheckUtils]: 59: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:06,065 INFO L290 TraceCheckUtils]: 58: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:06,065 INFO L272 TraceCheckUtils]: 57: Hoare triple {27812#(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)); {27480#true} is VALID [2022-04-28 12:12:06,066 INFO L290 TraceCheckUtils]: 56: Hoare triple {27812#(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 < 100);havoc #t~post6; {27812#(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-28 12:12:06,066 INFO L290 TraceCheckUtils]: 55: Hoare triple {27812#(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; {27812#(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-28 12:12:07,511 INFO L290 TraceCheckUtils]: 54: Hoare triple {27867#(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; {27812#(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-28 12:12:07,512 INFO L290 TraceCheckUtils]: 53: Hoare triple {27867#(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); {27867#(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-28 12:12:07,513 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27480#true} {27867#(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; {27867#(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-28 12:12:07,513 INFO L290 TraceCheckUtils]: 51: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:07,513 INFO L290 TraceCheckUtils]: 50: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:07,513 INFO L290 TraceCheckUtils]: 49: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:07,513 INFO L272 TraceCheckUtils]: 48: Hoare triple {27867#(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)); {27480#true} is VALID [2022-04-28 12:12:07,514 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27480#true} {27867#(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; {27867#(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-28 12:12:07,514 INFO L290 TraceCheckUtils]: 46: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:07,514 INFO L290 TraceCheckUtils]: 45: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:07,514 INFO L290 TraceCheckUtils]: 44: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:07,514 INFO L272 TraceCheckUtils]: 43: Hoare triple {27867#(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)); {27480#true} is VALID [2022-04-28 12:12:07,515 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27480#true} {27867#(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; {27867#(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-28 12:12:07,515 INFO L290 TraceCheckUtils]: 41: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:07,515 INFO L290 TraceCheckUtils]: 40: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:07,515 INFO L290 TraceCheckUtils]: 39: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:07,515 INFO L272 TraceCheckUtils]: 38: Hoare triple {27867#(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)); {27480#true} is VALID [2022-04-28 12:12:07,516 INFO L290 TraceCheckUtils]: 37: Hoare triple {27867#(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 < 100);havoc #t~post6; {27867#(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-28 12:12:07,517 INFO L290 TraceCheckUtils]: 36: Hoare triple {27867#(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; {27867#(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-28 12:12:07,691 INFO L290 TraceCheckUtils]: 35: Hoare triple {27925#(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; {27867#(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-28 12:12:07,692 INFO L290 TraceCheckUtils]: 34: Hoare triple {27925#(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); {27925#(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-28 12:12:07,693 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27480#true} {27925#(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; {27925#(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-28 12:12:07,693 INFO L290 TraceCheckUtils]: 32: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:07,693 INFO L290 TraceCheckUtils]: 31: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:07,693 INFO L290 TraceCheckUtils]: 30: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:07,693 INFO L272 TraceCheckUtils]: 29: Hoare triple {27925#(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)); {27480#true} is VALID [2022-04-28 12:12:07,694 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27480#true} {27925#(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; {27925#(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-28 12:12:07,694 INFO L290 TraceCheckUtils]: 27: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:07,694 INFO L290 TraceCheckUtils]: 26: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:07,694 INFO L290 TraceCheckUtils]: 25: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:07,694 INFO L272 TraceCheckUtils]: 24: Hoare triple {27925#(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)); {27480#true} is VALID [2022-04-28 12:12:07,695 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27480#true} {27925#(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; {27925#(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-28 12:12:07,695 INFO L290 TraceCheckUtils]: 22: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:07,695 INFO L290 TraceCheckUtils]: 21: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:07,695 INFO L290 TraceCheckUtils]: 20: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:07,695 INFO L272 TraceCheckUtils]: 19: Hoare triple {27925#(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)); {27480#true} is VALID [2022-04-28 12:12:07,695 INFO L290 TraceCheckUtils]: 18: Hoare triple {27925#(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 < 100);havoc #t~post6; {27925#(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-28 12:12:07,696 INFO L290 TraceCheckUtils]: 17: Hoare triple {27925#(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; {27925#(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-28 12:12:07,697 INFO L290 TraceCheckUtils]: 16: Hoare triple {27480#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27925#(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-28 12:12:07,697 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27480#true} {27480#true} #66#return; {27480#true} is VALID [2022-04-28 12:12:07,697 INFO L290 TraceCheckUtils]: 14: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:07,697 INFO L290 TraceCheckUtils]: 13: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:07,697 INFO L290 TraceCheckUtils]: 12: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:07,697 INFO L272 TraceCheckUtils]: 11: Hoare triple {27480#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-28 12:12:07,697 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27480#true} {27480#true} #64#return; {27480#true} is VALID [2022-04-28 12:12:07,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:07,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-28 12:12:07,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-28 12:12:07,697 INFO L272 TraceCheckUtils]: 6: Hoare triple {27480#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-28 12:12:07,697 INFO L290 TraceCheckUtils]: 5: Hoare triple {27480#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; {27480#true} is VALID [2022-04-28 12:12:07,697 INFO L272 TraceCheckUtils]: 4: Hoare triple {27480#true} call #t~ret7 := main(); {27480#true} is VALID [2022-04-28 12:12:07,698 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27480#true} {27480#true} #82#return; {27480#true} is VALID [2022-04-28 12:12:07,698 INFO L290 TraceCheckUtils]: 2: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-28 12:12:07,698 INFO L290 TraceCheckUtils]: 1: Hoare triple {27480#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; {27480#true} is VALID [2022-04-28 12:12:07,698 INFO L272 TraceCheckUtils]: 0: Hoare triple {27480#true} call ULTIMATE.init(); {27480#true} is VALID [2022-04-28 12:12:07,698 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-28 12:12:07,698 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:12:07,699 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [338025407] [2022-04-28 12:12:07,699 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:12:07,699 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1996299586] [2022-04-28 12:12:07,699 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1996299586] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:12:07,699 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:12:07,699 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 12:12:07,699 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:12:07,699 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1239275038] [2022-04-28 12:12:07,699 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1239275038] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:12:07,699 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:12:07,699 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:12:07,699 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1700178480] [2022-04-28 12:12:07,700 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:12:07,700 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-28 12:12:07,700 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:12:07,700 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-28 12:12:07,812 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:12:07,812 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:12:07,812 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:12:07,813 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:12:07,813 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:12:07,813 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-28 12:12:11,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:12:11,746 INFO L93 Difference]: Finished difference Result 291 states and 354 transitions. [2022-04-28 12:12:11,746 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:12:11,746 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-28 12:12:11,746 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:12:11,746 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-28 12:12:11,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 12:12:11,748 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-28 12:12:11,749 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-28 12:12:11,749 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-28 12:12:11,898 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:12:11,905 INFO L225 Difference]: With dead ends: 291 [2022-04-28 12:12:11,905 INFO L226 Difference]: Without dead ends: 285 [2022-04-28 12:12:11,906 INFO L412 NwaCegarLoop]: 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-28 12:12:11,906 INFO L413 NwaCegarLoop]: 55 mSDtfsCounter, 10 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 284 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 241 SdHoareTripleChecker+Invalid, 294 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 284 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:12:11,906 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 241 Invalid, 294 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 284 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-28 12:12:11,907 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 285 states. [2022-04-28 12:12:12,205 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 285 to 269. [2022-04-28 12:12:12,205 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:12:12,206 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-28 12:12:12,206 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-28 12:12:12,206 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-28 12:12:12,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:12:12,212 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-28 12:12:12,212 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-28 12:12:12,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:12:12,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:12:12,214 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-28 12:12:12,214 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-28 12:12:12,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:12:12,221 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-28 12:12:12,221 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-28 12:12:12,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:12:12,221 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:12:12,221 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:12:12,222 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:12:12,222 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-28 12:12:12,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 269 states to 269 states and 319 transitions. [2022-04-28 12:12:12,229 INFO L78 Accepts]: Start accepts. Automaton has 269 states and 319 transitions. Word has length 90 [2022-04-28 12:12:12,229 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:12:12,229 INFO L495 AbstractCegarLoop]: Abstraction has 269 states and 319 transitions. [2022-04-28 12:12:12,229 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 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-28 12:12:12,230 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 269 states and 319 transitions. [2022-04-28 12:12:12,966 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-28 12:12:12,966 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 319 transitions. [2022-04-28 12:12:12,967 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-28 12:12:12,967 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:12:12,967 INFO L195 NwaCegarLoop]: 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-28 12:12:12,996 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-28 12:12:13,193 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-04-28 12:12:13,193 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:12:13,193 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:12:13,194 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 15 times [2022-04-28 12:12:13,194 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:12:13,194 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1541290840] [2022-04-28 12:12:13,194 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:12:13,194 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 16 times [2022-04-28 12:12:13,194 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:12:13,194 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1469755516] [2022-04-28 12:12:13,194 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:12:13,194 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:12:13,205 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:12:13,205 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1060456163] [2022-04-28 12:12:13,210 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:12:13,210 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:12:13,210 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:12:13,211 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:12:13,212 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 12:12:13,258 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:12:13,258 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:12:13,260 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-28 12:12:13,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:12:13,289 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:12:14,869 INFO L272 TraceCheckUtils]: 0: Hoare triple {29725#true} call ULTIMATE.init(); {29725#true} is VALID [2022-04-28 12:12:14,869 INFO L290 TraceCheckUtils]: 1: Hoare triple {29725#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; {29725#true} is VALID [2022-04-28 12:12:14,869 INFO L290 TraceCheckUtils]: 2: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:14,869 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29725#true} {29725#true} #82#return; {29725#true} is VALID [2022-04-28 12:12:14,870 INFO L272 TraceCheckUtils]: 4: Hoare triple {29725#true} call #t~ret7 := main(); {29725#true} is VALID [2022-04-28 12:12:14,870 INFO L290 TraceCheckUtils]: 5: Hoare triple {29725#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; {29725#true} is VALID [2022-04-28 12:12:14,870 INFO L272 TraceCheckUtils]: 6: Hoare triple {29725#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:14,870 INFO L290 TraceCheckUtils]: 7: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:14,870 INFO L290 TraceCheckUtils]: 8: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:14,870 INFO L290 TraceCheckUtils]: 9: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:14,870 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29725#true} {29725#true} #64#return; {29725#true} is VALID [2022-04-28 12:12:14,870 INFO L272 TraceCheckUtils]: 11: Hoare triple {29725#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:14,870 INFO L290 TraceCheckUtils]: 12: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:14,870 INFO L290 TraceCheckUtils]: 13: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:14,870 INFO L290 TraceCheckUtils]: 14: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:14,870 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29725#true} {29725#true} #66#return; {29725#true} is VALID [2022-04-28 12:12:14,870 INFO L290 TraceCheckUtils]: 16: Hoare triple {29725#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:12:14,871 INFO L290 TraceCheckUtils]: 17: Hoare triple {29778#(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; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:12:14,871 INFO L290 TraceCheckUtils]: 18: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:12:14,871 INFO L272 TraceCheckUtils]: 19: Hoare triple {29778#(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)); {29725#true} is VALID [2022-04-28 12:12:14,871 INFO L290 TraceCheckUtils]: 20: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:14,871 INFO L290 TraceCheckUtils]: 21: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:14,871 INFO L290 TraceCheckUtils]: 22: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:14,872 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {29725#true} {29778#(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; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:12:14,872 INFO L272 TraceCheckUtils]: 24: Hoare triple {29778#(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)); {29725#true} is VALID [2022-04-28 12:12:14,872 INFO L290 TraceCheckUtils]: 25: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:14,872 INFO L290 TraceCheckUtils]: 26: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:14,872 INFO L290 TraceCheckUtils]: 27: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:14,873 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {29725#true} {29778#(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; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:12:14,873 INFO L272 TraceCheckUtils]: 29: Hoare triple {29778#(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)); {29725#true} is VALID [2022-04-28 12:12:14,873 INFO L290 TraceCheckUtils]: 30: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:14,873 INFO L290 TraceCheckUtils]: 31: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:14,873 INFO L290 TraceCheckUtils]: 32: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:14,874 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {29725#true} {29778#(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; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:12:14,874 INFO L290 TraceCheckUtils]: 34: Hoare triple {29778#(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); {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:12:14,874 INFO L290 TraceCheckUtils]: 35: Hoare triple {29778#(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;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~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-28 12:12:14,875 INFO L290 TraceCheckUtils]: 36: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~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; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~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-28 12:12:14,875 INFO L290 TraceCheckUtils]: 37: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~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-28 12:12:14,875 INFO L272 TraceCheckUtils]: 38: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~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)); {29725#true} is VALID [2022-04-28 12:12:14,875 INFO L290 TraceCheckUtils]: 39: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:14,875 INFO L290 TraceCheckUtils]: 40: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:14,876 INFO L290 TraceCheckUtils]: 41: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:14,876 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {29725#true} {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~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-28 12:12:14,876 INFO L272 TraceCheckUtils]: 43: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~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)); {29725#true} is VALID [2022-04-28 12:12:14,876 INFO L290 TraceCheckUtils]: 44: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:14,876 INFO L290 TraceCheckUtils]: 45: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:14,876 INFO L290 TraceCheckUtils]: 46: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:14,877 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {29725#true} {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~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-28 12:12:14,877 INFO L272 TraceCheckUtils]: 48: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~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)); {29725#true} is VALID [2022-04-28 12:12:14,877 INFO L290 TraceCheckUtils]: 49: Hoare triple {29725#true} ~cond := #in~cond; {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:12:14,878 INFO L290 TraceCheckUtils]: 50: Hoare triple {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:14,878 INFO L290 TraceCheckUtils]: 51: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:14,878 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~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-28 12:12:14,879 INFO L290 TraceCheckUtils]: 53: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~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); {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~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-28 12:12:14,880 INFO L290 TraceCheckUtils]: 54: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~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);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:12:14,881 INFO L290 TraceCheckUtils]: 55: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:12:14,881 INFO L290 TraceCheckUtils]: 56: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:12:14,881 INFO L272 TraceCheckUtils]: 57: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ 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)); {29725#true} is VALID [2022-04-28 12:12:14,881 INFO L290 TraceCheckUtils]: 58: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:14,881 INFO L290 TraceCheckUtils]: 59: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:14,881 INFO L290 TraceCheckUtils]: 60: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:14,882 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {29725#true} {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #68#return; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:12:14,882 INFO L272 TraceCheckUtils]: 62: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:14,882 INFO L290 TraceCheckUtils]: 63: Hoare triple {29725#true} ~cond := #in~cond; {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:12:14,882 INFO L290 TraceCheckUtils]: 64: Hoare triple {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:14,883 INFO L290 TraceCheckUtils]: 65: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:14,884 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #70#return; {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:12:14,884 INFO L272 TraceCheckUtils]: 67: Hoare triple {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:14,884 INFO L290 TraceCheckUtils]: 68: Hoare triple {29725#true} ~cond := #in~cond; {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:12:14,884 INFO L290 TraceCheckUtils]: 69: Hoare triple {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:14,884 INFO L290 TraceCheckUtils]: 70: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:14,885 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #72#return; {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:12:14,886 INFO L290 TraceCheckUtils]: 72: Hoare triple {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:12:14,892 INFO L290 TraceCheckUtils]: 73: Hoare triple {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-28 12:12:14,893 INFO L290 TraceCheckUtils]: 74: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-28 12:12:14,893 INFO L290 TraceCheckUtils]: 75: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} assume !!(#t~post6 < 100);havoc #t~post6; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-28 12:12:14,894 INFO L272 TraceCheckUtils]: 76: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:14,894 INFO L290 TraceCheckUtils]: 77: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:14,894 INFO L290 TraceCheckUtils]: 78: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:14,894 INFO L290 TraceCheckUtils]: 79: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:14,894 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {29725#true} {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} #68#return; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-28 12:12:14,894 INFO L272 TraceCheckUtils]: 81: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:14,894 INFO L290 TraceCheckUtils]: 82: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:14,894 INFO L290 TraceCheckUtils]: 83: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:14,895 INFO L290 TraceCheckUtils]: 84: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:14,895 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {29725#true} {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} #70#return; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-28 12:12:14,898 INFO L272 TraceCheckUtils]: 86: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:12:14,898 INFO L290 TraceCheckUtils]: 87: Hoare triple {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29999#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:12:14,898 INFO L290 TraceCheckUtils]: 88: Hoare triple {29999#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29726#false} is VALID [2022-04-28 12:12:14,898 INFO L290 TraceCheckUtils]: 89: Hoare triple {29726#false} assume !false; {29726#false} is VALID [2022-04-28 12:12:14,899 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 70 proven. 60 refuted. 0 times theorem prover too weak. 152 trivial. 0 not checked. [2022-04-28 12:12:14,899 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:12:43,728 INFO L290 TraceCheckUtils]: 89: Hoare triple {29726#false} assume !false; {29726#false} is VALID [2022-04-28 12:12:43,729 INFO L290 TraceCheckUtils]: 88: Hoare triple {29999#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29726#false} is VALID [2022-04-28 12:12:43,729 INFO L290 TraceCheckUtils]: 87: Hoare triple {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29999#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:12:43,730 INFO L272 TraceCheckUtils]: 86: Hoare triple {30015#(= 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)); {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:12:43,731 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {29725#true} {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:12:43,731 INFO L290 TraceCheckUtils]: 84: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:43,731 INFO L290 TraceCheckUtils]: 83: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:43,731 INFO L290 TraceCheckUtils]: 82: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:43,731 INFO L272 TraceCheckUtils]: 81: Hoare triple {30015#(= 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)); {29725#true} is VALID [2022-04-28 12:12:43,732 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {29725#true} {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:12:43,732 INFO L290 TraceCheckUtils]: 79: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:43,732 INFO L290 TraceCheckUtils]: 78: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:43,732 INFO L290 TraceCheckUtils]: 77: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:43,732 INFO L272 TraceCheckUtils]: 76: Hoare triple {30015#(= 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)); {29725#true} is VALID [2022-04-28 12:12:43,733 INFO L290 TraceCheckUtils]: 75: Hoare triple {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:12:43,733 INFO L290 TraceCheckUtils]: 74: Hoare triple {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:12:43,922 INFO L290 TraceCheckUtils]: 73: Hoare triple {30055#(= (+ (* (+ 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; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:12:43,923 INFO L290 TraceCheckUtils]: 72: Hoare triple {30055#(= (+ (* (+ 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); {30055#(= (+ (* (+ 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-28 12:12:43,924 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {30062#(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; {30055#(= (+ (* (+ 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-28 12:12:43,924 INFO L290 TraceCheckUtils]: 70: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:43,925 INFO L290 TraceCheckUtils]: 69: Hoare triple {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:43,925 INFO L290 TraceCheckUtils]: 68: Hoare triple {29725#true} ~cond := #in~cond; {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:12:43,925 INFO L272 TraceCheckUtils]: 67: Hoare triple {30062#(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)); {29725#true} is VALID [2022-04-28 12:12:43,927 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29725#true} #70#return; {30062#(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-28 12:12:43,928 INFO L290 TraceCheckUtils]: 65: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:43,928 INFO L290 TraceCheckUtils]: 64: Hoare triple {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:43,928 INFO L290 TraceCheckUtils]: 63: Hoare triple {29725#true} ~cond := #in~cond; {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:12:43,928 INFO L272 TraceCheckUtils]: 62: Hoare triple {29725#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:43,929 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {29725#true} {29725#true} #68#return; {29725#true} is VALID [2022-04-28 12:12:43,929 INFO L290 TraceCheckUtils]: 60: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:43,929 INFO L290 TraceCheckUtils]: 59: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:43,929 INFO L290 TraceCheckUtils]: 58: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:43,929 INFO L272 TraceCheckUtils]: 57: Hoare triple {29725#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:43,929 INFO L290 TraceCheckUtils]: 56: Hoare triple {29725#true} assume !!(#t~post6 < 100);havoc #t~post6; {29725#true} is VALID [2022-04-28 12:12:43,929 INFO L290 TraceCheckUtils]: 55: Hoare triple {29725#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29725#true} is VALID [2022-04-28 12:12:43,929 INFO L290 TraceCheckUtils]: 54: Hoare triple {29725#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29725#true} is VALID [2022-04-28 12:12:43,929 INFO L290 TraceCheckUtils]: 53: Hoare triple {29725#true} assume !!(~a~0 != ~b~0); {29725#true} is VALID [2022-04-28 12:12:43,929 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {29725#true} {29725#true} #72#return; {29725#true} is VALID [2022-04-28 12:12:43,929 INFO L290 TraceCheckUtils]: 51: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:43,929 INFO L290 TraceCheckUtils]: 50: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:43,929 INFO L290 TraceCheckUtils]: 49: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:43,929 INFO L272 TraceCheckUtils]: 48: Hoare triple {29725#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:43,930 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {29725#true} {29725#true} #70#return; {29725#true} is VALID [2022-04-28 12:12:43,930 INFO L290 TraceCheckUtils]: 46: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:43,930 INFO L290 TraceCheckUtils]: 45: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:43,930 INFO L290 TraceCheckUtils]: 44: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:43,930 INFO L272 TraceCheckUtils]: 43: Hoare triple {29725#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:43,930 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {29725#true} {29725#true} #68#return; {29725#true} is VALID [2022-04-28 12:12:43,930 INFO L290 TraceCheckUtils]: 41: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:43,930 INFO L290 TraceCheckUtils]: 40: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:43,930 INFO L290 TraceCheckUtils]: 39: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:43,930 INFO L272 TraceCheckUtils]: 38: Hoare triple {29725#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:43,930 INFO L290 TraceCheckUtils]: 37: Hoare triple {29725#true} assume !!(#t~post6 < 100);havoc #t~post6; {29725#true} is VALID [2022-04-28 12:12:43,930 INFO L290 TraceCheckUtils]: 36: Hoare triple {29725#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29725#true} is VALID [2022-04-28 12:12:43,930 INFO L290 TraceCheckUtils]: 35: Hoare triple {29725#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {29725#true} is VALID [2022-04-28 12:12:43,930 INFO L290 TraceCheckUtils]: 34: Hoare triple {29725#true} assume !!(~a~0 != ~b~0); {29725#true} is VALID [2022-04-28 12:12:43,931 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {29725#true} {29725#true} #72#return; {29725#true} is VALID [2022-04-28 12:12:43,931 INFO L290 TraceCheckUtils]: 32: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:43,931 INFO L290 TraceCheckUtils]: 31: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:43,931 INFO L290 TraceCheckUtils]: 30: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:43,931 INFO L272 TraceCheckUtils]: 29: Hoare triple {29725#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:43,931 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {29725#true} {29725#true} #70#return; {29725#true} is VALID [2022-04-28 12:12:43,931 INFO L290 TraceCheckUtils]: 27: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:43,931 INFO L290 TraceCheckUtils]: 26: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:43,931 INFO L290 TraceCheckUtils]: 25: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:43,931 INFO L272 TraceCheckUtils]: 24: Hoare triple {29725#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:43,931 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {29725#true} {29725#true} #68#return; {29725#true} is VALID [2022-04-28 12:12:43,931 INFO L290 TraceCheckUtils]: 22: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:43,931 INFO L290 TraceCheckUtils]: 21: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:43,931 INFO L290 TraceCheckUtils]: 20: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:43,932 INFO L272 TraceCheckUtils]: 19: Hoare triple {29725#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:43,932 INFO L290 TraceCheckUtils]: 18: Hoare triple {29725#true} assume !!(#t~post6 < 100);havoc #t~post6; {29725#true} is VALID [2022-04-28 12:12:43,932 INFO L290 TraceCheckUtils]: 17: Hoare triple {29725#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29725#true} is VALID [2022-04-28 12:12:43,932 INFO L290 TraceCheckUtils]: 16: Hoare triple {29725#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29725#true} is VALID [2022-04-28 12:12:43,932 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29725#true} {29725#true} #66#return; {29725#true} is VALID [2022-04-28 12:12:43,932 INFO L290 TraceCheckUtils]: 14: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:43,932 INFO L290 TraceCheckUtils]: 13: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:43,932 INFO L290 TraceCheckUtils]: 12: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:43,932 INFO L272 TraceCheckUtils]: 11: Hoare triple {29725#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:43,932 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29725#true} {29725#true} #64#return; {29725#true} is VALID [2022-04-28 12:12:43,932 INFO L290 TraceCheckUtils]: 9: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:43,932 INFO L290 TraceCheckUtils]: 8: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-28 12:12:43,932 INFO L290 TraceCheckUtils]: 7: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-28 12:12:43,932 INFO L272 TraceCheckUtils]: 6: Hoare triple {29725#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-28 12:12:43,933 INFO L290 TraceCheckUtils]: 5: Hoare triple {29725#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; {29725#true} is VALID [2022-04-28 12:12:43,933 INFO L272 TraceCheckUtils]: 4: Hoare triple {29725#true} call #t~ret7 := main(); {29725#true} is VALID [2022-04-28 12:12:43,933 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29725#true} {29725#true} #82#return; {29725#true} is VALID [2022-04-28 12:12:43,933 INFO L290 TraceCheckUtils]: 2: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-28 12:12:43,933 INFO L290 TraceCheckUtils]: 1: Hoare triple {29725#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; {29725#true} is VALID [2022-04-28 12:12:43,933 INFO L272 TraceCheckUtils]: 0: Hoare triple {29725#true} call ULTIMATE.init(); {29725#true} is VALID [2022-04-28 12:12:43,933 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 82 proven. 15 refuted. 0 times theorem prover too weak. 185 trivial. 0 not checked. [2022-04-28 12:12:43,933 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:12:43,933 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1469755516] [2022-04-28 12:12:43,934 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:12:43,934 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1060456163] [2022-04-28 12:12:43,934 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1060456163] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:12:43,934 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:12:43,934 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-28 12:12:43,934 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:12:43,934 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1541290840] [2022-04-28 12:12:43,934 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1541290840] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:12:43,934 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:12:43,934 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:12:43,934 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2145029843] [2022-04-28 12:12:43,934 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:12:43,935 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, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 90 [2022-04-28 12:12:43,935 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:12:43,935 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, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 12:12:44,063 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:12:44,063 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:12:44,063 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:12:44,064 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:12:44,064 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:12:44,064 INFO L87 Difference]: Start difference. First operand 269 states and 319 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, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 12:12:47,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:12:47,835 INFO L93 Difference]: Finished difference Result 310 states and 377 transitions. [2022-04-28 12:12:47,835 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:12:47,835 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, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 90 [2022-04-28 12:12:47,835 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:12:47,835 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, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 12:12:47,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:12:47,836 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, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 12:12:47,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:12:47,838 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-28 12:12:47,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:12:47,986 INFO L225 Difference]: With dead ends: 310 [2022-04-28 12:12:47,986 INFO L226 Difference]: Without dead ends: 304 [2022-04-28 12:12:47,987 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 181 GetRequests, 164 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=53, Invalid=219, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:12:47,987 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 15 mSDsluCounter, 171 mSDsCounter, 0 mSdLazyCounter, 419 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 433 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 419 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:12:47,987 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 219 Invalid, 433 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 419 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-28 12:12:47,988 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 304 states. [2022-04-28 12:12:48,332 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 304 to 284. [2022-04-28 12:12:48,332 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:12:48,333 INFO L82 GeneralOperation]: Start isEquivalent. First operand 304 states. Second operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 12:12:48,333 INFO L74 IsIncluded]: Start isIncluded. First operand 304 states. Second operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 12:12:48,334 INFO L87 Difference]: Start difference. First operand 304 states. Second operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 12:12:48,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:12:48,340 INFO L93 Difference]: Finished difference Result 304 states and 365 transitions. [2022-04-28 12:12:48,341 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 365 transitions. [2022-04-28 12:12:48,342 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:12:48,343 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:12:48,343 INFO L74 IsIncluded]: Start isIncluded. First operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) Second operand 304 states. [2022-04-28 12:12:48,344 INFO L87 Difference]: Start difference. First operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) Second operand 304 states. [2022-04-28 12:12:48,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:12:48,350 INFO L93 Difference]: Finished difference Result 304 states and 365 transitions. [2022-04-28 12:12:48,350 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 365 transitions. [2022-04-28 12:12:48,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:12:48,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:12:48,351 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:12:48,351 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:12:48,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 12:12:48,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 284 states to 284 states and 336 transitions. [2022-04-28 12:12:48,359 INFO L78 Accepts]: Start accepts. Automaton has 284 states and 336 transitions. Word has length 90 [2022-04-28 12:12:48,359 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:12:48,359 INFO L495 AbstractCegarLoop]: Abstraction has 284 states and 336 transitions. [2022-04-28 12:12:48,360 INFO L496 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, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 12:12:48,360 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 284 states and 336 transitions. [2022-04-28 12:12:49,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 336 edges. 336 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:12:49,392 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 336 transitions. [2022-04-28 12:12:49,393 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-28 12:12:49,393 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:12:49,393 INFO L195 NwaCegarLoop]: 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-28 12:12:49,410 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-28 12:12:49,593 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:12:49,593 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:12:49,594 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:12:49,594 INFO L85 PathProgramCache]: Analyzing trace with hash 27865438, now seen corresponding path program 17 times [2022-04-28 12:12:49,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:12:49,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1040856433] [2022-04-28 12:12:49,594 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:12:49,594 INFO L85 PathProgramCache]: Analyzing trace with hash 27865438, now seen corresponding path program 18 times [2022-04-28 12:12:49,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:12:49,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1892795915] [2022-04-28 12:12:49,594 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:12:49,594 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:12:49,605 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:12:49,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [92417161] [2022-04-28 12:12:49,605 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:12:49,605 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:12:49,605 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:12:49,606 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:12:49,613 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 12:12:49,719 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:12:49,719 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:12:49,721 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 12:12:49,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:12:49,778 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:15:05,092 INFO L272 TraceCheckUtils]: 0: Hoare triple {32079#true} call ULTIMATE.init(); {32079#true} is VALID [2022-04-28 12:15:05,092 INFO L290 TraceCheckUtils]: 1: Hoare triple {32079#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; {32079#true} is VALID [2022-04-28 12:15:05,092 INFO L290 TraceCheckUtils]: 2: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:05,092 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32079#true} {32079#true} #82#return; {32079#true} is VALID [2022-04-28 12:15:05,092 INFO L272 TraceCheckUtils]: 4: Hoare triple {32079#true} call #t~ret7 := main(); {32079#true} is VALID [2022-04-28 12:15:05,092 INFO L290 TraceCheckUtils]: 5: Hoare triple {32079#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; {32079#true} is VALID [2022-04-28 12:15:05,092 INFO L272 TraceCheckUtils]: 6: Hoare triple {32079#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:05,093 INFO L290 TraceCheckUtils]: 7: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:05,093 INFO L290 TraceCheckUtils]: 8: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:05,093 INFO L290 TraceCheckUtils]: 9: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:05,093 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32079#true} {32079#true} #64#return; {32079#true} is VALID [2022-04-28 12:15:05,093 INFO L272 TraceCheckUtils]: 11: Hoare triple {32079#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:05,093 INFO L290 TraceCheckUtils]: 12: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:05,093 INFO L290 TraceCheckUtils]: 13: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:05,093 INFO L290 TraceCheckUtils]: 14: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:05,093 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32079#true} {32079#true} #66#return; {32079#true} is VALID [2022-04-28 12:15:05,094 INFO L290 TraceCheckUtils]: 16: Hoare triple {32079#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:05,094 INFO L290 TraceCheckUtils]: 17: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:05,095 INFO L290 TraceCheckUtils]: 18: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:05,095 INFO L272 TraceCheckUtils]: 19: Hoare triple {32132#(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)); {32079#true} is VALID [2022-04-28 12:15:05,095 INFO L290 TraceCheckUtils]: 20: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:05,095 INFO L290 TraceCheckUtils]: 21: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:05,095 INFO L290 TraceCheckUtils]: 22: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:05,096 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:05,096 INFO L272 TraceCheckUtils]: 24: Hoare triple {32132#(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)); {32079#true} is VALID [2022-04-28 12:15:05,096 INFO L290 TraceCheckUtils]: 25: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:05,096 INFO L290 TraceCheckUtils]: 26: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:05,096 INFO L290 TraceCheckUtils]: 27: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:05,097 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:05,097 INFO L272 TraceCheckUtils]: 29: Hoare triple {32132#(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)); {32079#true} is VALID [2022-04-28 12:15:05,097 INFO L290 TraceCheckUtils]: 30: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:05,097 INFO L290 TraceCheckUtils]: 31: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:05,097 INFO L290 TraceCheckUtils]: 32: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:05,098 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:05,098 INFO L290 TraceCheckUtils]: 34: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:05,099 INFO L290 TraceCheckUtils]: 35: Hoare triple {32132#(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; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:05,099 INFO L290 TraceCheckUtils]: 36: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:05,099 INFO L290 TraceCheckUtils]: 37: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:05,100 INFO L272 TraceCheckUtils]: 38: Hoare triple {32132#(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)); {32079#true} is VALID [2022-04-28 12:15:05,100 INFO L290 TraceCheckUtils]: 39: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:05,100 INFO L290 TraceCheckUtils]: 40: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:05,100 INFO L290 TraceCheckUtils]: 41: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:05,101 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:05,101 INFO L272 TraceCheckUtils]: 43: Hoare triple {32132#(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)); {32079#true} is VALID [2022-04-28 12:15:05,101 INFO L290 TraceCheckUtils]: 44: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:05,101 INFO L290 TraceCheckUtils]: 45: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:05,101 INFO L290 TraceCheckUtils]: 46: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:05,102 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:05,102 INFO L272 TraceCheckUtils]: 48: Hoare triple {32132#(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)); {32079#true} is VALID [2022-04-28 12:15:05,102 INFO L290 TraceCheckUtils]: 49: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:05,102 INFO L290 TraceCheckUtils]: 50: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:05,102 INFO L290 TraceCheckUtils]: 51: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:05,103 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:05,103 INFO L290 TraceCheckUtils]: 53: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:15:05,104 INFO L290 TraceCheckUtils]: 54: Hoare triple {32132#(and (= main_~r~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; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 12:15:05,104 INFO L290 TraceCheckUtils]: 55: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 12:15:05,105 INFO L290 TraceCheckUtils]: 56: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 12:15:05,105 INFO L272 TraceCheckUtils]: 57: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:05,105 INFO L290 TraceCheckUtils]: 58: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:05,105 INFO L290 TraceCheckUtils]: 59: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:05,105 INFO L290 TraceCheckUtils]: 60: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:05,106 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {32079#true} {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #68#return; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 12:15:05,106 INFO L272 TraceCheckUtils]: 62: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:05,106 INFO L290 TraceCheckUtils]: 63: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:05,106 INFO L290 TraceCheckUtils]: 64: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:05,106 INFO L290 TraceCheckUtils]: 65: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:05,107 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {32079#true} {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #70#return; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 12:15:05,107 INFO L272 TraceCheckUtils]: 67: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:05,107 INFO L290 TraceCheckUtils]: 68: Hoare triple {32079#true} ~cond := #in~cond; {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:05,108 INFO L290 TraceCheckUtils]: 69: Hoare triple {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:05,108 INFO L290 TraceCheckUtils]: 70: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:05,109 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #72#return; {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 12:15:05,110 INFO L290 TraceCheckUtils]: 72: Hoare triple {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} assume !!(~a~0 != ~b~0); {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-28 12:15:05,148 INFO L290 TraceCheckUtils]: 73: Hoare triple {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 12:15:05,148 INFO L290 TraceCheckUtils]: 74: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 12:15:05,149 INFO L290 TraceCheckUtils]: 75: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume !!(#t~post6 < 100);havoc #t~post6; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 12:15:05,149 INFO L272 TraceCheckUtils]: 76: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~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)); {32079#true} is VALID [2022-04-28 12:15:05,149 INFO L290 TraceCheckUtils]: 77: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:05,149 INFO L290 TraceCheckUtils]: 78: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:05,149 INFO L290 TraceCheckUtils]: 79: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:05,150 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {32079#true} {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #68#return; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 12:15:05,150 INFO L272 TraceCheckUtils]: 81: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~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)); {32079#true} is VALID [2022-04-28 12:15:05,150 INFO L290 TraceCheckUtils]: 82: Hoare triple {32079#true} ~cond := #in~cond; {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:05,150 INFO L290 TraceCheckUtils]: 83: Hoare triple {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:05,150 INFO L290 TraceCheckUtils]: 84: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:07,049 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #70#return; {32345#(and (= (+ (* (+ (div (+ (* (- 1) main_~q~0) 1) 2) main_~q~0) main_~x~0) (* main_~y~0 (+ main_~s~0 (div (- main_~s~0) 2)))) (+ main_~x~0 (* (- 1) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 1)))) (= (+ main_~x~0 (* (- 2) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 2))) main_~b~0) (= (mod main_~s~0 2) 0) (= (mod (+ main_~q~0 1) 2) 0))} is VALID [2022-04-28 12:15:07,050 INFO L272 TraceCheckUtils]: 86: Hoare triple {32345#(and (= (+ (* (+ (div (+ (* (- 1) main_~q~0) 1) 2) main_~q~0) main_~x~0) (* main_~y~0 (+ main_~s~0 (div (- main_~s~0) 2)))) (+ main_~x~0 (* (- 1) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 1)))) (= (+ main_~x~0 (* (- 2) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 2))) main_~b~0) (= (mod main_~s~0 2) 0) (= (mod (+ main_~q~0 1) 2) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:15:07,051 INFO L290 TraceCheckUtils]: 87: Hoare triple {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:07,051 INFO L290 TraceCheckUtils]: 88: Hoare triple {32353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32080#false} is VALID [2022-04-28 12:15:07,051 INFO L290 TraceCheckUtils]: 89: Hoare triple {32080#false} assume !false; {32080#false} is VALID [2022-04-28 12:15:07,052 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 71 proven. 34 refuted. 0 times theorem prover too weak. 177 trivial. 0 not checked. [2022-04-28 12:15:07,052 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:15:28,775 INFO L290 TraceCheckUtils]: 89: Hoare triple {32080#false} assume !false; {32080#false} is VALID [2022-04-28 12:15:28,776 INFO L290 TraceCheckUtils]: 88: Hoare triple {32353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32080#false} is VALID [2022-04-28 12:15:28,776 INFO L290 TraceCheckUtils]: 87: Hoare triple {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:28,777 INFO L272 TraceCheckUtils]: 86: Hoare triple {32369#(= 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)); {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:15:28,777 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32373#(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; {32369#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:15:28,778 INFO L290 TraceCheckUtils]: 84: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:28,778 INFO L290 TraceCheckUtils]: 83: Hoare triple {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:28,778 INFO L290 TraceCheckUtils]: 82: Hoare triple {32079#true} ~cond := #in~cond; {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:15:28,778 INFO L272 TraceCheckUtils]: 81: Hoare triple {32373#(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)); {32079#true} is VALID [2022-04-28 12:15:28,779 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {32079#true} {32373#(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; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:15:28,779 INFO L290 TraceCheckUtils]: 79: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:28,779 INFO L290 TraceCheckUtils]: 78: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:28,779 INFO L290 TraceCheckUtils]: 77: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:28,779 INFO L272 TraceCheckUtils]: 76: Hoare triple {32373#(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)); {32079#true} is VALID [2022-04-28 12:15:28,780 INFO L290 TraceCheckUtils]: 75: Hoare triple {32373#(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 < 100);havoc #t~post6; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:15:28,780 INFO L290 TraceCheckUtils]: 74: Hoare triple {32373#(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; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:15:28,922 INFO L290 TraceCheckUtils]: 73: Hoare triple {32373#(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; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:15:28,923 INFO L290 TraceCheckUtils]: 72: Hoare triple {32373#(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); {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:15:28,924 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32079#true} #72#return; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:15:28,924 INFO L290 TraceCheckUtils]: 70: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:28,924 INFO L290 TraceCheckUtils]: 69: Hoare triple {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:28,925 INFO L290 TraceCheckUtils]: 68: Hoare triple {32079#true} ~cond := #in~cond; {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:15:28,925 INFO L272 TraceCheckUtils]: 67: Hoare triple {32079#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {32079#true} {32079#true} #70#return; {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L290 TraceCheckUtils]: 65: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L290 TraceCheckUtils]: 64: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L290 TraceCheckUtils]: 63: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L272 TraceCheckUtils]: 62: Hoare triple {32079#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {32079#true} {32079#true} #68#return; {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L290 TraceCheckUtils]: 60: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L290 TraceCheckUtils]: 59: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L290 TraceCheckUtils]: 58: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L272 TraceCheckUtils]: 57: Hoare triple {32079#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L290 TraceCheckUtils]: 56: Hoare triple {32079#true} assume !!(#t~post6 < 100);havoc #t~post6; {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L290 TraceCheckUtils]: 55: Hoare triple {32079#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L290 TraceCheckUtils]: 54: Hoare triple {32079#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L290 TraceCheckUtils]: 53: Hoare triple {32079#true} assume !!(~a~0 != ~b~0); {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {32079#true} {32079#true} #72#return; {32079#true} is VALID [2022-04-28 12:15:28,925 INFO L290 TraceCheckUtils]: 51: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L290 TraceCheckUtils]: 50: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L290 TraceCheckUtils]: 49: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L272 TraceCheckUtils]: 48: Hoare triple {32079#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {32079#true} {32079#true} #70#return; {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L290 TraceCheckUtils]: 46: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L290 TraceCheckUtils]: 45: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L290 TraceCheckUtils]: 44: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L272 TraceCheckUtils]: 43: Hoare triple {32079#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {32079#true} {32079#true} #68#return; {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L290 TraceCheckUtils]: 41: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L290 TraceCheckUtils]: 40: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L290 TraceCheckUtils]: 39: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L272 TraceCheckUtils]: 38: Hoare triple {32079#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L290 TraceCheckUtils]: 37: Hoare triple {32079#true} assume !!(#t~post6 < 100);havoc #t~post6; {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L290 TraceCheckUtils]: 36: Hoare triple {32079#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L290 TraceCheckUtils]: 35: Hoare triple {32079#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {32079#true} is VALID [2022-04-28 12:15:28,926 INFO L290 TraceCheckUtils]: 34: Hoare triple {32079#true} assume !!(~a~0 != ~b~0); {32079#true} is VALID [2022-04-28 12:15:28,927 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {32079#true} {32079#true} #72#return; {32079#true} is VALID [2022-04-28 12:15:28,927 INFO L290 TraceCheckUtils]: 32: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:28,927 INFO L290 TraceCheckUtils]: 31: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:28,927 INFO L290 TraceCheckUtils]: 30: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:28,927 INFO L272 TraceCheckUtils]: 29: Hoare triple {32079#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:28,927 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {32079#true} {32079#true} #70#return; {32079#true} is VALID [2022-04-28 12:15:28,927 INFO L290 TraceCheckUtils]: 27: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:28,934 INFO L290 TraceCheckUtils]: 26: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:28,934 INFO L290 TraceCheckUtils]: 25: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:28,934 INFO L272 TraceCheckUtils]: 24: Hoare triple {32079#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:28,934 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {32079#true} {32079#true} #68#return; {32079#true} is VALID [2022-04-28 12:15:28,935 INFO L290 TraceCheckUtils]: 22: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:28,935 INFO L290 TraceCheckUtils]: 21: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:28,935 INFO L290 TraceCheckUtils]: 20: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:28,935 INFO L272 TraceCheckUtils]: 19: Hoare triple {32079#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:28,935 INFO L290 TraceCheckUtils]: 18: Hoare triple {32079#true} assume !!(#t~post6 < 100);havoc #t~post6; {32079#true} is VALID [2022-04-28 12:15:28,935 INFO L290 TraceCheckUtils]: 17: Hoare triple {32079#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32079#true} is VALID [2022-04-28 12:15:28,935 INFO L290 TraceCheckUtils]: 16: Hoare triple {32079#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {32079#true} is VALID [2022-04-28 12:15:28,935 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32079#true} {32079#true} #66#return; {32079#true} is VALID [2022-04-28 12:15:28,935 INFO L290 TraceCheckUtils]: 14: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:28,935 INFO L290 TraceCheckUtils]: 13: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:28,935 INFO L290 TraceCheckUtils]: 12: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:28,935 INFO L272 TraceCheckUtils]: 11: Hoare triple {32079#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:28,935 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32079#true} {32079#true} #64#return; {32079#true} is VALID [2022-04-28 12:15:28,935 INFO L290 TraceCheckUtils]: 9: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:28,936 INFO L290 TraceCheckUtils]: 8: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-28 12:15:28,936 INFO L290 TraceCheckUtils]: 7: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-28 12:15:28,936 INFO L272 TraceCheckUtils]: 6: Hoare triple {32079#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-28 12:15:28,936 INFO L290 TraceCheckUtils]: 5: Hoare triple {32079#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; {32079#true} is VALID [2022-04-28 12:15:28,936 INFO L272 TraceCheckUtils]: 4: Hoare triple {32079#true} call #t~ret7 := main(); {32079#true} is VALID [2022-04-28 12:15:28,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32079#true} {32079#true} #82#return; {32079#true} is VALID [2022-04-28 12:15:28,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-28 12:15:28,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {32079#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; {32079#true} is VALID [2022-04-28 12:15:28,936 INFO L272 TraceCheckUtils]: 0: Hoare triple {32079#true} call ULTIMATE.init(); {32079#true} is VALID [2022-04-28 12:15:28,937 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 90 proven. 5 refuted. 0 times theorem prover too weak. 187 trivial. 0 not checked. [2022-04-28 12:15:28,937 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:15:28,937 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1892795915] [2022-04-28 12:15:28,937 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:15:28,937 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [92417161] [2022-04-28 12:15:28,937 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [92417161] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:15:28,937 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:15:28,937 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 14 [2022-04-28 12:15:28,937 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:15:28,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1040856433] [2022-04-28 12:15:28,938 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1040856433] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:15:28,938 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:15:28,938 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:15:28,938 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [543194637] [2022-04-28 12:15:28,938 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:15:28,938 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) Word has length 90 [2022-04-28 12:15:28,938 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:15:28,939 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:15:31,088 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 50 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:31,088 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:15:31,088 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:31,089 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:15:31,089 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=143, Unknown=1, NotChecked=0, Total=182 [2022-04-28 12:15:31,089 INFO L87 Difference]: Start difference. First operand 284 states and 336 transitions. Second operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:15:33,297 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.64s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:15:36,070 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:15:38,129 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:15:40,157 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:15:42,341 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:15:44,379 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:15:57,815 WARN L232 SmtUtils]: Spent 13.09s on a formula simplification. DAG size of input: 57 DAG size of output: 42 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 12:16:04,397 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:16:07,136 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:16:11,116 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:16:15,251 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.22s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:16:17,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:17,308 INFO L93 Difference]: Finished difference Result 350 states and 438 transitions. [2022-04-28 12:16:17,309 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:16:17,309 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) Word has length 90 [2022-04-28 12:16:17,309 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:16:17,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:16:17,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 130 transitions. [2022-04-28 12:16:17,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:16:17,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 130 transitions. [2022-04-28 12:16:17,316 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 130 transitions. [2022-04-28 12:16:21,800 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 128 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 12:16:21,823 INFO L225 Difference]: With dead ends: 350 [2022-04-28 12:16:21,823 INFO L226 Difference]: Without dead ends: 330 [2022-04-28 12:16:21,824 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 182 GetRequests, 165 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 17.5s TimeCoverageRelationStatistics Valid=57, Invalid=214, Unknown=1, NotChecked=0, Total=272 [2022-04-28 12:16:21,824 INFO L413 NwaCegarLoop]: 55 mSDtfsCounter, 25 mSDsluCounter, 207 mSDsCounter, 0 mSdLazyCounter, 578 mSolverCounterSat, 26 mSolverCounterUnsat, 8 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 24.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 262 SdHoareTripleChecker+Invalid, 612 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 578 IncrementalHoareTripleChecker+Invalid, 8 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 24.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:16:21,824 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 262 Invalid, 612 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 578 Invalid, 8 Unknown, 0 Unchecked, 24.3s Time] [2022-04-28 12:16:21,825 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 330 states. [2022-04-28 12:16:22,231 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 330 to 321. [2022-04-28 12:16:22,231 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:16:22,232 INFO L82 GeneralOperation]: Start isEquivalent. First operand 330 states. Second operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-28 12:16:22,247 INFO L74 IsIncluded]: Start isIncluded. First operand 330 states. Second operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-28 12:16:22,248 INFO L87 Difference]: Start difference. First operand 330 states. Second operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-28 12:16:22,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:22,254 INFO L93 Difference]: Finished difference Result 330 states and 403 transitions. [2022-04-28 12:16:22,254 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 403 transitions. [2022-04-28 12:16:22,255 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:22,255 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:22,256 INFO L74 IsIncluded]: Start isIncluded. First operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) Second operand 330 states. [2022-04-28 12:16:22,256 INFO L87 Difference]: Start difference. First operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) Second operand 330 states. [2022-04-28 12:16:22,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:22,272 INFO L93 Difference]: Finished difference Result 330 states and 403 transitions. [2022-04-28 12:16:22,272 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 403 transitions. [2022-04-28 12:16:22,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:22,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:22,272 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:16:22,272 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:16:22,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 321 states, 204 states have (on average 1.161764705882353) internal successors, (237), 211 states have internal predecessors, (237), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-28 12:16:22,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 321 states to 321 states and 389 transitions. [2022-04-28 12:16:22,281 INFO L78 Accepts]: Start accepts. Automaton has 321 states and 389 transitions. Word has length 90 [2022-04-28 12:16:22,281 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:16:22,281 INFO L495 AbstractCegarLoop]: Abstraction has 321 states and 389 transitions. [2022-04-28 12:16:22,281 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:16:22,281 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 321 states and 389 transitions. [2022-04-28 12:16:26,342 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 389 edges. 389 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:16:26,342 INFO L276 IsEmpty]: Start isEmpty. Operand 321 states and 389 transitions. [2022-04-28 12:16:26,343 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 12:16:26,344 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:16:26,344 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:16:26,369 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 12:16:26,544 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:16:26,544 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:16:26,545 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:16:26,545 INFO L85 PathProgramCache]: Analyzing trace with hash -1449122399, now seen corresponding path program 7 times [2022-04-28 12:16:26,545 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:26,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [446783652] [2022-04-28 12:16:26,545 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:16:26,546 INFO L85 PathProgramCache]: Analyzing trace with hash -1449122399, now seen corresponding path program 8 times [2022-04-28 12:16:26,546 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:16:26,546 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [665689571] [2022-04-28 12:16:26,546 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:16:26,546 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:16:26,566 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:16:26,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [432945722] [2022-04-28 12:16:26,566 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:16:26,566 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:16:26,566 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:16:26,567 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:16:26,569 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 12:16:26,630 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:16:26,630 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:16:26,635 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 12:16:26,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:16:26,655 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:16:27,115 INFO L272 TraceCheckUtils]: 0: Hoare triple {34640#true} call ULTIMATE.init(); {34640#true} is VALID [2022-04-28 12:16:27,116 INFO L290 TraceCheckUtils]: 1: Hoare triple {34640#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; {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {34648#(<= ~counter~0 0)} assume true; {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,116 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34648#(<= ~counter~0 0)} {34640#true} #82#return; {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,117 INFO L272 TraceCheckUtils]: 4: Hoare triple {34648#(<= ~counter~0 0)} call #t~ret7 := main(); {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,117 INFO L290 TraceCheckUtils]: 5: Hoare triple {34648#(<= ~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; {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,117 INFO L272 TraceCheckUtils]: 6: Hoare triple {34648#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,118 INFO L290 TraceCheckUtils]: 7: Hoare triple {34648#(<= ~counter~0 0)} ~cond := #in~cond; {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,118 INFO L290 TraceCheckUtils]: 8: Hoare triple {34648#(<= ~counter~0 0)} assume !(0 == ~cond); {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,118 INFO L290 TraceCheckUtils]: 9: Hoare triple {34648#(<= ~counter~0 0)} assume true; {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,119 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34648#(<= ~counter~0 0)} {34648#(<= ~counter~0 0)} #64#return; {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,119 INFO L272 TraceCheckUtils]: 11: Hoare triple {34648#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,120 INFO L290 TraceCheckUtils]: 12: Hoare triple {34648#(<= ~counter~0 0)} ~cond := #in~cond; {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,120 INFO L290 TraceCheckUtils]: 13: Hoare triple {34648#(<= ~counter~0 0)} assume !(0 == ~cond); {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,120 INFO L290 TraceCheckUtils]: 14: Hoare triple {34648#(<= ~counter~0 0)} assume true; {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,121 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34648#(<= ~counter~0 0)} {34648#(<= ~counter~0 0)} #66#return; {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,121 INFO L290 TraceCheckUtils]: 16: Hoare triple {34648#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {34648#(<= ~counter~0 0)} is VALID [2022-04-28 12:16:27,122 INFO L290 TraceCheckUtils]: 17: Hoare triple {34648#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,122 INFO L290 TraceCheckUtils]: 18: Hoare triple {34697#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,125 INFO L272 TraceCheckUtils]: 19: Hoare triple {34697#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,125 INFO L290 TraceCheckUtils]: 20: Hoare triple {34697#(<= ~counter~0 1)} ~cond := #in~cond; {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,126 INFO L290 TraceCheckUtils]: 21: Hoare triple {34697#(<= ~counter~0 1)} assume !(0 == ~cond); {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,127 INFO L290 TraceCheckUtils]: 22: Hoare triple {34697#(<= ~counter~0 1)} assume true; {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,128 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {34697#(<= ~counter~0 1)} {34697#(<= ~counter~0 1)} #68#return; {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,129 INFO L272 TraceCheckUtils]: 24: Hoare triple {34697#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,129 INFO L290 TraceCheckUtils]: 25: Hoare triple {34697#(<= ~counter~0 1)} ~cond := #in~cond; {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,130 INFO L290 TraceCheckUtils]: 26: Hoare triple {34697#(<= ~counter~0 1)} assume !(0 == ~cond); {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,130 INFO L290 TraceCheckUtils]: 27: Hoare triple {34697#(<= ~counter~0 1)} assume true; {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,131 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {34697#(<= ~counter~0 1)} {34697#(<= ~counter~0 1)} #70#return; {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,131 INFO L272 TraceCheckUtils]: 29: Hoare triple {34697#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,131 INFO L290 TraceCheckUtils]: 30: Hoare triple {34697#(<= ~counter~0 1)} ~cond := #in~cond; {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,132 INFO L290 TraceCheckUtils]: 31: Hoare triple {34697#(<= ~counter~0 1)} assume !(0 == ~cond); {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,132 INFO L290 TraceCheckUtils]: 32: Hoare triple {34697#(<= ~counter~0 1)} assume true; {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,133 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {34697#(<= ~counter~0 1)} {34697#(<= ~counter~0 1)} #72#return; {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,133 INFO L290 TraceCheckUtils]: 34: Hoare triple {34697#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,133 INFO L290 TraceCheckUtils]: 35: Hoare triple {34697#(<= ~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; {34697#(<= ~counter~0 1)} is VALID [2022-04-28 12:16:27,134 INFO L290 TraceCheckUtils]: 36: Hoare triple {34697#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,135 INFO L290 TraceCheckUtils]: 37: Hoare triple {34755#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,135 INFO L272 TraceCheckUtils]: 38: Hoare triple {34755#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,135 INFO L290 TraceCheckUtils]: 39: Hoare triple {34755#(<= ~counter~0 2)} ~cond := #in~cond; {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,136 INFO L290 TraceCheckUtils]: 40: Hoare triple {34755#(<= ~counter~0 2)} assume !(0 == ~cond); {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,136 INFO L290 TraceCheckUtils]: 41: Hoare triple {34755#(<= ~counter~0 2)} assume true; {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,137 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {34755#(<= ~counter~0 2)} {34755#(<= ~counter~0 2)} #68#return; {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,137 INFO L272 TraceCheckUtils]: 43: Hoare triple {34755#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,137 INFO L290 TraceCheckUtils]: 44: Hoare triple {34755#(<= ~counter~0 2)} ~cond := #in~cond; {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,138 INFO L290 TraceCheckUtils]: 45: Hoare triple {34755#(<= ~counter~0 2)} assume !(0 == ~cond); {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,138 INFO L290 TraceCheckUtils]: 46: Hoare triple {34755#(<= ~counter~0 2)} assume true; {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,139 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {34755#(<= ~counter~0 2)} {34755#(<= ~counter~0 2)} #70#return; {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,139 INFO L272 TraceCheckUtils]: 48: Hoare triple {34755#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,140 INFO L290 TraceCheckUtils]: 49: Hoare triple {34755#(<= ~counter~0 2)} ~cond := #in~cond; {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,140 INFO L290 TraceCheckUtils]: 50: Hoare triple {34755#(<= ~counter~0 2)} assume !(0 == ~cond); {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,140 INFO L290 TraceCheckUtils]: 51: Hoare triple {34755#(<= ~counter~0 2)} assume true; {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,141 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {34755#(<= ~counter~0 2)} {34755#(<= ~counter~0 2)} #72#return; {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,141 INFO L290 TraceCheckUtils]: 53: Hoare triple {34755#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,141 INFO L290 TraceCheckUtils]: 54: Hoare triple {34755#(<= ~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; {34755#(<= ~counter~0 2)} is VALID [2022-04-28 12:16:27,142 INFO L290 TraceCheckUtils]: 55: Hoare triple {34755#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,142 INFO L290 TraceCheckUtils]: 56: Hoare triple {34813#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,143 INFO L272 TraceCheckUtils]: 57: Hoare triple {34813#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,143 INFO L290 TraceCheckUtils]: 58: Hoare triple {34813#(<= ~counter~0 3)} ~cond := #in~cond; {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,144 INFO L290 TraceCheckUtils]: 59: Hoare triple {34813#(<= ~counter~0 3)} assume !(0 == ~cond); {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,144 INFO L290 TraceCheckUtils]: 60: Hoare triple {34813#(<= ~counter~0 3)} assume true; {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,144 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {34813#(<= ~counter~0 3)} {34813#(<= ~counter~0 3)} #68#return; {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,145 INFO L272 TraceCheckUtils]: 62: Hoare triple {34813#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,145 INFO L290 TraceCheckUtils]: 63: Hoare triple {34813#(<= ~counter~0 3)} ~cond := #in~cond; {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,146 INFO L290 TraceCheckUtils]: 64: Hoare triple {34813#(<= ~counter~0 3)} assume !(0 == ~cond); {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,146 INFO L290 TraceCheckUtils]: 65: Hoare triple {34813#(<= ~counter~0 3)} assume true; {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,146 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {34813#(<= ~counter~0 3)} {34813#(<= ~counter~0 3)} #70#return; {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,147 INFO L272 TraceCheckUtils]: 67: Hoare triple {34813#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,147 INFO L290 TraceCheckUtils]: 68: Hoare triple {34813#(<= ~counter~0 3)} ~cond := #in~cond; {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,148 INFO L290 TraceCheckUtils]: 69: Hoare triple {34813#(<= ~counter~0 3)} assume !(0 == ~cond); {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,148 INFO L290 TraceCheckUtils]: 70: Hoare triple {34813#(<= ~counter~0 3)} assume true; {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,150 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {34813#(<= ~counter~0 3)} {34813#(<= ~counter~0 3)} #72#return; {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,150 INFO L290 TraceCheckUtils]: 72: Hoare triple {34813#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,150 INFO L290 TraceCheckUtils]: 73: Hoare triple {34813#(<= ~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; {34813#(<= ~counter~0 3)} is VALID [2022-04-28 12:16:27,151 INFO L290 TraceCheckUtils]: 74: Hoare triple {34813#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,152 INFO L290 TraceCheckUtils]: 75: Hoare triple {34871#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,152 INFO L272 TraceCheckUtils]: 76: Hoare triple {34871#(<= ~counter~0 4)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,153 INFO L290 TraceCheckUtils]: 77: Hoare triple {34871#(<= ~counter~0 4)} ~cond := #in~cond; {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,153 INFO L290 TraceCheckUtils]: 78: Hoare triple {34871#(<= ~counter~0 4)} assume !(0 == ~cond); {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,153 INFO L290 TraceCheckUtils]: 79: Hoare triple {34871#(<= ~counter~0 4)} assume true; {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,154 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {34871#(<= ~counter~0 4)} {34871#(<= ~counter~0 4)} #68#return; {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,155 INFO L272 TraceCheckUtils]: 81: Hoare triple {34871#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,155 INFO L290 TraceCheckUtils]: 82: Hoare triple {34871#(<= ~counter~0 4)} ~cond := #in~cond; {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,155 INFO L290 TraceCheckUtils]: 83: Hoare triple {34871#(<= ~counter~0 4)} assume !(0 == ~cond); {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,156 INFO L290 TraceCheckUtils]: 84: Hoare triple {34871#(<= ~counter~0 4)} assume true; {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,156 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {34871#(<= ~counter~0 4)} {34871#(<= ~counter~0 4)} #70#return; {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,157 INFO L272 TraceCheckUtils]: 86: Hoare triple {34871#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,157 INFO L290 TraceCheckUtils]: 87: Hoare triple {34871#(<= ~counter~0 4)} ~cond := #in~cond; {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,158 INFO L290 TraceCheckUtils]: 88: Hoare triple {34871#(<= ~counter~0 4)} assume !(0 == ~cond); {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,158 INFO L290 TraceCheckUtils]: 89: Hoare triple {34871#(<= ~counter~0 4)} assume true; {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,158 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {34871#(<= ~counter~0 4)} {34871#(<= ~counter~0 4)} #72#return; {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,159 INFO L290 TraceCheckUtils]: 91: Hoare triple {34871#(<= ~counter~0 4)} assume !!(~a~0 != ~b~0); {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,159 INFO L290 TraceCheckUtils]: 92: Hoare triple {34871#(<= ~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; {34871#(<= ~counter~0 4)} is VALID [2022-04-28 12:16:27,159 INFO L290 TraceCheckUtils]: 93: Hoare triple {34871#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34929#(<= |main_#t~post6| 4)} is VALID [2022-04-28 12:16:27,160 INFO L290 TraceCheckUtils]: 94: Hoare triple {34929#(<= |main_#t~post6| 4)} assume !(#t~post6 < 100);havoc #t~post6; {34641#false} is VALID [2022-04-28 12:16:27,160 INFO L272 TraceCheckUtils]: 95: Hoare triple {34641#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {34641#false} is VALID [2022-04-28 12:16:27,160 INFO L290 TraceCheckUtils]: 96: Hoare triple {34641#false} ~cond := #in~cond; {34641#false} is VALID [2022-04-28 12:16:27,160 INFO L290 TraceCheckUtils]: 97: Hoare triple {34641#false} assume 0 == ~cond; {34641#false} is VALID [2022-04-28 12:16:27,160 INFO L290 TraceCheckUtils]: 98: Hoare triple {34641#false} assume !false; {34641#false} is VALID [2022-04-28 12:16:27,160 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 24 proven. 266 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 12:16:27,161 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:16:27,600 INFO L290 TraceCheckUtils]: 98: Hoare triple {34641#false} assume !false; {34641#false} is VALID [2022-04-28 12:16:27,600 INFO L290 TraceCheckUtils]: 97: Hoare triple {34641#false} assume 0 == ~cond; {34641#false} is VALID [2022-04-28 12:16:27,601 INFO L290 TraceCheckUtils]: 96: Hoare triple {34641#false} ~cond := #in~cond; {34641#false} is VALID [2022-04-28 12:16:27,601 INFO L272 TraceCheckUtils]: 95: Hoare triple {34641#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {34641#false} is VALID [2022-04-28 12:16:27,601 INFO L290 TraceCheckUtils]: 94: Hoare triple {34957#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {34641#false} is VALID [2022-04-28 12:16:27,601 INFO L290 TraceCheckUtils]: 93: Hoare triple {34961#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34957#(< |main_#t~post6| 100)} is VALID [2022-04-28 12:16:27,602 INFO L290 TraceCheckUtils]: 92: Hoare triple {34961#(< ~counter~0 100)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34961#(< ~counter~0 100)} is VALID [2022-04-28 12:16:27,602 INFO L290 TraceCheckUtils]: 91: Hoare triple {34961#(< ~counter~0 100)} assume !!(~a~0 != ~b~0); {34961#(< ~counter~0 100)} is VALID [2022-04-28 12:16:27,603 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {34640#true} {34961#(< ~counter~0 100)} #72#return; {34961#(< ~counter~0 100)} is VALID [2022-04-28 12:16:27,603 INFO L290 TraceCheckUtils]: 89: Hoare triple {34640#true} assume true; {34640#true} is VALID [2022-04-28 12:16:27,603 INFO L290 TraceCheckUtils]: 88: Hoare triple {34640#true} assume !(0 == ~cond); {34640#true} is VALID [2022-04-28 12:16:27,603 INFO L290 TraceCheckUtils]: 87: Hoare triple {34640#true} ~cond := #in~cond; {34640#true} is VALID [2022-04-28 12:16:27,603 INFO L272 TraceCheckUtils]: 86: Hoare triple {34961#(< ~counter~0 100)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34640#true} is VALID [2022-04-28 12:16:27,604 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {34640#true} {34961#(< ~counter~0 100)} #70#return; {34961#(< ~counter~0 100)} is VALID [2022-04-28 12:16:27,604 INFO L290 TraceCheckUtils]: 84: Hoare triple {34640#true} assume true; {34640#true} is VALID [2022-04-28 12:16:27,604 INFO L290 TraceCheckUtils]: 83: Hoare triple {34640#true} assume !(0 == ~cond); {34640#true} is VALID [2022-04-28 12:16:27,604 INFO L290 TraceCheckUtils]: 82: Hoare triple {34640#true} ~cond := #in~cond; {34640#true} is VALID [2022-04-28 12:16:27,604 INFO L272 TraceCheckUtils]: 81: Hoare triple {34961#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34640#true} is VALID [2022-04-28 12:16:27,604 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {34640#true} {34961#(< ~counter~0 100)} #68#return; {34961#(< ~counter~0 100)} is VALID [2022-04-28 12:16:27,605 INFO L290 TraceCheckUtils]: 79: Hoare triple {34640#true} assume true; {34640#true} is VALID [2022-04-28 12:16:27,605 INFO L290 TraceCheckUtils]: 78: Hoare triple {34640#true} assume !(0 == ~cond); {34640#true} is VALID [2022-04-28 12:16:27,605 INFO L290 TraceCheckUtils]: 77: Hoare triple {34640#true} ~cond := #in~cond; {34640#true} is VALID [2022-04-28 12:16:27,605 INFO L272 TraceCheckUtils]: 76: Hoare triple {34961#(< ~counter~0 100)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34640#true} is VALID [2022-04-28 12:16:27,605 INFO L290 TraceCheckUtils]: 75: Hoare triple {34961#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {34961#(< ~counter~0 100)} is VALID [2022-04-28 12:16:27,606 INFO L290 TraceCheckUtils]: 74: Hoare triple {35019#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34961#(< ~counter~0 100)} is VALID [2022-04-28 12:16:27,607 INFO L290 TraceCheckUtils]: 73: Hoare triple {35019#(< ~counter~0 99)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {35019#(< ~counter~0 99)} is VALID [2022-04-28 12:16:27,607 INFO L290 TraceCheckUtils]: 72: Hoare triple {35019#(< ~counter~0 99)} assume !!(~a~0 != ~b~0); {35019#(< ~counter~0 99)} is VALID [2022-04-28 12:16:27,607 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {34640#true} {35019#(< ~counter~0 99)} #72#return; {35019#(< ~counter~0 99)} is VALID [2022-04-28 12:16:27,608 INFO L290 TraceCheckUtils]: 70: Hoare triple {34640#true} assume true; {34640#true} is VALID [2022-04-28 12:16:27,608 INFO L290 TraceCheckUtils]: 69: Hoare triple {34640#true} assume !(0 == ~cond); {34640#true} is VALID [2022-04-28 12:16:27,608 INFO L290 TraceCheckUtils]: 68: Hoare triple {34640#true} ~cond := #in~cond; {34640#true} is VALID [2022-04-28 12:16:27,608 INFO L272 TraceCheckUtils]: 67: Hoare triple {35019#(< ~counter~0 99)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34640#true} is VALID [2022-04-28 12:16:27,608 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {34640#true} {35019#(< ~counter~0 99)} #70#return; {35019#(< ~counter~0 99)} is VALID [2022-04-28 12:16:27,608 INFO L290 TraceCheckUtils]: 65: Hoare triple {34640#true} assume true; {34640#true} is VALID [2022-04-28 12:16:27,608 INFO L290 TraceCheckUtils]: 64: Hoare triple {34640#true} assume !(0 == ~cond); {34640#true} is VALID [2022-04-28 12:16:27,609 INFO L290 TraceCheckUtils]: 63: Hoare triple {34640#true} ~cond := #in~cond; {34640#true} is VALID [2022-04-28 12:16:27,609 INFO L272 TraceCheckUtils]: 62: Hoare triple {35019#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34640#true} is VALID [2022-04-28 12:16:27,609 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {34640#true} {35019#(< ~counter~0 99)} #68#return; {35019#(< ~counter~0 99)} is VALID [2022-04-28 12:16:27,609 INFO L290 TraceCheckUtils]: 60: Hoare triple {34640#true} assume true; {34640#true} is VALID [2022-04-28 12:16:27,609 INFO L290 TraceCheckUtils]: 59: Hoare triple {34640#true} assume !(0 == ~cond); {34640#true} is VALID [2022-04-28 12:16:27,609 INFO L290 TraceCheckUtils]: 58: Hoare triple {34640#true} ~cond := #in~cond; {34640#true} is VALID [2022-04-28 12:16:27,609 INFO L272 TraceCheckUtils]: 57: Hoare triple {35019#(< ~counter~0 99)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34640#true} is VALID [2022-04-28 12:16:27,610 INFO L290 TraceCheckUtils]: 56: Hoare triple {35019#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {35019#(< ~counter~0 99)} is VALID [2022-04-28 12:16:27,610 INFO L290 TraceCheckUtils]: 55: Hoare triple {35077#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35019#(< ~counter~0 99)} is VALID [2022-04-28 12:16:27,611 INFO L290 TraceCheckUtils]: 54: Hoare triple {35077#(< ~counter~0 98)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {35077#(< ~counter~0 98)} is VALID [2022-04-28 12:16:27,611 INFO L290 TraceCheckUtils]: 53: Hoare triple {35077#(< ~counter~0 98)} assume !!(~a~0 != ~b~0); {35077#(< ~counter~0 98)} is VALID [2022-04-28 12:16:27,612 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {34640#true} {35077#(< ~counter~0 98)} #72#return; {35077#(< ~counter~0 98)} is VALID [2022-04-28 12:16:27,612 INFO L290 TraceCheckUtils]: 51: Hoare triple {34640#true} assume true; {34640#true} is VALID [2022-04-28 12:16:27,612 INFO L290 TraceCheckUtils]: 50: Hoare triple {34640#true} assume !(0 == ~cond); {34640#true} is VALID [2022-04-28 12:16:27,612 INFO L290 TraceCheckUtils]: 49: Hoare triple {34640#true} ~cond := #in~cond; {34640#true} is VALID [2022-04-28 12:16:27,612 INFO L272 TraceCheckUtils]: 48: Hoare triple {35077#(< ~counter~0 98)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34640#true} is VALID [2022-04-28 12:16:27,612 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {34640#true} {35077#(< ~counter~0 98)} #70#return; {35077#(< ~counter~0 98)} is VALID [2022-04-28 12:16:27,613 INFO L290 TraceCheckUtils]: 46: Hoare triple {34640#true} assume true; {34640#true} is VALID [2022-04-28 12:16:27,613 INFO L290 TraceCheckUtils]: 45: Hoare triple {34640#true} assume !(0 == ~cond); {34640#true} is VALID [2022-04-28 12:16:27,613 INFO L290 TraceCheckUtils]: 44: Hoare triple {34640#true} ~cond := #in~cond; {34640#true} is VALID [2022-04-28 12:16:27,613 INFO L272 TraceCheckUtils]: 43: Hoare triple {35077#(< ~counter~0 98)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34640#true} is VALID [2022-04-28 12:16:27,613 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {34640#true} {35077#(< ~counter~0 98)} #68#return; {35077#(< ~counter~0 98)} is VALID [2022-04-28 12:16:27,613 INFO L290 TraceCheckUtils]: 41: Hoare triple {34640#true} assume true; {34640#true} is VALID [2022-04-28 12:16:27,613 INFO L290 TraceCheckUtils]: 40: Hoare triple {34640#true} assume !(0 == ~cond); {34640#true} is VALID [2022-04-28 12:16:27,613 INFO L290 TraceCheckUtils]: 39: Hoare triple {34640#true} ~cond := #in~cond; {34640#true} is VALID [2022-04-28 12:16:27,614 INFO L272 TraceCheckUtils]: 38: Hoare triple {35077#(< ~counter~0 98)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34640#true} is VALID [2022-04-28 12:16:27,614 INFO L290 TraceCheckUtils]: 37: Hoare triple {35077#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {35077#(< ~counter~0 98)} is VALID [2022-04-28 12:16:27,614 INFO L290 TraceCheckUtils]: 36: Hoare triple {35135#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35077#(< ~counter~0 98)} is VALID [2022-04-28 12:16:27,615 INFO L290 TraceCheckUtils]: 35: Hoare triple {35135#(< ~counter~0 97)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {35135#(< ~counter~0 97)} is VALID [2022-04-28 12:16:27,615 INFO L290 TraceCheckUtils]: 34: Hoare triple {35135#(< ~counter~0 97)} assume !!(~a~0 != ~b~0); {35135#(< ~counter~0 97)} is VALID [2022-04-28 12:16:27,616 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {34640#true} {35135#(< ~counter~0 97)} #72#return; {35135#(< ~counter~0 97)} is VALID [2022-04-28 12:16:27,616 INFO L290 TraceCheckUtils]: 32: Hoare triple {34640#true} assume true; {34640#true} is VALID [2022-04-28 12:16:27,616 INFO L290 TraceCheckUtils]: 31: Hoare triple {34640#true} assume !(0 == ~cond); {34640#true} is VALID [2022-04-28 12:16:27,616 INFO L290 TraceCheckUtils]: 30: Hoare triple {34640#true} ~cond := #in~cond; {34640#true} is VALID [2022-04-28 12:16:27,616 INFO L272 TraceCheckUtils]: 29: Hoare triple {35135#(< ~counter~0 97)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34640#true} is VALID [2022-04-28 12:16:27,617 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {34640#true} {35135#(< ~counter~0 97)} #70#return; {35135#(< ~counter~0 97)} is VALID [2022-04-28 12:16:27,617 INFO L290 TraceCheckUtils]: 27: Hoare triple {34640#true} assume true; {34640#true} is VALID [2022-04-28 12:16:27,617 INFO L290 TraceCheckUtils]: 26: Hoare triple {34640#true} assume !(0 == ~cond); {34640#true} is VALID [2022-04-28 12:16:27,617 INFO L290 TraceCheckUtils]: 25: Hoare triple {34640#true} ~cond := #in~cond; {34640#true} is VALID [2022-04-28 12:16:27,617 INFO L272 TraceCheckUtils]: 24: Hoare triple {35135#(< ~counter~0 97)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34640#true} is VALID [2022-04-28 12:16:27,617 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {34640#true} {35135#(< ~counter~0 97)} #68#return; {35135#(< ~counter~0 97)} is VALID [2022-04-28 12:16:27,617 INFO L290 TraceCheckUtils]: 22: Hoare triple {34640#true} assume true; {34640#true} is VALID [2022-04-28 12:16:27,618 INFO L290 TraceCheckUtils]: 21: Hoare triple {34640#true} assume !(0 == ~cond); {34640#true} is VALID [2022-04-28 12:16:27,618 INFO L290 TraceCheckUtils]: 20: Hoare triple {34640#true} ~cond := #in~cond; {34640#true} is VALID [2022-04-28 12:16:27,618 INFO L272 TraceCheckUtils]: 19: Hoare triple {35135#(< ~counter~0 97)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34640#true} is VALID [2022-04-28 12:16:27,618 INFO L290 TraceCheckUtils]: 18: Hoare triple {35135#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {35135#(< ~counter~0 97)} is VALID [2022-04-28 12:16:27,619 INFO L290 TraceCheckUtils]: 17: Hoare triple {35193#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35135#(< ~counter~0 97)} is VALID [2022-04-28 12:16:27,619 INFO L290 TraceCheckUtils]: 16: Hoare triple {35193#(< ~counter~0 96)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {35193#(< ~counter~0 96)} is VALID [2022-04-28 12:16:27,619 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34640#true} {35193#(< ~counter~0 96)} #66#return; {35193#(< ~counter~0 96)} is VALID [2022-04-28 12:16:27,619 INFO L290 TraceCheckUtils]: 14: Hoare triple {34640#true} assume true; {34640#true} is VALID [2022-04-28 12:16:27,620 INFO L290 TraceCheckUtils]: 13: Hoare triple {34640#true} assume !(0 == ~cond); {34640#true} is VALID [2022-04-28 12:16:27,620 INFO L290 TraceCheckUtils]: 12: Hoare triple {34640#true} ~cond := #in~cond; {34640#true} is VALID [2022-04-28 12:16:27,620 INFO L272 TraceCheckUtils]: 11: Hoare triple {35193#(< ~counter~0 96)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {34640#true} is VALID [2022-04-28 12:16:27,620 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34640#true} {35193#(< ~counter~0 96)} #64#return; {35193#(< ~counter~0 96)} is VALID [2022-04-28 12:16:27,620 INFO L290 TraceCheckUtils]: 9: Hoare triple {34640#true} assume true; {34640#true} is VALID [2022-04-28 12:16:27,620 INFO L290 TraceCheckUtils]: 8: Hoare triple {34640#true} assume !(0 == ~cond); {34640#true} is VALID [2022-04-28 12:16:27,620 INFO L290 TraceCheckUtils]: 7: Hoare triple {34640#true} ~cond := #in~cond; {34640#true} is VALID [2022-04-28 12:16:27,621 INFO L272 TraceCheckUtils]: 6: Hoare triple {35193#(< ~counter~0 96)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {34640#true} is VALID [2022-04-28 12:16:27,621 INFO L290 TraceCheckUtils]: 5: Hoare triple {35193#(< ~counter~0 96)} 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; {35193#(< ~counter~0 96)} is VALID [2022-04-28 12:16:27,621 INFO L272 TraceCheckUtils]: 4: Hoare triple {35193#(< ~counter~0 96)} call #t~ret7 := main(); {35193#(< ~counter~0 96)} is VALID [2022-04-28 12:16:27,622 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35193#(< ~counter~0 96)} {34640#true} #82#return; {35193#(< ~counter~0 96)} is VALID [2022-04-28 12:16:27,622 INFO L290 TraceCheckUtils]: 2: Hoare triple {35193#(< ~counter~0 96)} assume true; {35193#(< ~counter~0 96)} is VALID [2022-04-28 12:16:27,622 INFO L290 TraceCheckUtils]: 1: Hoare triple {34640#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; {35193#(< ~counter~0 96)} is VALID [2022-04-28 12:16:27,623 INFO L272 TraceCheckUtils]: 0: Hoare triple {34640#true} call ULTIMATE.init(); {34640#true} is VALID [2022-04-28 12:16:27,623 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 24 proven. 50 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 12:16:27,623 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:16:27,623 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [665689571] [2022-04-28 12:16:27,623 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:16:27,623 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [432945722] [2022-04-28 12:16:27,623 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [432945722] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:16:27,623 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:16:27,624 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 12:16:27,624 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:16:27,624 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [446783652] [2022-04-28 12:16:27,624 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [446783652] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:16:27,624 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:16:27,625 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:16:27,625 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [397458521] [2022-04-28 12:16:27,625 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:16:27,625 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) Word has length 99 [2022-04-28 12:16:27,625 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:16:27,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 12:16:27,696 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:16:27,696 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:16:27,696 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:27,697 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:16:27,697 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:16:27,697 INFO L87 Difference]: Start difference. First operand 321 states and 389 transitions. Second operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 12:16:28,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:28,596 INFO L93 Difference]: Finished difference Result 414 states and 490 transitions. [2022-04-28 12:16:28,596 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:16:28,596 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) Word has length 99 [2022-04-28 12:16:28,596 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:16:28,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 12:16:28,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 110 transitions. [2022-04-28 12:16:28,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 12:16:28,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 110 transitions. [2022-04-28 12:16:28,605 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 110 transitions. [2022-04-28 12:16:28,720 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:16:28,737 INFO L225 Difference]: With dead ends: 414 [2022-04-28 12:16:28,738 INFO L226 Difference]: Without dead ends: 391 [2022-04-28 12:16:28,747 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 201 GetRequests, 185 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=183, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:16:28,748 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 17 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 175 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:16:28,749 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 175 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:16:28,749 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 391 states. [2022-04-28 12:16:29,254 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 391 to 376. [2022-04-28 12:16:29,254 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:16:29,267 INFO L82 GeneralOperation]: Start isEquivalent. First operand 391 states. Second operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:16:29,268 INFO L74 IsIncluded]: Start isIncluded. First operand 391 states. Second operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:16:29,268 INFO L87 Difference]: Start difference. First operand 391 states. Second operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:16:29,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:29,286 INFO L93 Difference]: Finished difference Result 391 states and 456 transitions. [2022-04-28 12:16:29,286 INFO L276 IsEmpty]: Start isEmpty. Operand 391 states and 456 transitions. [2022-04-28 12:16:29,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:29,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:29,288 INFO L74 IsIncluded]: Start isIncluded. First operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 391 states. [2022-04-28 12:16:29,288 INFO L87 Difference]: Start difference. First operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 391 states. [2022-04-28 12:16:29,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:16:29,297 INFO L93 Difference]: Finished difference Result 391 states and 456 transitions. [2022-04-28 12:16:29,297 INFO L276 IsEmpty]: Start isEmpty. Operand 391 states and 456 transitions. [2022-04-28 12:16:29,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:16:29,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:16:29,298 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:16:29,298 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:16:29,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 376 states, 246 states have (on average 1.1300813008130082) internal successors, (278), 254 states have internal predecessors, (278), 81 states have call successors, (81), 49 states have call predecessors, (81), 48 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 12:16:29,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 376 states to 376 states and 436 transitions. [2022-04-28 12:16:29,308 INFO L78 Accepts]: Start accepts. Automaton has 376 states and 436 transitions. Word has length 99 [2022-04-28 12:16:29,308 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:16:29,308 INFO L495 AbstractCegarLoop]: Abstraction has 376 states and 436 transitions. [2022-04-28 12:16:29,308 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 12:16:29,308 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 376 states and 436 transitions. [2022-04-28 12:16:35,772 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 436 edges. 434 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 12:16:35,772 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 436 transitions. [2022-04-28 12:16:35,773 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-28 12:16:35,773 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:16:35,774 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:16:35,799 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-28 12:16:35,974 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-28 12:16:35,974 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:16:35,974 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:16:35,975 INFO L85 PathProgramCache]: Analyzing trace with hash 340347020, now seen corresponding path program 9 times [2022-04-28 12:16:35,975 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:16:35,975 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [376879579] [2022-04-28 12:16:35,975 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:16:35,975 INFO L85 PathProgramCache]: Analyzing trace with hash 340347020, now seen corresponding path program 10 times [2022-04-28 12:16:35,975 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:16:35,975 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [505700632] [2022-04-28 12:16:35,975 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:16:35,976 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:16:36,001 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:16:36,001 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1241659066] [2022-04-28 12:16:36,001 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:16:36,001 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:16:36,002 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:16:36,010 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:16:36,012 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-28 12:16:36,090 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:16:36,090 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:16:36,092 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-28 12:16:36,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:16:36,116 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:16:40,626 INFO L272 TraceCheckUtils]: 0: Hoare triple {37617#true} call ULTIMATE.init(); {37617#true} is VALID [2022-04-28 12:16:40,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {37617#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; {37617#true} is VALID [2022-04-28 12:16:40,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:16:40,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37617#true} {37617#true} #82#return; {37617#true} is VALID [2022-04-28 12:16:40,627 INFO L272 TraceCheckUtils]: 4: Hoare triple {37617#true} call #t~ret7 := main(); {37617#true} is VALID [2022-04-28 12:16:40,627 INFO L290 TraceCheckUtils]: 5: Hoare triple {37617#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; {37617#true} is VALID [2022-04-28 12:16:40,627 INFO L272 TraceCheckUtils]: 6: Hoare triple {37617#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:16:40,627 INFO L290 TraceCheckUtils]: 7: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:16:40,627 INFO L290 TraceCheckUtils]: 8: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:16:40,627 INFO L290 TraceCheckUtils]: 9: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:16:40,627 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {37617#true} {37617#true} #64#return; {37617#true} is VALID [2022-04-28 12:16:40,627 INFO L272 TraceCheckUtils]: 11: Hoare triple {37617#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:16:40,627 INFO L290 TraceCheckUtils]: 12: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:16:40,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:16:40,628 INFO L290 TraceCheckUtils]: 14: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:16:40,628 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {37617#true} {37617#true} #66#return; {37617#true} is VALID [2022-04-28 12:16:40,628 INFO L290 TraceCheckUtils]: 16: Hoare triple {37617#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {37670#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:40,628 INFO L290 TraceCheckUtils]: 17: Hoare triple {37670#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37670#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:40,629 INFO L290 TraceCheckUtils]: 18: Hoare triple {37670#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {37670#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:40,629 INFO L272 TraceCheckUtils]: 19: Hoare triple {37670#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:16:40,629 INFO L290 TraceCheckUtils]: 20: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:16:40,629 INFO L290 TraceCheckUtils]: 21: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:16:40,629 INFO L290 TraceCheckUtils]: 22: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:16:40,630 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {37617#true} {37670#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {37670#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:40,630 INFO L272 TraceCheckUtils]: 24: Hoare triple {37670#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:16:40,630 INFO L290 TraceCheckUtils]: 25: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:16:40,630 INFO L290 TraceCheckUtils]: 26: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:16:40,630 INFO L290 TraceCheckUtils]: 27: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:16:40,631 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {37617#true} {37670#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {37670#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:40,631 INFO L272 TraceCheckUtils]: 29: Hoare triple {37670#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:16:40,631 INFO L290 TraceCheckUtils]: 30: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:16:40,631 INFO L290 TraceCheckUtils]: 31: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:16:40,631 INFO L290 TraceCheckUtils]: 32: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:16:40,632 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {37617#true} {37670#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {37670#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:40,632 INFO L290 TraceCheckUtils]: 34: Hoare triple {37670#(and (= main_~r~0 0) (= 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); {37670#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:40,633 INFO L290 TraceCheckUtils]: 35: Hoare triple {37670#(and (= main_~r~0 0) (= 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; {37728#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:40,633 INFO L290 TraceCheckUtils]: 36: Hoare triple {37728#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37728#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:40,634 INFO L290 TraceCheckUtils]: 37: Hoare triple {37728#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {37728#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:40,634 INFO L272 TraceCheckUtils]: 38: Hoare triple {37728#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= 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)); {37617#true} is VALID [2022-04-28 12:16:40,634 INFO L290 TraceCheckUtils]: 39: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:16:40,634 INFO L290 TraceCheckUtils]: 40: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:16:40,634 INFO L290 TraceCheckUtils]: 41: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:16:40,635 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {37617#true} {37728#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {37728#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:40,635 INFO L272 TraceCheckUtils]: 43: Hoare triple {37728#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= 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)); {37617#true} is VALID [2022-04-28 12:16:40,636 INFO L290 TraceCheckUtils]: 44: Hoare triple {37617#true} ~cond := #in~cond; {37756#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:16:40,636 INFO L290 TraceCheckUtils]: 45: Hoare triple {37756#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:16:40,636 INFO L290 TraceCheckUtils]: 46: Hoare triple {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:16:40,637 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} {37728#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {37767#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:40,637 INFO L272 TraceCheckUtils]: 48: Hoare triple {37767#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~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)); {37617#true} is VALID [2022-04-28 12:16:40,638 INFO L290 TraceCheckUtils]: 49: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:16:40,638 INFO L290 TraceCheckUtils]: 50: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:16:40,638 INFO L290 TraceCheckUtils]: 51: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:16:40,638 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {37617#true} {37767#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {37767#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:40,639 INFO L290 TraceCheckUtils]: 53: Hoare triple {37767#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {37767#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:16:40,642 INFO L290 TraceCheckUtils]: 54: Hoare triple {37767#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= 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; {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-28 12:16:40,643 INFO L290 TraceCheckUtils]: 55: Hoare triple {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-28 12:16:40,643 INFO L290 TraceCheckUtils]: 56: Hoare triple {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} assume !!(#t~post6 < 100);havoc #t~post6; {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-28 12:16:40,644 INFO L272 TraceCheckUtils]: 57: Hoare triple {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:16:40,644 INFO L290 TraceCheckUtils]: 58: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:16:40,644 INFO L290 TraceCheckUtils]: 59: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:16:40,644 INFO L290 TraceCheckUtils]: 60: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:16:40,644 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {37617#true} {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #68#return; {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-28 12:16:40,645 INFO L272 TraceCheckUtils]: 62: Hoare triple {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:16:40,645 INFO L290 TraceCheckUtils]: 63: Hoare triple {37617#true} ~cond := #in~cond; {37756#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:16:40,645 INFO L290 TraceCheckUtils]: 64: Hoare triple {37756#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:16:40,646 INFO L290 TraceCheckUtils]: 65: Hoare triple {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:16:40,646 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #70#return; {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-28 12:16:40,646 INFO L272 TraceCheckUtils]: 67: Hoare triple {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:16:40,646 INFO L290 TraceCheckUtils]: 68: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:16:40,646 INFO L290 TraceCheckUtils]: 69: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:16:40,647 INFO L290 TraceCheckUtils]: 70: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:16:40,647 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {37617#true} {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #72#return; {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-28 12:16:40,648 INFO L290 TraceCheckUtils]: 72: Hoare triple {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} assume !!(~a~0 != ~b~0); {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-28 12:16:40,652 INFO L290 TraceCheckUtils]: 73: Hoare triple {37789#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~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; {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-28 12:16:40,653 INFO L290 TraceCheckUtils]: 74: Hoare triple {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-28 12:16:40,654 INFO L290 TraceCheckUtils]: 75: Hoare triple {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} assume !!(#t~post6 < 100);havoc #t~post6; {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-28 12:16:40,654 INFO L272 TraceCheckUtils]: 76: Hoare triple {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:16:40,654 INFO L290 TraceCheckUtils]: 77: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:16:40,654 INFO L290 TraceCheckUtils]: 78: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:16:40,654 INFO L290 TraceCheckUtils]: 79: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:16:40,655 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {37617#true} {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #68#return; {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-28 12:16:40,655 INFO L272 TraceCheckUtils]: 81: Hoare triple {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:16:40,655 INFO L290 TraceCheckUtils]: 82: Hoare triple {37617#true} ~cond := #in~cond; {37756#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:16:40,656 INFO L290 TraceCheckUtils]: 83: Hoare triple {37756#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:16:40,656 INFO L290 TraceCheckUtils]: 84: Hoare triple {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:16:40,657 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #70#return; {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-28 12:16:40,657 INFO L272 TraceCheckUtils]: 86: Hoare triple {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:16:40,657 INFO L290 TraceCheckUtils]: 87: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:16:40,657 INFO L290 TraceCheckUtils]: 88: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:16:40,657 INFO L290 TraceCheckUtils]: 89: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:16:40,658 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {37617#true} {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #72#return; {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-28 12:16:40,659 INFO L290 TraceCheckUtils]: 91: Hoare triple {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} assume !!(~a~0 != ~b~0); {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-28 12:16:40,666 INFO L290 TraceCheckUtils]: 92: Hoare triple {37847#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37905#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:40,666 INFO L290 TraceCheckUtils]: 93: Hoare triple {37905#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37905#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:40,667 INFO L290 TraceCheckUtils]: 94: Hoare triple {37905#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {37905#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:40,667 INFO L272 TraceCheckUtils]: 95: Hoare triple {37905#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:16:40,667 INFO L290 TraceCheckUtils]: 96: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:16:40,667 INFO L290 TraceCheckUtils]: 97: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:16:40,667 INFO L290 TraceCheckUtils]: 98: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:16:40,684 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {37617#true} {37905#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} #68#return; {37905#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 12:16:40,690 INFO L272 TraceCheckUtils]: 100: Hoare triple {37905#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) 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)); {37930#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:16:40,690 INFO L290 TraceCheckUtils]: 101: Hoare triple {37930#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {37934#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:16:40,690 INFO L290 TraceCheckUtils]: 102: Hoare triple {37934#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37618#false} is VALID [2022-04-28 12:16:40,691 INFO L290 TraceCheckUtils]: 103: Hoare triple {37618#false} assume !false; {37618#false} is VALID [2022-04-28 12:16:40,691 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 77 proven. 97 refuted. 0 times theorem prover too weak. 226 trivial. 0 not checked. [2022-04-28 12:16:40,691 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:17:25,580 INFO L290 TraceCheckUtils]: 103: Hoare triple {37618#false} assume !false; {37618#false} is VALID [2022-04-28 12:17:25,581 INFO L290 TraceCheckUtils]: 102: Hoare triple {37934#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37618#false} is VALID [2022-04-28 12:17:25,581 INFO L290 TraceCheckUtils]: 101: Hoare triple {37930#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {37934#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:25,582 INFO L272 TraceCheckUtils]: 100: Hoare triple {37950#(= 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)); {37930#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:17:25,583 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {37617#true} {37950#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {37950#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:17:25,583 INFO L290 TraceCheckUtils]: 98: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:17:25,583 INFO L290 TraceCheckUtils]: 97: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:17:25,583 INFO L290 TraceCheckUtils]: 96: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:17:25,583 INFO L272 TraceCheckUtils]: 95: Hoare triple {37950#(= 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)); {37617#true} is VALID [2022-04-28 12:17:25,584 INFO L290 TraceCheckUtils]: 94: Hoare triple {37950#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {37950#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:17:25,584 INFO L290 TraceCheckUtils]: 93: Hoare triple {37950#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37950#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:17:25,815 INFO L290 TraceCheckUtils]: 92: Hoare triple {37975#(= (+ 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; {37950#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:17:25,816 INFO L290 TraceCheckUtils]: 91: Hoare triple {37975#(= (+ 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); {37975#(= (+ 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-28 12:17:25,816 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {37617#true} {37975#(= (+ 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; {37975#(= (+ 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-28 12:17:25,817 INFO L290 TraceCheckUtils]: 89: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:17:25,817 INFO L290 TraceCheckUtils]: 88: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:17:25,817 INFO L290 TraceCheckUtils]: 87: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:17:25,817 INFO L272 TraceCheckUtils]: 86: Hoare triple {37975#(= (+ 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)); {37617#true} is VALID [2022-04-28 12:17:25,818 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} {37997#(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; {37975#(= (+ 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-28 12:17:25,818 INFO L290 TraceCheckUtils]: 84: Hoare triple {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:25,818 INFO L290 TraceCheckUtils]: 83: Hoare triple {38007#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:25,819 INFO L290 TraceCheckUtils]: 82: Hoare triple {37617#true} ~cond := #in~cond; {38007#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:17:25,819 INFO L272 TraceCheckUtils]: 81: Hoare triple {37997#(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)); {37617#true} is VALID [2022-04-28 12:17:25,819 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {37617#true} {37997#(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; {37997#(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-28 12:17:25,820 INFO L290 TraceCheckUtils]: 79: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:17:25,820 INFO L290 TraceCheckUtils]: 78: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:17:25,820 INFO L290 TraceCheckUtils]: 77: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:17:25,820 INFO L272 TraceCheckUtils]: 76: Hoare triple {37997#(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)); {37617#true} is VALID [2022-04-28 12:17:25,820 INFO L290 TraceCheckUtils]: 75: Hoare triple {37997#(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 < 100);havoc #t~post6; {37997#(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-28 12:17:25,821 INFO L290 TraceCheckUtils]: 74: Hoare triple {37997#(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; {37997#(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-28 12:17:25,919 INFO L290 TraceCheckUtils]: 73: Hoare triple {38035#(or (= (+ (* 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)) (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; {37997#(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-28 12:17:25,920 INFO L290 TraceCheckUtils]: 72: Hoare triple {38035#(or (= (+ (* 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)) (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); {38035#(or (= (+ (* 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)) (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-28 12:17:25,921 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {37617#true} {38035#(or (= (+ (* 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)) (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; {38035#(or (= (+ (* 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)) (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-28 12:17:25,921 INFO L290 TraceCheckUtils]: 70: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:17:25,921 INFO L290 TraceCheckUtils]: 69: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:17:25,921 INFO L290 TraceCheckUtils]: 68: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:17:25,921 INFO L272 TraceCheckUtils]: 67: Hoare triple {38035#(or (= (+ (* 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)) (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)); {37617#true} is VALID [2022-04-28 12:17:25,924 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} {37617#true} #70#return; {38035#(or (= (+ (* 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)) (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-28 12:17:25,924 INFO L290 TraceCheckUtils]: 65: Hoare triple {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:25,924 INFO L290 TraceCheckUtils]: 64: Hoare triple {38007#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {37760#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:25,925 INFO L290 TraceCheckUtils]: 63: Hoare triple {37617#true} ~cond := #in~cond; {38007#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:17:25,925 INFO L272 TraceCheckUtils]: 62: Hoare triple {37617#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:17:25,925 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {37617#true} {37617#true} #68#return; {37617#true} is VALID [2022-04-28 12:17:25,925 INFO L290 TraceCheckUtils]: 60: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:17:25,925 INFO L290 TraceCheckUtils]: 59: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:17:25,925 INFO L290 TraceCheckUtils]: 58: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:17:25,925 INFO L272 TraceCheckUtils]: 57: Hoare triple {37617#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:17:25,925 INFO L290 TraceCheckUtils]: 56: Hoare triple {37617#true} assume !!(#t~post6 < 100);havoc #t~post6; {37617#true} is VALID [2022-04-28 12:17:25,925 INFO L290 TraceCheckUtils]: 55: Hoare triple {37617#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37617#true} is VALID [2022-04-28 12:17:25,925 INFO L290 TraceCheckUtils]: 54: Hoare triple {37617#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37617#true} is VALID [2022-04-28 12:17:25,925 INFO L290 TraceCheckUtils]: 53: Hoare triple {37617#true} assume !!(~a~0 != ~b~0); {37617#true} is VALID [2022-04-28 12:17:25,925 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {37617#true} {37617#true} #72#return; {37617#true} is VALID [2022-04-28 12:17:25,925 INFO L290 TraceCheckUtils]: 51: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:17:25,926 INFO L290 TraceCheckUtils]: 50: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:17:25,926 INFO L290 TraceCheckUtils]: 49: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:17:25,926 INFO L272 TraceCheckUtils]: 48: Hoare triple {37617#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:17:25,926 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {37617#true} {37617#true} #70#return; {37617#true} is VALID [2022-04-28 12:17:25,926 INFO L290 TraceCheckUtils]: 46: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:17:25,926 INFO L290 TraceCheckUtils]: 45: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:17:25,926 INFO L290 TraceCheckUtils]: 44: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:17:25,926 INFO L272 TraceCheckUtils]: 43: Hoare triple {37617#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:17:25,926 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {37617#true} {37617#true} #68#return; {37617#true} is VALID [2022-04-28 12:17:25,926 INFO L290 TraceCheckUtils]: 41: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:17:25,926 INFO L290 TraceCheckUtils]: 40: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:17:25,926 INFO L290 TraceCheckUtils]: 39: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:17:25,926 INFO L272 TraceCheckUtils]: 38: Hoare triple {37617#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:17:25,926 INFO L290 TraceCheckUtils]: 37: Hoare triple {37617#true} assume !!(#t~post6 < 100);havoc #t~post6; {37617#true} is VALID [2022-04-28 12:17:25,926 INFO L290 TraceCheckUtils]: 36: Hoare triple {37617#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37617#true} is VALID [2022-04-28 12:17:25,927 INFO L290 TraceCheckUtils]: 35: Hoare triple {37617#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37617#true} is VALID [2022-04-28 12:17:25,927 INFO L290 TraceCheckUtils]: 34: Hoare triple {37617#true} assume !!(~a~0 != ~b~0); {37617#true} is VALID [2022-04-28 12:17:25,927 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {37617#true} {37617#true} #72#return; {37617#true} is VALID [2022-04-28 12:17:25,927 INFO L290 TraceCheckUtils]: 32: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:17:25,927 INFO L290 TraceCheckUtils]: 31: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:17:25,927 INFO L290 TraceCheckUtils]: 30: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:17:25,927 INFO L272 TraceCheckUtils]: 29: Hoare triple {37617#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:17:25,927 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {37617#true} {37617#true} #70#return; {37617#true} is VALID [2022-04-28 12:17:25,927 INFO L290 TraceCheckUtils]: 27: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:17:25,927 INFO L290 TraceCheckUtils]: 26: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:17:25,927 INFO L290 TraceCheckUtils]: 25: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:17:25,927 INFO L272 TraceCheckUtils]: 24: Hoare triple {37617#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:17:25,927 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {37617#true} {37617#true} #68#return; {37617#true} is VALID [2022-04-28 12:17:25,927 INFO L290 TraceCheckUtils]: 22: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:17:25,928 INFO L290 TraceCheckUtils]: 21: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:17:25,928 INFO L290 TraceCheckUtils]: 20: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:17:25,928 INFO L272 TraceCheckUtils]: 19: Hoare triple {37617#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:17:25,928 INFO L290 TraceCheckUtils]: 18: Hoare triple {37617#true} assume !!(#t~post6 < 100);havoc #t~post6; {37617#true} is VALID [2022-04-28 12:17:25,928 INFO L290 TraceCheckUtils]: 17: Hoare triple {37617#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37617#true} is VALID [2022-04-28 12:17:25,928 INFO L290 TraceCheckUtils]: 16: Hoare triple {37617#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {37617#true} is VALID [2022-04-28 12:17:25,928 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {37617#true} {37617#true} #66#return; {37617#true} is VALID [2022-04-28 12:17:25,928 INFO L290 TraceCheckUtils]: 14: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:17:25,928 INFO L290 TraceCheckUtils]: 13: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:17:25,928 INFO L290 TraceCheckUtils]: 12: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:17:25,928 INFO L272 TraceCheckUtils]: 11: Hoare triple {37617#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:17:25,928 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {37617#true} {37617#true} #64#return; {37617#true} is VALID [2022-04-28 12:17:25,928 INFO L290 TraceCheckUtils]: 9: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:17:25,928 INFO L290 TraceCheckUtils]: 8: Hoare triple {37617#true} assume !(0 == ~cond); {37617#true} is VALID [2022-04-28 12:17:25,928 INFO L290 TraceCheckUtils]: 7: Hoare triple {37617#true} ~cond := #in~cond; {37617#true} is VALID [2022-04-28 12:17:25,929 INFO L272 TraceCheckUtils]: 6: Hoare triple {37617#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {37617#true} is VALID [2022-04-28 12:17:25,929 INFO L290 TraceCheckUtils]: 5: Hoare triple {37617#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; {37617#true} is VALID [2022-04-28 12:17:25,929 INFO L272 TraceCheckUtils]: 4: Hoare triple {37617#true} call #t~ret7 := main(); {37617#true} is VALID [2022-04-28 12:17:25,929 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37617#true} {37617#true} #82#return; {37617#true} is VALID [2022-04-28 12:17:25,929 INFO L290 TraceCheckUtils]: 2: Hoare triple {37617#true} assume true; {37617#true} is VALID [2022-04-28 12:17:25,929 INFO L290 TraceCheckUtils]: 1: Hoare triple {37617#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; {37617#true} is VALID [2022-04-28 12:17:25,929 INFO L272 TraceCheckUtils]: 0: Hoare triple {37617#true} call ULTIMATE.init(); {37617#true} is VALID [2022-04-28 12:17:25,929 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 108 proven. 27 refuted. 0 times theorem prover too weak. 265 trivial. 0 not checked. [2022-04-28 12:17:25,930 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:17:25,930 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [505700632] [2022-04-28 12:17:25,930 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:17:25,930 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1241659066] [2022-04-28 12:17:25,930 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1241659066] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:17:25,930 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:17:25,930 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-28 12:17:25,930 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:17:25,930 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [376879579] [2022-04-28 12:17:25,930 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [376879579] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:17:25,930 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:17:25,930 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 12:17:25,931 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1938191777] [2022-04-28 12:17:25,931 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:17:25,931 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 104 [2022-04-28 12:17:25,931 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:17:25,931 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 12:17:26,057 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:17:26,057 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 12:17:26,057 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:17:26,058 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 12:17:26,058 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:17:26,058 INFO L87 Difference]: Start difference. First operand 376 states and 436 transitions. Second operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 12:17:31,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:31,734 INFO L93 Difference]: Finished difference Result 403 states and 475 transitions. [2022-04-28 12:17:31,734 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:17:31,734 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 104 [2022-04-28 12:17:31,751 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:17:31,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 12:17:31,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2022-04-28 12:17:31,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 12:17:31,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2022-04-28 12:17:31,754 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 108 transitions. [2022-04-28 12:17:31,997 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:17:32,024 INFO L225 Difference]: With dead ends: 403 [2022-04-28 12:17:32,024 INFO L226 Difference]: Without dead ends: 401 [2022-04-28 12:17:32,025 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 209 GetRequests, 189 SyntacticMatches, 3 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=69, Invalid=273, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:17:32,025 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 15 mSDsluCounter, 232 mSDsCounter, 0 mSdLazyCounter, 610 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 284 SdHoareTripleChecker+Invalid, 628 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 610 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.7s IncrementalHoareTripleChecker+Time [2022-04-28 12:17:32,025 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 284 Invalid, 628 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 610 Invalid, 0 Unknown, 0 Unchecked, 2.7s Time] [2022-04-28 12:17:32,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 401 states. [2022-04-28 12:17:32,543 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 401 to 385. [2022-04-28 12:17:32,543 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:17:32,559 INFO L82 GeneralOperation]: Start isEquivalent. First operand 401 states. Second operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-28 12:17:32,560 INFO L74 IsIncluded]: Start isIncluded. First operand 401 states. Second operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-28 12:17:32,560 INFO L87 Difference]: Start difference. First operand 401 states. Second operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-28 12:17:32,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:32,570 INFO L93 Difference]: Finished difference Result 401 states and 473 transitions. [2022-04-28 12:17:32,570 INFO L276 IsEmpty]: Start isEmpty. Operand 401 states and 473 transitions. [2022-04-28 12:17:32,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:17:32,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:17:32,571 INFO L74 IsIncluded]: Start isIncluded. First operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) Second operand 401 states. [2022-04-28 12:17:32,571 INFO L87 Difference]: Start difference. First operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) Second operand 401 states. [2022-04-28 12:17:32,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:32,603 INFO L93 Difference]: Finished difference Result 401 states and 473 transitions. [2022-04-28 12:17:32,604 INFO L276 IsEmpty]: Start isEmpty. Operand 401 states and 473 transitions. [2022-04-28 12:17:32,604 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:17:32,604 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:17:32,604 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:17:32,605 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:17:32,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 385 states, 251 states have (on average 1.1314741035856575) internal successors, (284), 259 states have internal predecessors, (284), 84 states have call successors, (84), 50 states have call predecessors, (84), 49 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-28 12:17:32,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 385 states to 385 states and 448 transitions. [2022-04-28 12:17:32,616 INFO L78 Accepts]: Start accepts. Automaton has 385 states and 448 transitions. Word has length 104 [2022-04-28 12:17:32,617 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:17:32,617 INFO L495 AbstractCegarLoop]: Abstraction has 385 states and 448 transitions. [2022-04-28 12:17:32,617 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 12:17:32,617 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 385 states and 448 transitions. [2022-04-28 12:17:37,073 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 448 edges. 448 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:17:37,073 INFO L276 IsEmpty]: Start isEmpty. Operand 385 states and 448 transitions. [2022-04-28 12:17:37,073 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-28 12:17:37,074 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:17:37,074 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 5, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:17:37,091 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Ended with exit code 0 [2022-04-28 12:17:37,275 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-28 12:17:37,276 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:17:37,276 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:17:37,276 INFO L85 PathProgramCache]: Analyzing trace with hash 1041946894, now seen corresponding path program 19 times [2022-04-28 12:17:37,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:17:37,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1603494790] [2022-04-28 12:17:37,277 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:17:37,277 INFO L85 PathProgramCache]: Analyzing trace with hash 1041946894, now seen corresponding path program 20 times [2022-04-28 12:17:37,277 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:17:37,277 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2123516654] [2022-04-28 12:17:37,277 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:17:37,277 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:17:37,292 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:17:37,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [562137544] [2022-04-28 12:17:37,292 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:17:37,292 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:17:37,292 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:17:37,293 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:17:37,296 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-28 12:17:37,356 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:17:37,356 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:17:37,358 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-28 12:17:37,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:17:37,385 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:17:39,390 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:17:39,460 INFO L272 TraceCheckUtils]: 0: Hoare triple {40639#true} call ULTIMATE.init(); {40639#true} is VALID [2022-04-28 12:17:39,460 INFO L290 TraceCheckUtils]: 1: Hoare triple {40639#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; {40639#true} is VALID [2022-04-28 12:17:39,460 INFO L290 TraceCheckUtils]: 2: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,460 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40639#true} {40639#true} #82#return; {40639#true} is VALID [2022-04-28 12:17:39,461 INFO L272 TraceCheckUtils]: 4: Hoare triple {40639#true} call #t~ret7 := main(); {40639#true} is VALID [2022-04-28 12:17:39,461 INFO L290 TraceCheckUtils]: 5: Hoare triple {40639#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; {40639#true} is VALID [2022-04-28 12:17:39,461 INFO L272 TraceCheckUtils]: 6: Hoare triple {40639#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:39,461 INFO L290 TraceCheckUtils]: 7: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:39,461 INFO L290 TraceCheckUtils]: 8: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:39,461 INFO L290 TraceCheckUtils]: 9: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,461 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {40639#true} {40639#true} #64#return; {40639#true} is VALID [2022-04-28 12:17:39,461 INFO L272 TraceCheckUtils]: 11: Hoare triple {40639#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:39,461 INFO L290 TraceCheckUtils]: 12: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:39,461 INFO L290 TraceCheckUtils]: 13: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:39,461 INFO L290 TraceCheckUtils]: 14: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,461 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {40639#true} {40639#true} #66#return; {40639#true} is VALID [2022-04-28 12:17:39,462 INFO L290 TraceCheckUtils]: 16: Hoare triple {40639#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {40692#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:39,462 INFO L290 TraceCheckUtils]: 17: Hoare triple {40692#(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; {40692#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:39,463 INFO L290 TraceCheckUtils]: 18: Hoare triple {40692#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {40692#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:39,463 INFO L272 TraceCheckUtils]: 19: Hoare triple {40692#(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)); {40639#true} is VALID [2022-04-28 12:17:39,463 INFO L290 TraceCheckUtils]: 20: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:39,463 INFO L290 TraceCheckUtils]: 21: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:39,463 INFO L290 TraceCheckUtils]: 22: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,464 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {40639#true} {40692#(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; {40692#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:39,464 INFO L272 TraceCheckUtils]: 24: Hoare triple {40692#(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)); {40639#true} is VALID [2022-04-28 12:17:39,464 INFO L290 TraceCheckUtils]: 25: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:39,464 INFO L290 TraceCheckUtils]: 26: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:39,464 INFO L290 TraceCheckUtils]: 27: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,465 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {40639#true} {40692#(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; {40692#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:39,465 INFO L272 TraceCheckUtils]: 29: Hoare triple {40692#(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)); {40639#true} is VALID [2022-04-28 12:17:39,465 INFO L290 TraceCheckUtils]: 30: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:39,465 INFO L290 TraceCheckUtils]: 31: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:39,465 INFO L290 TraceCheckUtils]: 32: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,466 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {40639#true} {40692#(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; {40692#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:39,466 INFO L290 TraceCheckUtils]: 34: Hoare triple {40692#(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); {40692#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:39,467 INFO L290 TraceCheckUtils]: 35: Hoare triple {40692#(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; {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} is VALID [2022-04-28 12:17:39,468 INFO L290 TraceCheckUtils]: 36: Hoare triple {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} is VALID [2022-04-28 12:17:39,468 INFO L290 TraceCheckUtils]: 37: Hoare triple {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} is VALID [2022-04-28 12:17:39,468 INFO L272 TraceCheckUtils]: 38: Hoare triple {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:39,468 INFO L290 TraceCheckUtils]: 39: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:39,468 INFO L290 TraceCheckUtils]: 40: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:39,469 INFO L290 TraceCheckUtils]: 41: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,469 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {40639#true} {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} #68#return; {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} is VALID [2022-04-28 12:17:39,469 INFO L272 TraceCheckUtils]: 43: Hoare triple {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:39,469 INFO L290 TraceCheckUtils]: 44: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:39,469 INFO L290 TraceCheckUtils]: 45: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:39,470 INFO L290 TraceCheckUtils]: 46: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,470 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {40639#true} {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} #70#return; {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} is VALID [2022-04-28 12:17:39,470 INFO L272 TraceCheckUtils]: 48: Hoare triple {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:39,470 INFO L290 TraceCheckUtils]: 49: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:39,471 INFO L290 TraceCheckUtils]: 50: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:39,471 INFO L290 TraceCheckUtils]: 51: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,471 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {40639#true} {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} #72#return; {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} is VALID [2022-04-28 12:17:39,472 INFO L290 TraceCheckUtils]: 53: Hoare triple {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} assume !!(~a~0 != ~b~0); {40750#(and (= (+ main_~s~0 main_~r~0) 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_~q~0 0))} is VALID [2022-04-28 12:17:39,473 INFO L290 TraceCheckUtils]: 54: Hoare triple {40750#(and (= (+ main_~s~0 main_~r~0) 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_~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; {40808#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:17:39,474 INFO L290 TraceCheckUtils]: 55: Hoare triple {40808#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40808#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:17:39,474 INFO L290 TraceCheckUtils]: 56: Hoare triple {40808#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(#t~post6 < 100);havoc #t~post6; {40808#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:17:39,475 INFO L272 TraceCheckUtils]: 57: Hoare triple {40808#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~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)); {40639#true} is VALID [2022-04-28 12:17:39,475 INFO L290 TraceCheckUtils]: 58: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:39,475 INFO L290 TraceCheckUtils]: 59: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:39,475 INFO L290 TraceCheckUtils]: 60: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,476 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {40639#true} {40808#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #68#return; {40808#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:17:39,476 INFO L272 TraceCheckUtils]: 62: Hoare triple {40808#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~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)); {40639#true} is VALID [2022-04-28 12:17:39,476 INFO L290 TraceCheckUtils]: 63: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:39,476 INFO L290 TraceCheckUtils]: 64: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:39,476 INFO L290 TraceCheckUtils]: 65: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,477 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {40639#true} {40808#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #70#return; {40808#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:17:39,477 INFO L272 TraceCheckUtils]: 67: Hoare triple {40808#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~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)); {40639#true} is VALID [2022-04-28 12:17:39,477 INFO L290 TraceCheckUtils]: 68: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:39,477 INFO L290 TraceCheckUtils]: 69: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:39,477 INFO L290 TraceCheckUtils]: 70: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,478 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40639#true} {40808#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #72#return; {40808#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:17:39,478 INFO L290 TraceCheckUtils]: 72: Hoare triple {40808#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {40863#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:17:39,480 INFO L290 TraceCheckUtils]: 73: Hoare triple {40863#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~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; {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:17:39,481 INFO L290 TraceCheckUtils]: 74: Hoare triple {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:17:39,481 INFO L290 TraceCheckUtils]: 75: Hoare triple {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:17:39,482 INFO L272 TraceCheckUtils]: 76: Hoare triple {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) 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)); {40639#true} is VALID [2022-04-28 12:17:39,482 INFO L290 TraceCheckUtils]: 77: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:39,482 INFO L290 TraceCheckUtils]: 78: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:39,482 INFO L290 TraceCheckUtils]: 79: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,483 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {40639#true} {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #68#return; {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:17:39,483 INFO L272 TraceCheckUtils]: 81: Hoare triple {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) 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)); {40639#true} is VALID [2022-04-28 12:17:39,483 INFO L290 TraceCheckUtils]: 82: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:39,483 INFO L290 TraceCheckUtils]: 83: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:39,483 INFO L290 TraceCheckUtils]: 84: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,484 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {40639#true} {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #70#return; {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:17:39,484 INFO L272 TraceCheckUtils]: 86: Hoare triple {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:39,484 INFO L290 TraceCheckUtils]: 87: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:39,484 INFO L290 TraceCheckUtils]: 88: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:39,484 INFO L290 TraceCheckUtils]: 89: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,485 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {40639#true} {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #72#return; {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:17:39,485 INFO L290 TraceCheckUtils]: 91: Hoare triple {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:17:39,488 INFO L290 TraceCheckUtils]: 92: Hoare triple {40867#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 2) main_~b~0) main_~x~0 (* (- 2) main_~a~0)) main_~a~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (= (+ (* main_~r~0 3) (* main_~s~0 2)) 0) (not (< main_~b~0 0)) (< (+ (* main_~a~0 2) (* main_~b~0 2)) main_~x~0) (= main_~q~0 (* (- 1) main_~p~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; {40925#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 12:17:39,489 INFO L290 TraceCheckUtils]: 93: Hoare triple {40925#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40925#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 12:17:39,490 INFO L290 TraceCheckUtils]: 94: Hoare triple {40925#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {40925#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 12:17:39,490 INFO L272 TraceCheckUtils]: 95: Hoare triple {40925#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:39,490 INFO L290 TraceCheckUtils]: 96: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:39,490 INFO L290 TraceCheckUtils]: 97: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:39,490 INFO L290 TraceCheckUtils]: 98: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:39,491 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {40639#true} {40925#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} #68#return; {40925#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-28 12:17:39,494 INFO L272 TraceCheckUtils]: 100: Hoare triple {40925#(and (<= main_~x~0 (* main_~y~0 3)) (= (+ (* 5 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 3)) 0) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)) (= (mod (+ main_~r~0 1) 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40950#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:17:39,495 INFO L290 TraceCheckUtils]: 101: Hoare triple {40950#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {40954#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:39,495 INFO L290 TraceCheckUtils]: 102: Hoare triple {40954#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {40640#false} is VALID [2022-04-28 12:17:39,495 INFO L290 TraceCheckUtils]: 103: Hoare triple {40640#false} assume !false; {40640#false} is VALID [2022-04-28 12:17:39,496 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 26 proven. 58 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-28 12:17:39,496 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:17:40,504 INFO L290 TraceCheckUtils]: 103: Hoare triple {40640#false} assume !false; {40640#false} is VALID [2022-04-28 12:17:40,505 INFO L290 TraceCheckUtils]: 102: Hoare triple {40954#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {40640#false} is VALID [2022-04-28 12:17:40,505 INFO L290 TraceCheckUtils]: 101: Hoare triple {40950#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {40954#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:40,506 INFO L272 TraceCheckUtils]: 100: Hoare triple {40970#(= 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)); {40950#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:17:40,506 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {40639#true} {40970#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {40970#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:17:40,506 INFO L290 TraceCheckUtils]: 98: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:40,506 INFO L290 TraceCheckUtils]: 97: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:40,506 INFO L290 TraceCheckUtils]: 96: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:40,506 INFO L272 TraceCheckUtils]: 95: Hoare triple {40970#(= 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)); {40639#true} is VALID [2022-04-28 12:17:40,507 INFO L290 TraceCheckUtils]: 94: Hoare triple {40970#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {40970#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:17:40,507 INFO L290 TraceCheckUtils]: 93: Hoare triple {40970#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40970#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:17:40,553 INFO L290 TraceCheckUtils]: 92: Hoare triple {40995#(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_~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; {40970#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:17:40,553 INFO L290 TraceCheckUtils]: 91: Hoare triple {40995#(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_~a~0)))} assume !!(~a~0 != ~b~0); {40995#(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_~a~0)))} is VALID [2022-04-28 12:17:40,554 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {40639#true} {40995#(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_~a~0)))} #72#return; {40995#(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_~a~0)))} is VALID [2022-04-28 12:17:40,554 INFO L290 TraceCheckUtils]: 89: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:40,554 INFO L290 TraceCheckUtils]: 88: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:40,554 INFO L290 TraceCheckUtils]: 87: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:40,554 INFO L272 TraceCheckUtils]: 86: Hoare triple {40995#(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_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:40,555 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {40639#true} {40995#(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_~a~0)))} #70#return; {40995#(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_~a~0)))} is VALID [2022-04-28 12:17:40,555 INFO L290 TraceCheckUtils]: 84: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:40,555 INFO L290 TraceCheckUtils]: 83: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:40,555 INFO L290 TraceCheckUtils]: 82: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:40,555 INFO L272 TraceCheckUtils]: 81: Hoare triple {40995#(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_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:40,555 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {40639#true} {40995#(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_~a~0)))} #68#return; {40995#(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_~a~0)))} is VALID [2022-04-28 12:17:40,556 INFO L290 TraceCheckUtils]: 79: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:40,556 INFO L290 TraceCheckUtils]: 78: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:40,556 INFO L290 TraceCheckUtils]: 77: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:40,556 INFO L272 TraceCheckUtils]: 76: Hoare triple {40995#(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_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:40,559 INFO L290 TraceCheckUtils]: 75: Hoare triple {40995#(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_~a~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {40995#(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_~a~0)))} is VALID [2022-04-28 12:17:40,560 INFO L290 TraceCheckUtils]: 74: Hoare triple {40995#(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_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {40995#(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_~a~0)))} is VALID [2022-04-28 12:17:40,712 INFO L290 TraceCheckUtils]: 73: Hoare triple {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< 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; {40995#(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_~a~0)))} is VALID [2022-04-28 12:17:40,713 INFO L290 TraceCheckUtils]: 72: Hoare triple {41057#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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); {41053#(or (not (< main_~b~0 (* main_~a~0 2))) (< 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-28 12:17:40,713 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40639#true} {41057#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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; {41057#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-28 12:17:40,713 INFO L290 TraceCheckUtils]: 70: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:40,713 INFO L290 TraceCheckUtils]: 69: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:40,713 INFO L290 TraceCheckUtils]: 68: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:40,713 INFO L272 TraceCheckUtils]: 67: Hoare triple {41057#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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)); {40639#true} is VALID [2022-04-28 12:17:40,714 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {40639#true} {41057#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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; {41057#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-28 12:17:40,714 INFO L290 TraceCheckUtils]: 65: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:40,714 INFO L290 TraceCheckUtils]: 64: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:40,714 INFO L290 TraceCheckUtils]: 63: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:40,714 INFO L272 TraceCheckUtils]: 62: Hoare triple {41057#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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)); {40639#true} is VALID [2022-04-28 12:17:40,715 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {40639#true} {41057#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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; {41057#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-28 12:17:40,715 INFO L290 TraceCheckUtils]: 60: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:40,715 INFO L290 TraceCheckUtils]: 59: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:40,715 INFO L290 TraceCheckUtils]: 58: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:40,715 INFO L272 TraceCheckUtils]: 57: Hoare triple {41057#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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)); {40639#true} is VALID [2022-04-28 12:17:40,715 INFO L290 TraceCheckUtils]: 56: Hoare triple {41057#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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 < 100);havoc #t~post6; {41057#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-28 12:17:40,716 INFO L290 TraceCheckUtils]: 55: Hoare triple {41057#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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; {41057#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-28 12:17:42,718 WARN L290 TraceCheckUtils]: 54: Hoare triple {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~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; {41057#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-28 12:17:42,719 INFO L290 TraceCheckUtils]: 53: Hoare triple {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} assume !!(~a~0 != ~b~0); {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 12:17:42,720 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {40639#true} {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #72#return; {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 12:17:42,720 INFO L290 TraceCheckUtils]: 51: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:42,720 INFO L290 TraceCheckUtils]: 50: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:42,720 INFO L290 TraceCheckUtils]: 49: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:42,720 INFO L272 TraceCheckUtils]: 48: Hoare triple {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:42,720 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {40639#true} {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #70#return; {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 12:17:42,720 INFO L290 TraceCheckUtils]: 46: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:42,720 INFO L290 TraceCheckUtils]: 45: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:42,721 INFO L290 TraceCheckUtils]: 44: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:42,721 INFO L272 TraceCheckUtils]: 43: Hoare triple {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:42,721 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {40639#true} {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #68#return; {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 12:17:42,721 INFO L290 TraceCheckUtils]: 41: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:42,721 INFO L290 TraceCheckUtils]: 40: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:42,721 INFO L290 TraceCheckUtils]: 39: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:42,721 INFO L272 TraceCheckUtils]: 38: Hoare triple {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:42,722 INFO L290 TraceCheckUtils]: 37: Hoare triple {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} assume !!(#t~post6 < 100);havoc #t~post6; {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 12:17:42,722 INFO L290 TraceCheckUtils]: 36: Hoare triple {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 12:17:43,569 INFO L290 TraceCheckUtils]: 35: Hoare triple {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 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; {41112#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 12:17:43,570 INFO L290 TraceCheckUtils]: 34: Hoare triple {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} assume !!(~a~0 != ~b~0); {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 12:17:43,571 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {40639#true} {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #72#return; {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 12:17:43,571 INFO L290 TraceCheckUtils]: 32: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:43,571 INFO L290 TraceCheckUtils]: 31: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:43,571 INFO L290 TraceCheckUtils]: 30: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:43,571 INFO L272 TraceCheckUtils]: 29: Hoare triple {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:43,572 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {40639#true} {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #70#return; {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 12:17:43,572 INFO L290 TraceCheckUtils]: 27: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:43,572 INFO L290 TraceCheckUtils]: 26: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:43,572 INFO L290 TraceCheckUtils]: 25: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:43,572 INFO L272 TraceCheckUtils]: 24: Hoare triple {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:43,573 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {40639#true} {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #68#return; {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 12:17:43,573 INFO L290 TraceCheckUtils]: 22: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:43,573 INFO L290 TraceCheckUtils]: 21: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:43,573 INFO L290 TraceCheckUtils]: 20: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:43,573 INFO L272 TraceCheckUtils]: 19: Hoare triple {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:43,574 INFO L290 TraceCheckUtils]: 18: Hoare triple {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 12:17:43,574 INFO L290 TraceCheckUtils]: 17: Hoare triple {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 12:17:43,575 INFO L290 TraceCheckUtils]: 16: Hoare triple {40639#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 12:17:43,575 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {40639#true} {40639#true} #66#return; {40639#true} is VALID [2022-04-28 12:17:43,575 INFO L290 TraceCheckUtils]: 14: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:43,575 INFO L290 TraceCheckUtils]: 13: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:43,575 INFO L290 TraceCheckUtils]: 12: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:43,575 INFO L272 TraceCheckUtils]: 11: Hoare triple {40639#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:43,575 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {40639#true} {40639#true} #64#return; {40639#true} is VALID [2022-04-28 12:17:43,575 INFO L290 TraceCheckUtils]: 9: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:43,575 INFO L290 TraceCheckUtils]: 8: Hoare triple {40639#true} assume !(0 == ~cond); {40639#true} is VALID [2022-04-28 12:17:43,575 INFO L290 TraceCheckUtils]: 7: Hoare triple {40639#true} ~cond := #in~cond; {40639#true} is VALID [2022-04-28 12:17:43,575 INFO L272 TraceCheckUtils]: 6: Hoare triple {40639#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40639#true} is VALID [2022-04-28 12:17:43,575 INFO L290 TraceCheckUtils]: 5: Hoare triple {40639#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; {40639#true} is VALID [2022-04-28 12:17:43,575 INFO L272 TraceCheckUtils]: 4: Hoare triple {40639#true} call #t~ret7 := main(); {40639#true} is VALID [2022-04-28 12:17:43,575 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40639#true} {40639#true} #82#return; {40639#true} is VALID [2022-04-28 12:17:43,575 INFO L290 TraceCheckUtils]: 2: Hoare triple {40639#true} assume true; {40639#true} is VALID [2022-04-28 12:17:43,575 INFO L290 TraceCheckUtils]: 1: Hoare triple {40639#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; {40639#true} is VALID [2022-04-28 12:17:43,576 INFO L272 TraceCheckUtils]: 0: Hoare triple {40639#true} call ULTIMATE.init(); {40639#true} is VALID [2022-04-28 12:17:43,576 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 26 proven. 58 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-28 12:17:43,576 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:17:43,576 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2123516654] [2022-04-28 12:17:43,576 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:17:43,576 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [562137544] [2022-04-28 12:17:43,576 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [562137544] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:17:43,576 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:17:43,576 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-28 12:17:43,577 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:17:43,577 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1603494790] [2022-04-28 12:17:43,577 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1603494790] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:17:43,577 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:17:43,577 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:17:43,577 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1728002151] [2022-04-28 12:17:43,577 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:17:43,577 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 104 [2022-04-28 12:17:43,577 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:17:43,578 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:17:43,653 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:17:43,653 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:17:43,653 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:17:43,653 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:17:43,653 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:17:43,654 INFO L87 Difference]: Start difference. First operand 385 states and 448 transitions. Second operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:17:46,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:46,769 INFO L93 Difference]: Finished difference Result 433 states and 509 transitions. [2022-04-28 12:17:46,769 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:17:46,769 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 104 [2022-04-28 12:17:46,769 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:17:46,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:17:46,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 108 transitions. [2022-04-28 12:17:46,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:17:46,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 108 transitions. [2022-04-28 12:17:46,772 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 108 transitions. [2022-04-28 12:17:46,918 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:17:46,928 INFO L225 Difference]: With dead ends: 433 [2022-04-28 12:17:46,928 INFO L226 Difference]: Without dead ends: 431 [2022-04-28 12:17:46,928 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 208 GetRequests, 192 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=66, Invalid=206, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:17:46,929 INFO L413 NwaCegarLoop]: 62 mSDtfsCounter, 10 mSDsluCounter, 230 mSDsCounter, 0 mSdLazyCounter, 407 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 292 SdHoareTripleChecker+Invalid, 419 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 407 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:17:46,929 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 292 Invalid, 419 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 407 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-28 12:17:46,929 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 431 states. [2022-04-28 12:17:47,480 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 431 to 415. [2022-04-28 12:17:47,480 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:17:47,481 INFO L82 GeneralOperation]: Start isEquivalent. First operand 431 states. Second operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-28 12:17:47,481 INFO L74 IsIncluded]: Start isIncluded. First operand 431 states. Second operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-28 12:17:47,481 INFO L87 Difference]: Start difference. First operand 431 states. Second operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-28 12:17:47,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:47,492 INFO L93 Difference]: Finished difference Result 431 states and 507 transitions. [2022-04-28 12:17:47,492 INFO L276 IsEmpty]: Start isEmpty. Operand 431 states and 507 transitions. [2022-04-28 12:17:47,493 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:17:47,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:17:47,494 INFO L74 IsIncluded]: Start isIncluded. First operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) Second operand 431 states. [2022-04-28 12:17:47,494 INFO L87 Difference]: Start difference. First operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) Second operand 431 states. [2022-04-28 12:17:47,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:47,505 INFO L93 Difference]: Finished difference Result 431 states and 507 transitions. [2022-04-28 12:17:47,505 INFO L276 IsEmpty]: Start isEmpty. Operand 431 states and 507 transitions. [2022-04-28 12:17:47,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:17:47,506 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:17:47,506 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:17:47,506 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:17:47,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 415 states, 271 states have (on average 1.1291512915129152) internal successors, (306), 279 states have internal predecessors, (306), 90 states have call successors, (90), 54 states have call predecessors, (90), 53 states have return successors, (86), 81 states have call predecessors, (86), 86 states have call successors, (86) [2022-04-28 12:17:47,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 415 states to 415 states and 482 transitions. [2022-04-28 12:17:47,519 INFO L78 Accepts]: Start accepts. Automaton has 415 states and 482 transitions. Word has length 104 [2022-04-28 12:17:47,519 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:17:47,519 INFO L495 AbstractCegarLoop]: Abstraction has 415 states and 482 transitions. [2022-04-28 12:17:47,519 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:17:47,519 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 415 states and 482 transitions. [2022-04-28 12:17:53,289 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 482 edges. 481 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:17:53,289 INFO L276 IsEmpty]: Start isEmpty. Operand 415 states and 482 transitions. [2022-04-28 12:17:53,290 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-28 12:17:53,290 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:17:53,290 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 5, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:17:53,306 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-28 12:17:53,490 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-28 12:17:53,490 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:17:53,491 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:17:53,491 INFO L85 PathProgramCache]: Analyzing trace with hash -140733238, now seen corresponding path program 21 times [2022-04-28 12:17:53,491 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:17:53,491 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1305207553] [2022-04-28 12:17:53,491 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:17:53,491 INFO L85 PathProgramCache]: Analyzing trace with hash -140733238, now seen corresponding path program 22 times [2022-04-28 12:17:53,491 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:17:53,491 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1123088413] [2022-04-28 12:17:53,491 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:17:53,491 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:17:53,504 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:17:53,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1605792316] [2022-04-28 12:17:53,504 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:17:53,504 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:17:53,505 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:17:53,506 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:17:53,531 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-28 12:17:53,570 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:17:53,571 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:17:53,572 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 64 conjunts are in the unsatisfiable core [2022-04-28 12:17:53,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:17:53,591 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:17:54,674 INFO L272 TraceCheckUtils]: 0: Hoare triple {43838#true} call ULTIMATE.init(); {43838#true} is VALID [2022-04-28 12:17:54,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {43838#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; {43838#true} is VALID [2022-04-28 12:17:54,674 INFO L290 TraceCheckUtils]: 2: Hoare triple {43838#true} assume true; {43838#true} is VALID [2022-04-28 12:17:54,674 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43838#true} {43838#true} #82#return; {43838#true} is VALID [2022-04-28 12:17:54,675 INFO L272 TraceCheckUtils]: 4: Hoare triple {43838#true} call #t~ret7 := main(); {43838#true} is VALID [2022-04-28 12:17:54,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {43838#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; {43838#true} is VALID [2022-04-28 12:17:54,675 INFO L272 TraceCheckUtils]: 6: Hoare triple {43838#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43838#true} is VALID [2022-04-28 12:17:54,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {43838#true} ~cond := #in~cond; {43838#true} is VALID [2022-04-28 12:17:54,675 INFO L290 TraceCheckUtils]: 8: Hoare triple {43838#true} assume !(0 == ~cond); {43838#true} is VALID [2022-04-28 12:17:54,675 INFO L290 TraceCheckUtils]: 9: Hoare triple {43838#true} assume true; {43838#true} is VALID [2022-04-28 12:17:54,675 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43838#true} {43838#true} #64#return; {43838#true} is VALID [2022-04-28 12:17:54,675 INFO L272 TraceCheckUtils]: 11: Hoare triple {43838#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43838#true} is VALID [2022-04-28 12:17:54,675 INFO L290 TraceCheckUtils]: 12: Hoare triple {43838#true} ~cond := #in~cond; {43838#true} is VALID [2022-04-28 12:17:54,675 INFO L290 TraceCheckUtils]: 13: Hoare triple {43838#true} assume !(0 == ~cond); {43838#true} is VALID [2022-04-28 12:17:54,675 INFO L290 TraceCheckUtils]: 14: Hoare triple {43838#true} assume true; {43838#true} is VALID [2022-04-28 12:17:54,675 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {43838#true} {43838#true} #66#return; {43838#true} is VALID [2022-04-28 12:17:54,675 INFO L290 TraceCheckUtils]: 16: Hoare triple {43838#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {43891#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:54,676 INFO L290 TraceCheckUtils]: 17: Hoare triple {43891#(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; {43891#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:54,676 INFO L290 TraceCheckUtils]: 18: Hoare triple {43891#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {43891#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:54,676 INFO L272 TraceCheckUtils]: 19: Hoare triple {43891#(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)); {43838#true} is VALID [2022-04-28 12:17:54,676 INFO L290 TraceCheckUtils]: 20: Hoare triple {43838#true} ~cond := #in~cond; {43838#true} is VALID [2022-04-28 12:17:54,676 INFO L290 TraceCheckUtils]: 21: Hoare triple {43838#true} assume !(0 == ~cond); {43838#true} is VALID [2022-04-28 12:17:54,676 INFO L290 TraceCheckUtils]: 22: Hoare triple {43838#true} assume true; {43838#true} is VALID [2022-04-28 12:17:54,677 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {43838#true} {43891#(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; {43891#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:54,677 INFO L272 TraceCheckUtils]: 24: Hoare triple {43891#(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)); {43838#true} is VALID [2022-04-28 12:17:54,677 INFO L290 TraceCheckUtils]: 25: Hoare triple {43838#true} ~cond := #in~cond; {43919#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:54,678 INFO L290 TraceCheckUtils]: 26: Hoare triple {43919#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:54,678 INFO L290 TraceCheckUtils]: 27: Hoare triple {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:54,678 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} {43891#(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; {43891#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:54,679 INFO L272 TraceCheckUtils]: 29: Hoare triple {43891#(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)); {43838#true} is VALID [2022-04-28 12:17:54,679 INFO L290 TraceCheckUtils]: 30: Hoare triple {43838#true} ~cond := #in~cond; {43838#true} is VALID [2022-04-28 12:17:54,679 INFO L290 TraceCheckUtils]: 31: Hoare triple {43838#true} assume !(0 == ~cond); {43838#true} is VALID [2022-04-28 12:17:54,679 INFO L290 TraceCheckUtils]: 32: Hoare triple {43838#true} assume true; {43838#true} is VALID [2022-04-28 12:17:54,679 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {43838#true} {43891#(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; {43891#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:54,680 INFO L290 TraceCheckUtils]: 34: Hoare triple {43891#(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); {43891#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:54,680 INFO L290 TraceCheckUtils]: 35: Hoare triple {43891#(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; {43951#(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-28 12:17:54,681 INFO L290 TraceCheckUtils]: 36: Hoare triple {43951#(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; {43951#(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-28 12:17:54,681 INFO L290 TraceCheckUtils]: 37: Hoare triple {43951#(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 < 100);havoc #t~post6; {43951#(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-28 12:17:54,681 INFO L272 TraceCheckUtils]: 38: Hoare triple {43951#(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)); {43838#true} is VALID [2022-04-28 12:17:54,681 INFO L290 TraceCheckUtils]: 39: Hoare triple {43838#true} ~cond := #in~cond; {43838#true} is VALID [2022-04-28 12:17:54,681 INFO L290 TraceCheckUtils]: 40: Hoare triple {43838#true} assume !(0 == ~cond); {43838#true} is VALID [2022-04-28 12:17:54,681 INFO L290 TraceCheckUtils]: 41: Hoare triple {43838#true} assume true; {43838#true} is VALID [2022-04-28 12:17:54,682 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {43838#true} {43951#(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; {43951#(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-28 12:17:54,682 INFO L272 TraceCheckUtils]: 43: Hoare triple {43951#(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)); {43838#true} is VALID [2022-04-28 12:17:54,682 INFO L290 TraceCheckUtils]: 44: Hoare triple {43838#true} ~cond := #in~cond; {43838#true} is VALID [2022-04-28 12:17:54,682 INFO L290 TraceCheckUtils]: 45: Hoare triple {43838#true} assume !(0 == ~cond); {43838#true} is VALID [2022-04-28 12:17:54,682 INFO L290 TraceCheckUtils]: 46: Hoare triple {43838#true} assume true; {43838#true} is VALID [2022-04-28 12:17:54,682 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {43838#true} {43951#(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; {43951#(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-28 12:17:54,683 INFO L272 TraceCheckUtils]: 48: Hoare triple {43951#(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)); {43838#true} is VALID [2022-04-28 12:17:54,683 INFO L290 TraceCheckUtils]: 49: Hoare triple {43838#true} ~cond := #in~cond; {43919#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:54,683 INFO L290 TraceCheckUtils]: 50: Hoare triple {43919#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:54,683 INFO L290 TraceCheckUtils]: 51: Hoare triple {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:54,684 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} {43951#(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; {43951#(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-28 12:17:54,684 INFO L290 TraceCheckUtils]: 53: Hoare triple {43951#(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); {43951#(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-28 12:17:54,685 INFO L290 TraceCheckUtils]: 54: Hoare triple {43951#(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);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 12:17:54,685 INFO L290 TraceCheckUtils]: 55: Hoare triple {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 12:17:54,686 INFO L290 TraceCheckUtils]: 56: Hoare triple {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 12:17:54,686 INFO L272 TraceCheckUtils]: 57: Hoare triple {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43838#true} is VALID [2022-04-28 12:17:54,686 INFO L290 TraceCheckUtils]: 58: Hoare triple {43838#true} ~cond := #in~cond; {43838#true} is VALID [2022-04-28 12:17:54,686 INFO L290 TraceCheckUtils]: 59: Hoare triple {43838#true} assume !(0 == ~cond); {43838#true} is VALID [2022-04-28 12:17:54,686 INFO L290 TraceCheckUtils]: 60: Hoare triple {43838#true} assume true; {43838#true} is VALID [2022-04-28 12:17:54,688 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {43838#true} {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} #68#return; {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 12:17:54,688 INFO L272 TraceCheckUtils]: 62: Hoare triple {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43838#true} is VALID [2022-04-28 12:17:54,688 INFO L290 TraceCheckUtils]: 63: Hoare triple {43838#true} ~cond := #in~cond; {43919#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:54,689 INFO L290 TraceCheckUtils]: 64: Hoare triple {43919#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:54,689 INFO L290 TraceCheckUtils]: 65: Hoare triple {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:54,690 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} #70#return; {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 12:17:54,690 INFO L272 TraceCheckUtils]: 67: Hoare triple {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43838#true} is VALID [2022-04-28 12:17:54,690 INFO L290 TraceCheckUtils]: 68: Hoare triple {43838#true} ~cond := #in~cond; {43838#true} is VALID [2022-04-28 12:17:54,690 INFO L290 TraceCheckUtils]: 69: Hoare triple {43838#true} assume !(0 == ~cond); {43838#true} is VALID [2022-04-28 12:17:54,690 INFO L290 TraceCheckUtils]: 70: Hoare triple {43838#true} assume true; {43838#true} is VALID [2022-04-28 12:17:54,691 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {43838#true} {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} #72#return; {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 12:17:54,692 INFO L290 TraceCheckUtils]: 72: Hoare triple {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} assume !!(~a~0 != ~b~0); {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 12:17:54,693 INFO L290 TraceCheckUtils]: 73: Hoare triple {44009#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= (+ main_~q~0 main_~p~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; {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 12:17:54,694 INFO L290 TraceCheckUtils]: 74: Hoare triple {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 12:17:54,695 INFO L290 TraceCheckUtils]: 75: Hoare triple {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 12:17:54,695 INFO L272 TraceCheckUtils]: 76: Hoare triple {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43838#true} is VALID [2022-04-28 12:17:54,695 INFO L290 TraceCheckUtils]: 77: Hoare triple {43838#true} ~cond := #in~cond; {43838#true} is VALID [2022-04-28 12:17:54,695 INFO L290 TraceCheckUtils]: 78: Hoare triple {43838#true} assume !(0 == ~cond); {43838#true} is VALID [2022-04-28 12:17:54,695 INFO L290 TraceCheckUtils]: 79: Hoare triple {43838#true} assume true; {43838#true} is VALID [2022-04-28 12:17:54,696 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {43838#true} {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #68#return; {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 12:17:54,696 INFO L272 TraceCheckUtils]: 81: Hoare triple {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43838#true} is VALID [2022-04-28 12:17:54,697 INFO L290 TraceCheckUtils]: 82: Hoare triple {43838#true} ~cond := #in~cond; {43919#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:54,697 INFO L290 TraceCheckUtils]: 83: Hoare triple {43919#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:54,697 INFO L290 TraceCheckUtils]: 84: Hoare triple {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:54,698 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #70#return; {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 12:17:54,698 INFO L272 TraceCheckUtils]: 86: Hoare triple {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43838#true} is VALID [2022-04-28 12:17:54,699 INFO L290 TraceCheckUtils]: 87: Hoare triple {43838#true} ~cond := #in~cond; {43919#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:54,699 INFO L290 TraceCheckUtils]: 88: Hoare triple {43919#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:54,700 INFO L290 TraceCheckUtils]: 89: Hoare triple {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:54,701 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {43923#(not (= |__VERIFIER_assert_#in~cond| 0))} {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #72#return; {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 12:17:54,701 INFO L290 TraceCheckUtils]: 91: Hoare triple {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} assume !!(~a~0 != ~b~0); {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 12:17:54,703 INFO L290 TraceCheckUtils]: 92: Hoare triple {44067#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (= (+ (* main_~p~0 2) (* main_~q~0 3)) 1) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {44125#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} is VALID [2022-04-28 12:17:54,704 INFO L290 TraceCheckUtils]: 93: Hoare triple {44125#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44125#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} is VALID [2022-04-28 12:17:54,704 INFO L290 TraceCheckUtils]: 94: Hoare triple {44125#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {44125#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} is VALID [2022-04-28 12:17:54,704 INFO L272 TraceCheckUtils]: 95: Hoare triple {44125#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {43838#true} is VALID [2022-04-28 12:17:54,705 INFO L290 TraceCheckUtils]: 96: Hoare triple {43838#true} ~cond := #in~cond; {43838#true} is VALID [2022-04-28 12:17:54,705 INFO L290 TraceCheckUtils]: 97: Hoare triple {43838#true} assume !(0 == ~cond); {43838#true} is VALID [2022-04-28 12:17:54,705 INFO L290 TraceCheckUtils]: 98: Hoare triple {43838#true} assume true; {43838#true} is VALID [2022-04-28 12:17:54,706 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {43838#true} {44125#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} #68#return; {44125#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} is VALID [2022-04-28 12:17:54,708 INFO L272 TraceCheckUtils]: 100: Hoare triple {44125#(and (= (- 3) (+ main_~r~0 2)) (= (+ (* 3 (div (+ (* (- 2) main_~p~0) 1) 5)) main_~p~0) 0) (= (+ main_~a~0 (* (- 1) main_~x~0) (* main_~y~0 2)) (+ (* main_~x~0 2) (* main_~y~0 (- 3)))) (= (mod (+ (* main_~p~0 3) 1) 5) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {44150#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:17:54,708 INFO L290 TraceCheckUtils]: 101: Hoare triple {44150#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {44154#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:54,709 INFO L290 TraceCheckUtils]: 102: Hoare triple {44154#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {43839#false} is VALID [2022-04-28 12:17:54,709 INFO L290 TraceCheckUtils]: 103: Hoare triple {43839#false} assume !false; {43839#false} is VALID [2022-04-28 12:17:54,709 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 93 proven. 111 refuted. 0 times theorem prover too weak. 196 trivial. 0 not checked. [2022-04-28 12:17:54,710 INFO L328 TraceCheckSpWp]: Computing backward predicates...