/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_unwindbound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 14:42:18,725 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 14:42:18,727 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 14:42:18,758 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 14:42:18,758 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 14:42:18,759 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 14:42:18,760 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 14:42:18,762 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 14:42:18,766 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 14:42:18,770 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 14:42:18,771 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 14:42:18,773 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 14:42:18,773 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 14:42:18,775 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 14:42:18,776 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 14:42:18,778 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 14:42:18,779 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 14:42:18,779 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 14:42:18,784 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 14:42:18,789 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 14:42:18,791 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 14:42:18,792 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 14:42:18,793 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 14:42:18,796 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 14:42:18,797 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 14:42:18,803 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 14:42:18,803 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 14:42:18,804 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 14:42:18,804 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 14:42:18,804 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 14:42:18,805 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 14:42:18,805 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 14:42:18,806 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 14:42:18,806 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 14:42:18,808 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 14:42:18,809 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 14:42:18,809 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 14:42:18,810 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 14:42:18,810 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 14:42:18,810 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 14:42:18,810 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 14:42:18,812 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 14:42:18,812 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 14:42:18,820 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 14:42:18,821 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 14:42:18,822 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 14:42:18,822 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 14:42:18,822 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 14:42:18,822 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 14:42:18,822 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 14:42:18,822 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 14:42:18,822 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 14:42:18,823 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 14:42:18,823 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 14:42:18,823 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 14:42:18,823 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 14:42:18,823 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 14:42:18,824 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 14:42:18,824 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 14:42:18,824 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 14:42:18,824 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 14:42:18,824 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 14:42:18,824 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 14:42:18,824 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 14:42:18,824 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 14:42:18,824 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-15 14:42:19,049 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 14:42:19,068 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 14:42:19,070 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 14:42:19,071 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 14:42:19,072 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 14:42:19,073 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound5.c [2022-04-15 14:42:19,140 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eece811e0/8765bb6a8e2b4966a7ecf818a8b4b875/FLAGdf808afdc [2022-04-15 14:42:19,507 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 14:42:19,508 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound5.c [2022-04-15 14:42:19,513 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eece811e0/8765bb6a8e2b4966a7ecf818a8b4b875/FLAGdf808afdc [2022-04-15 14:42:19,524 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eece811e0/8765bb6a8e2b4966a7ecf818a8b4b875 [2022-04-15 14:42:19,526 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 14:42:19,527 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 14:42:19,529 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 14:42:19,529 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 14:42:19,531 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 14:42:19,532 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 02:42:19" (1/1) ... [2022-04-15 14:42:19,533 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4cff5c6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:42:19, skipping insertion in model container [2022-04-15 14:42:19,533 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 02:42:19" (1/1) ... [2022-04-15 14:42:19,545 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 14:42:19,555 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 14:42:19,688 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound5.c[489,502] [2022-04-15 14:42:19,705 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 14:42:19,713 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 14:42:19,723 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound5.c[489,502] [2022-04-15 14:42:19,732 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 14:42:19,746 INFO L208 MainTranslator]: Completed translation [2022-04-15 14:42:19,746 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:42:19 WrapperNode [2022-04-15 14:42:19,746 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 14:42:19,747 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 14:42:19,747 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 14:42:19,747 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 14:42:19,760 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:42:19" (1/1) ... [2022-04-15 14:42:19,760 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:42:19" (1/1) ... [2022-04-15 14:42:19,767 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:42:19" (1/1) ... [2022-04-15 14:42:19,768 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:42:19" (1/1) ... [2022-04-15 14:42:19,782 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:42:19" (1/1) ... [2022-04-15 14:42:19,788 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:42:19" (1/1) ... [2022-04-15 14:42:19,790 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:42:19" (1/1) ... [2022-04-15 14:42:19,792 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 14:42:19,793 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 14:42:19,793 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 14:42:19,793 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 14:42:19,794 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:42:19" (1/1) ... [2022-04-15 14:42:19,809 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 14:42:19,819 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:42:19,833 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-15 14:42:19,858 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-15 14:42:19,883 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 14:42:19,883 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 14:42:19,884 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 14:42:19,884 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 14:42:19,884 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 14:42:19,885 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 14:42:19,885 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 14:42:19,885 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 14:42:19,885 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 14:42:19,886 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 14:42:19,886 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 14:42:19,886 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 14:42:19,886 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 14:42:19,886 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 14:42:19,887 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 14:42:19,888 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 14:42:19,888 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 14:42:19,888 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 14:42:19,888 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 14:42:19,888 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 14:42:19,955 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 14:42:19,956 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 14:42:20,163 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 14:42:20,171 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 14:42:20,174 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 14:42:20,176 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 02:42:20 BoogieIcfgContainer [2022-04-15 14:42:20,176 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 14:42:20,185 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 14:42:20,185 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 14:42:20,188 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 14:42:20,188 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 02:42:19" (1/3) ... [2022-04-15 14:42:20,203 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1fadde8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 02:42:20, skipping insertion in model container [2022-04-15 14:42:20,203 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:42:19" (2/3) ... [2022-04-15 14:42:20,204 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1fadde8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 02:42:20, skipping insertion in model container [2022-04-15 14:42:20,204 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 02:42:20" (3/3) ... [2022-04-15 14:42:20,205 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_unwindbound5.c [2022-04-15 14:42:20,209 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 14:42:20,209 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 14:42:20,249 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 14:42:20,254 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 14:42:20,254 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 14:42:20,269 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-15 14:42:20,274 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-15 14:42:20,274 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:42:20,275 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:42:20,275 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:42:20,280 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:42:20,280 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 1 times [2022-04-15 14:42:20,286 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:20,287 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [41229587] [2022-04-15 14:42:20,296 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:42:20,296 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 2 times [2022-04-15 14:42:20,298 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:42:20,299 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1215186634] [2022-04-15 14:42:20,299 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:42:20,300 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:42:20,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:20,432 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 14:42:20,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:20,458 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-15 14:42:20,458 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-15 14:42:20,459 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-15 14:42:20,459 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 14:42:20,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:20,479 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-15 14:42:20,480 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-15 14:42:20,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-15 14:42:20,480 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-15 14:42:20,482 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 14:42:20,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:20,496 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-15 14:42:20,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-15 14:42:20,498 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-15 14:42:20,499 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-15 14:42:20,501 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-15 14:42:20,501 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-15 14:42:20,501 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-15 14:42:20,502 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-15 14:42:20,503 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret7 := main(); {38#true} is VALID [2022-04-15 14:42:20,503 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-15 14:42:20,504 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-15 14:42:20,504 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-15 14:42:20,504 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-15 14:42:20,505 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-15 14:42:20,505 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-15 14:42:20,505 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-15 14:42:20,505 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-15 14:42:20,506 INFO L290 TraceCheckUtils]: 13: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-15 14:42:20,506 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-15 14:42:20,506 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-15 14:42:20,507 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-15 14:42:20,507 INFO L290 TraceCheckUtils]: 17: Hoare triple {39#false} assume !true; {39#false} is VALID [2022-04-15 14:42:20,507 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-15 14:42:20,507 INFO L290 TraceCheckUtils]: 19: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-15 14:42:20,508 INFO L290 TraceCheckUtils]: 20: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-15 14:42:20,508 INFO L290 TraceCheckUtils]: 21: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-15 14:42:20,508 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-15 14:42:20,509 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:42:20,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1215186634] [2022-04-15 14:42:20,510 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1215186634] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:42:20,510 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:42:20,510 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 14:42:20,514 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:42:20,515 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [41229587] [2022-04-15 14:42:20,515 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [41229587] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:42:20,515 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:42:20,516 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 14:42:20,516 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [367272058] [2022-04-15 14:42:20,517 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:42:20,522 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-15 14:42:20,524 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:42:20,526 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-15 14:42:20,560 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-15 14:42:20,560 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 14:42:20,560 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:20,584 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 14:42:20,585 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 14:42:20,588 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-15 14:42:20,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:20,833 INFO L93 Difference]: Finished difference Result 64 states and 97 transitions. [2022-04-15 14:42:20,833 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 14:42:20,834 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-15 14:42:20,834 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:42:20,835 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-15 14:42:20,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-15 14:42:20,852 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-15 14:42:20,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-15 14:42:20,866 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 97 transitions. [2022-04-15 14:42:20,974 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-15 14:42:20,982 INFO L225 Difference]: With dead ends: 64 [2022-04-15 14:42:20,982 INFO L226 Difference]: Without dead ends: 31 [2022-04-15 14:42:20,985 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 14:42:20,987 INFO L913 BasicCegarLoop]: 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-15 14:42:20,989 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 45 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 14:42:21,048 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-04-15 14:42:21,071 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2022-04-15 14:42:21,071 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:42:21,072 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-15 14:42:21,072 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-15 14:42:21,073 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-15 14:42:21,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:21,077 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-15 14:42:21,077 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-15 14:42:21,078 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:21,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:21,079 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-15 14:42:21,079 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-15 14:42:21,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:21,082 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-15 14:42:21,082 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-15 14:42:21,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:21,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:21,083 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:42:21,083 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:42:21,084 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-15 14:42:21,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-04-15 14:42:21,087 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 22 [2022-04-15 14:42:21,088 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:42:21,088 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-04-15 14:42:21,088 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 14:42:21,088 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 39 transitions. [2022-04-15 14:42:21,133 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-15 14:42:21,133 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-04-15 14:42:21,134 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 14:42:21,134 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:42:21,134 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:42:21,134 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 14:42:21,134 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:42:21,135 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:42:21,135 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 1 times [2022-04-15 14:42:21,135 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:21,136 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1614971487] [2022-04-15 14:42:21,136 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:42:21,136 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 2 times [2022-04-15 14:42:21,137 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:42:21,137 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1206733118] [2022-04-15 14:42:21,137 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:42:21,137 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:42:21,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:21,217 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 14:42:21,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:21,236 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-15 14:42:21,236 INFO L290 TraceCheckUtils]: 1: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-15 14:42:21,237 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-15 14:42:21,237 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 14:42:21,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:21,246 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-15 14:42:21,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-15 14:42:21,247 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-15 14:42:21,248 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-15 14:42:21,248 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 14:42:21,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:21,268 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-15 14:42:21,268 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-15 14:42:21,268 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-15 14:42:21,269 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-15 14:42:21,270 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-15 14:42:21,271 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-15 14:42:21,271 INFO L290 TraceCheckUtils]: 2: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-15 14:42:21,272 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-15 14:42:21,272 INFO L272 TraceCheckUtils]: 4: Hoare triple {309#(= ~counter~0 0)} call #t~ret7 := main(); {309#(= ~counter~0 0)} is VALID [2022-04-15 14:42:21,273 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-15 14:42:21,273 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-15 14:42:21,273 INFO L290 TraceCheckUtils]: 7: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-15 14:42:21,273 INFO L290 TraceCheckUtils]: 8: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-15 14:42:21,274 INFO L290 TraceCheckUtils]: 9: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-15 14:42:21,274 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-15 14:42:21,275 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-15 14:42:21,275 INFO L290 TraceCheckUtils]: 12: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-15 14:42:21,275 INFO L290 TraceCheckUtils]: 13: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-15 14:42:21,275 INFO L290 TraceCheckUtils]: 14: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-15 14:42:21,276 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-15 14:42:21,277 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-15 14:42:21,277 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-15 14:42:21,278 INFO L290 TraceCheckUtils]: 18: Hoare triple {318#(= |main_#t~post6| 0)} assume !(#t~post6 < 5);havoc #t~post6; {305#false} is VALID [2022-04-15 14:42:21,278 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-15 14:42:21,278 INFO L290 TraceCheckUtils]: 20: Hoare triple {305#false} ~cond := #in~cond; {305#false} is VALID [2022-04-15 14:42:21,278 INFO L290 TraceCheckUtils]: 21: Hoare triple {305#false} assume 0 == ~cond; {305#false} is VALID [2022-04-15 14:42:21,279 INFO L290 TraceCheckUtils]: 22: Hoare triple {305#false} assume !false; {305#false} is VALID [2022-04-15 14:42:21,279 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-15 14:42:21,279 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:42:21,280 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1206733118] [2022-04-15 14:42:21,280 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1206733118] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:42:21,280 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:42:21,280 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:42:21,281 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:42:21,281 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1614971487] [2022-04-15 14:42:21,281 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1614971487] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:42:21,281 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:42:21,281 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:42:21,281 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1246655706] [2022-04-15 14:42:21,282 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:42:21,282 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-15 14:42:21,283 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:42:21,283 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-15 14:42:21,305 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-15 14:42:21,306 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:42:21,306 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:21,307 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:42:21,307 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:42:21,307 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-15 14:42:21,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:21,540 INFO L93 Difference]: Finished difference Result 42 states and 54 transitions. [2022-04-15 14:42:21,540 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 14:42:21,541 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-15 14:42:21,541 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:42:21,541 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-15 14:42:21,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-15 14:42:21,544 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-15 14:42:21,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-15 14:42:21,546 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2022-04-15 14:42:21,597 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-15 14:42:21,599 INFO L225 Difference]: With dead ends: 42 [2022-04-15 14:42:21,599 INFO L226 Difference]: Without dead ends: 32 [2022-04-15 14:42:21,599 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 14:42:21,600 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 13 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 14:42:21,601 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 65 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 14:42:21,602 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-15 14:42:21,617 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-15 14:42:21,617 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:42:21,617 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-15 14:42:21,618 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-15 14:42:21,618 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-15 14:42:21,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:21,626 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-15 14:42:21,626 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-15 14:42:21,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:21,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:21,627 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-15 14:42:21,627 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-15 14:42:21,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:21,630 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-15 14:42:21,630 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-15 14:42:21,631 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:21,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:21,631 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:42:21,631 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:42:21,631 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-15 14:42:21,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-15 14:42:21,633 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 23 [2022-04-15 14:42:21,633 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:42:21,633 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-15 14:42:21,634 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 14:42:21,634 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-15 14:42:21,676 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-15 14:42:21,677 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-15 14:42:21,677 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 14:42:21,678 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:42:21,678 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:42:21,678 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-15 14:42:21,678 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:42:21,679 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:42:21,679 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 1 times [2022-04-15 14:42:21,679 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:21,679 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1842194426] [2022-04-15 14:42:21,679 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:42:21,680 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 2 times [2022-04-15 14:42:21,680 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:42:21,680 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [612737935] [2022-04-15 14:42:21,680 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:42:21,680 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:42:21,695 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:42:21,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [953720718] [2022-04-15 14:42:21,696 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:42:21,696 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:42:21,696 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:42:21,698 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-15 14:42:21,709 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-15 14:42:21,751 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 14:42:21,752 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:42:21,753 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 14:42:21,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:21,767 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:42:21,949 INFO L272 TraceCheckUtils]: 0: Hoare triple {537#true} call ULTIMATE.init(); {537#true} is VALID [2022-04-15 14:42:21,949 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-15 14:42:21,949 INFO L290 TraceCheckUtils]: 2: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-15 14:42:21,949 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {537#true} {537#true} #82#return; {537#true} is VALID [2022-04-15 14:42:21,950 INFO L272 TraceCheckUtils]: 4: Hoare triple {537#true} call #t~ret7 := main(); {537#true} is VALID [2022-04-15 14:42:21,950 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-15 14:42:21,950 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-15 14:42:21,950 INFO L290 TraceCheckUtils]: 7: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-15 14:42:21,950 INFO L290 TraceCheckUtils]: 8: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-15 14:42:21,951 INFO L290 TraceCheckUtils]: 9: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-15 14:42:21,951 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {537#true} {537#true} #64#return; {537#true} is VALID [2022-04-15 14:42:21,951 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-15 14:42:21,951 INFO L290 TraceCheckUtils]: 12: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-15 14:42:21,951 INFO L290 TraceCheckUtils]: 13: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-15 14:42:21,951 INFO L290 TraceCheckUtils]: 14: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-15 14:42:21,952 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {537#true} {537#true} #66#return; {537#true} is VALID [2022-04-15 14:42:21,952 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-15 14:42:21,953 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-15 14:42:21,954 INFO L290 TraceCheckUtils]: 18: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-15 14:42:21,955 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-15 14:42:21,955 INFO L290 TraceCheckUtils]: 20: Hoare triple {600#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {604#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:42:21,955 INFO L290 TraceCheckUtils]: 21: Hoare triple {604#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {538#false} is VALID [2022-04-15 14:42:21,956 INFO L290 TraceCheckUtils]: 22: Hoare triple {538#false} assume !false; {538#false} is VALID [2022-04-15 14:42:21,956 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-15 14:42:21,956 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:42:21,956 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:42:21,957 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [612737935] [2022-04-15 14:42:21,957 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:42:21,957 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [953720718] [2022-04-15 14:42:21,957 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [953720718] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:42:21,957 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:42:21,957 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:42:21,958 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:42:21,958 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1842194426] [2022-04-15 14:42:21,958 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1842194426] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:42:21,958 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:42:21,958 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:42:21,958 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [194867127] [2022-04-15 14:42:21,959 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:42:21,959 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-15 14:42:21,959 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:42:21,960 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-15 14:42:21,989 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-15 14:42:21,990 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:42:21,990 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:21,990 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:42:21,991 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:42:21,991 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-15 14:42:22,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:22,194 INFO L93 Difference]: Finished difference Result 49 states and 66 transitions. [2022-04-15 14:42:22,194 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:42:22,194 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-15 14:42:22,195 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:42:22,195 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-15 14:42:22,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-15 14:42:22,199 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-15 14:42:22,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-15 14:42:22,204 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-15 14:42:22,256 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-15 14:42:22,261 INFO L225 Difference]: With dead ends: 49 [2022-04-15 14:42:22,261 INFO L226 Difference]: Without dead ends: 47 [2022-04-15 14:42:22,262 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 14:42:22,267 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 44 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:42:22,272 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 136 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 44 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:42:22,274 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-15 14:42:22,293 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-15 14:42:22,293 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:42:22,294 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-15 14:42:22,295 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-15 14:42:22,297 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-15 14:42:22,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:22,303 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-15 14:42:22,303 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-15 14:42:22,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:22,304 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:22,304 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-15 14:42:22,305 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-15 14:42:22,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:22,307 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-15 14:42:22,307 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-15 14:42:22,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:22,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:22,308 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:42:22,309 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:42:22,309 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-15 14:42:22,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 63 transitions. [2022-04-15 14:42:22,322 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 63 transitions. Word has length 23 [2022-04-15 14:42:22,322 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:42:22,322 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 63 transitions. [2022-04-15 14:42:22,323 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 14:42:22,323 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 63 transitions. [2022-04-15 14:42:22,393 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-15 14:42:22,393 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-15 14:42:22,396 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 14:42:22,396 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:42:22,396 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:42:22,423 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-15 14:42:22,619 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:42:22,620 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:42:22,620 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:42:22,620 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 1 times [2022-04-15 14:42:22,620 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:22,621 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [191161872] [2022-04-15 14:42:22,621 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:42:22,621 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 2 times [2022-04-15 14:42:22,621 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:42:22,621 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1814441266] [2022-04-15 14:42:22,622 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:42:22,622 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:42:22,640 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:42:22,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [413018292] [2022-04-15 14:42:22,640 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:42:22,641 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:42:22,641 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:42:22,642 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-15 14:42:22,643 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-15 14:42:22,689 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:42:22,689 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:42:22,690 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 14:42:22,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:22,701 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:42:22,849 INFO L272 TraceCheckUtils]: 0: Hoare triple {896#true} call ULTIMATE.init(); {896#true} is VALID [2022-04-15 14:42:22,849 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-15 14:42:22,849 INFO L290 TraceCheckUtils]: 2: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-15 14:42:22,849 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {896#true} {896#true} #82#return; {896#true} is VALID [2022-04-15 14:42:22,850 INFO L272 TraceCheckUtils]: 4: Hoare triple {896#true} call #t~ret7 := main(); {896#true} is VALID [2022-04-15 14:42:22,850 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-15 14:42:22,850 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-15 14:42:22,850 INFO L290 TraceCheckUtils]: 7: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-15 14:42:22,850 INFO L290 TraceCheckUtils]: 8: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-15 14:42:22,851 INFO L290 TraceCheckUtils]: 9: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-15 14:42:22,853 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {896#true} {896#true} #64#return; {896#true} is VALID [2022-04-15 14:42:22,853 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-15 14:42:22,853 INFO L290 TraceCheckUtils]: 12: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-15 14:42:22,853 INFO L290 TraceCheckUtils]: 13: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-15 14:42:22,854 INFO L290 TraceCheckUtils]: 14: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-15 14:42:22,854 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {896#true} {896#true} #66#return; {896#true} is VALID [2022-04-15 14:42:22,855 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-15 14:42:22,855 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-15 14:42:22,856 INFO L290 TraceCheckUtils]: 18: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:42:22,856 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-15 14:42:22,856 INFO L290 TraceCheckUtils]: 20: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-15 14:42:22,858 INFO L290 TraceCheckUtils]: 21: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-15 14:42:22,858 INFO L290 TraceCheckUtils]: 22: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-15 14:42:22,859 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-15 14:42:22,861 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-15 14:42:22,862 INFO L290 TraceCheckUtils]: 25: Hoare triple {974#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {978#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:42:22,870 INFO L290 TraceCheckUtils]: 26: Hoare triple {978#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {897#false} is VALID [2022-04-15 14:42:22,872 INFO L290 TraceCheckUtils]: 27: Hoare triple {897#false} assume !false; {897#false} is VALID [2022-04-15 14:42:22,873 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-15 14:42:22,873 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:42:22,873 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:42:22,873 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1814441266] [2022-04-15 14:42:22,873 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:42:22,873 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [413018292] [2022-04-15 14:42:22,874 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [413018292] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:42:22,874 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:42:22,874 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:42:22,874 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:42:22,874 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [191161872] [2022-04-15 14:42:22,874 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [191161872] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:42:22,875 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:42:22,875 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:42:22,875 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [290339758] [2022-04-15 14:42:22,875 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:42:22,875 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-15 14:42:22,876 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:42:22,876 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-15 14:42:22,896 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-15 14:42:22,896 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:42:22,896 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:22,897 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:42:22,897 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:42:22,897 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-15 14:42:23,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:23,142 INFO L93 Difference]: Finished difference Result 53 states and 69 transitions. [2022-04-15 14:42:23,142 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:42:23,143 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-15 14:42:23,143 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:42:23,143 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-15 14:42:23,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-15 14:42:23,148 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-15 14:42:23,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-15 14:42:23,149 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-15 14:42:23,232 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-15 14:42:23,234 INFO L225 Difference]: With dead ends: 53 [2022-04-15 14:42:23,234 INFO L226 Difference]: Without dead ends: 51 [2022-04-15 14:42:23,234 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 14:42:23,235 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 9 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-15 14:42:23,235 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 136 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 14:42:23,235 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-15 14:42:23,264 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-15 14:42:23,264 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:42:23,265 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-15 14:42:23,265 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-15 14:42:23,265 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-15 14:42:23,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:23,268 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-15 14:42:23,268 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-15 14:42:23,268 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:23,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:23,269 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-15 14:42:23,269 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-15 14:42:23,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:23,282 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-15 14:42:23,282 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-15 14:42:23,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:23,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:23,283 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:42:23,283 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:42:23,284 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-15 14:42:23,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 66 transitions. [2022-04-15 14:42:23,286 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 66 transitions. Word has length 28 [2022-04-15 14:42:23,286 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:42:23,286 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 66 transitions. [2022-04-15 14:42:23,286 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 14:42:23,286 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 66 transitions. [2022-04-15 14:42:23,353 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-15 14:42:23,353 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-15 14:42:23,354 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 14:42:23,354 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:42:23,354 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:42:23,375 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-15 14:42:23,563 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-04-15 14:42:23,564 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:42:23,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:42:23,564 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 1 times [2022-04-15 14:42:23,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:23,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1533753895] [2022-04-15 14:42:23,565 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:42:23,566 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 2 times [2022-04-15 14:42:23,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:42:23,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2076613897] [2022-04-15 14:42:23,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:42:23,566 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:42:23,584 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:42:23,584 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [718424819] [2022-04-15 14:42:23,584 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:42:23,585 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:42:23,585 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:42:23,595 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-15 14:42:23,596 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-15 14:42:23,642 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:42:23,642 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:42:23,644 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 14:42:23,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:23,661 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:42:23,859 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-15 14:42:23,859 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-15 14:42:23,859 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 14:42:23,860 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-15 14:42:23,860 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-15 14:42:23,860 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-15 14:42:23,860 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-15 14:42:23,861 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-15 14:42:23,861 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-15 14:42:23,861 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-15 14:42:23,862 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-15 14:42:23,862 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-15 14:42:23,862 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-15 14:42:23,863 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-15 14:42:23,863 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 14:42:23,864 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1331#(<= 1 main_~x~0)} #66#return; {1331#(<= 1 main_~x~0)} is VALID [2022-04-15 14:42:23,865 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-15 14:42:23,865 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-15 14:42:23,866 INFO L290 TraceCheckUtils]: 18: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:42:23,866 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-15 14:42:23,866 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-15 14:42:23,866 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-15 14:42:23,867 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 14:42:23,867 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-15 14:42:23,867 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-15 14:42:23,868 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-15 14:42:23,868 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-15 14:42:23,868 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 14:42:23,869 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-15 14:42:23,869 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-15 14:42:23,870 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:42:23,870 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-15 14:42:23,870 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-15 14:42:23,871 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-15 14:42:23,871 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:42:24,071 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-15 14:42:24,072 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-15 14:42:24,072 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:42:24,073 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-15 14:42:24,074 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-15 14:42:24,074 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 14:42:24,074 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-15 14:42:24,074 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-15 14:42:24,074 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-15 14:42:24,075 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-15 14:42:24,075 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 14:42:24,075 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-15 14:42:24,076 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-15 14:42:24,076 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-15 14:42:24,076 INFO L290 TraceCheckUtils]: 18: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:42:24,077 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-15 14:42:24,077 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-15 14:42:24,077 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1294#true} #66#return; {1294#true} is VALID [2022-04-15 14:42:24,077 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 14:42:24,077 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-15 14:42:24,078 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-15 14:42:24,078 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-15 14:42:24,078 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1294#true} {1294#true} #64#return; {1294#true} is VALID [2022-04-15 14:42:24,078 INFO L290 TraceCheckUtils]: 9: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 14:42:24,078 INFO L290 TraceCheckUtils]: 8: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-15 14:42:24,078 INFO L290 TraceCheckUtils]: 7: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-15 14:42:24,078 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-15 14:42:24,078 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-15 14:42:24,079 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-15 14:42:24,079 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-15 14:42:24,079 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 14:42:24,079 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-15 14:42:24,079 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-15 14:42:24,079 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-15 14:42:24,080 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:42:24,080 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2076613897] [2022-04-15 14:42:24,080 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:42:24,080 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [718424819] [2022-04-15 14:42:24,080 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [718424819] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 14:42:24,080 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 14:42:24,080 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-15 14:42:24,080 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:42:24,081 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1533753895] [2022-04-15 14:42:24,081 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1533753895] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:42:24,081 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:42:24,081 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:42:24,081 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [590677821] [2022-04-15 14:42:24,081 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:42:24,081 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-15 14:42:24,082 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:42:24,082 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-15 14:42:24,102 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-15 14:42:24,102 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:42:24,103 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:24,103 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:42:24,103 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:42:24,104 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-15 14:42:24,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:24,397 INFO L93 Difference]: Finished difference Result 75 states and 107 transitions. [2022-04-15 14:42:24,397 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:42:24,397 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-15 14:42:24,397 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:42:24,397 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-15 14:42:24,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-15 14:42:24,399 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-15 14:42:24,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-15 14:42:24,401 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-15 14:42:24,456 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-15 14:42:24,459 INFO L225 Difference]: With dead ends: 75 [2022-04-15 14:42:24,459 INFO L226 Difference]: Without dead ends: 71 [2022-04-15 14:42:24,459 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-15 14:42:24,460 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 9 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 14:42:24,460 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 128 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 14:42:24,460 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-15 14:42:24,485 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-15 14:42:24,485 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:42:24,487 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-15 14:42:24,488 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-15 14:42:24,489 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-15 14:42:24,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:24,494 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-15 14:42:24,494 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-15 14:42:24,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:24,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:24,497 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-15 14:42:24,498 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-15 14:42:24,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:24,502 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-15 14:42:24,502 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-15 14:42:24,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:24,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:24,504 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:42:24,504 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:42:24,504 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-15 14:42:24,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 100 transitions. [2022-04-15 14:42:24,508 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 100 transitions. Word has length 33 [2022-04-15 14:42:24,508 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:42:24,508 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 100 transitions. [2022-04-15 14:42:24,508 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 14:42:24,509 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 100 transitions. [2022-04-15 14:42:24,618 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-15 14:42:24,618 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-15 14:42:24,619 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 14:42:24,619 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:42:24,619 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:42:24,642 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-15 14:42:24,819 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:42:24,820 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:42:24,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:42:24,820 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 1 times [2022-04-15 14:42:24,821 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:24,821 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1986574342] [2022-04-15 14:42:24,821 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:42:24,821 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 2 times [2022-04-15 14:42:24,821 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:42:24,821 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [326394026] [2022-04-15 14:42:24,822 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:42:24,822 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:42:24,839 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:42:24,839 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1803546035] [2022-04-15 14:42:24,839 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:42:24,839 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:42:24,839 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:42:24,840 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-15 14:42:24,870 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-15 14:42:24,905 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:42:24,905 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:42:24,905 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 14:42:24,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:24,917 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:42:25,020 INFO L272 TraceCheckUtils]: 0: Hoare triple {1936#true} call ULTIMATE.init(); {1936#true} is VALID [2022-04-15 14:42:25,020 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-15 14:42:25,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-15 14:42:25,020 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1936#true} {1936#true} #82#return; {1936#true} is VALID [2022-04-15 14:42:25,020 INFO L272 TraceCheckUtils]: 4: Hoare triple {1936#true} call #t~ret7 := main(); {1936#true} is VALID [2022-04-15 14:42:25,021 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-15 14:42:25,021 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-15 14:42:25,021 INFO L290 TraceCheckUtils]: 7: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-15 14:42:25,021 INFO L290 TraceCheckUtils]: 8: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-15 14:42:25,021 INFO L290 TraceCheckUtils]: 9: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-15 14:42:25,021 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1936#true} {1936#true} #64#return; {1936#true} is VALID [2022-04-15 14:42:25,021 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-15 14:42:25,022 INFO L290 TraceCheckUtils]: 12: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-15 14:42:25,022 INFO L290 TraceCheckUtils]: 13: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-15 14:42:25,022 INFO L290 TraceCheckUtils]: 14: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-15 14:42:25,022 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1936#true} {1936#true} #66#return; {1936#true} is VALID [2022-04-15 14:42:25,022 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-15 14:42:25,022 INFO L290 TraceCheckUtils]: 17: Hoare triple {1936#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1936#true} is VALID [2022-04-15 14:42:25,022 INFO L290 TraceCheckUtils]: 18: Hoare triple {1936#true} assume !!(#t~post6 < 5);havoc #t~post6; {1936#true} is VALID [2022-04-15 14:42:25,023 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-15 14:42:25,023 INFO L290 TraceCheckUtils]: 20: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-15 14:42:25,023 INFO L290 TraceCheckUtils]: 21: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-15 14:42:25,023 INFO L290 TraceCheckUtils]: 22: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-15 14:42:25,023 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1936#true} {1936#true} #68#return; {1936#true} is VALID [2022-04-15 14:42:25,023 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-15 14:42:25,023 INFO L290 TraceCheckUtils]: 25: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-15 14:42:25,024 INFO L290 TraceCheckUtils]: 26: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-15 14:42:25,024 INFO L290 TraceCheckUtils]: 27: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-15 14:42:25,024 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1936#true} {1936#true} #70#return; {1936#true} is VALID [2022-04-15 14:42:25,024 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-15 14:42:25,024 INFO L290 TraceCheckUtils]: 30: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-15 14:42:25,024 INFO L290 TraceCheckUtils]: 31: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-15 14:42:25,024 INFO L290 TraceCheckUtils]: 32: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-15 14:42:25,024 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1936#true} {1936#true} #72#return; {1936#true} is VALID [2022-04-15 14:42:25,027 INFO L290 TraceCheckUtils]: 34: Hoare triple {1936#true} assume !(~a~0 != ~b~0); {2043#(= main_~b~0 main_~a~0)} is VALID [2022-04-15 14:42:25,028 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-15 14:42:25,028 INFO L290 TraceCheckUtils]: 36: Hoare triple {2047#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2051#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:42:25,028 INFO L290 TraceCheckUtils]: 37: Hoare triple {2051#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1937#false} is VALID [2022-04-15 14:42:25,029 INFO L290 TraceCheckUtils]: 38: Hoare triple {1937#false} assume !false; {1937#false} is VALID [2022-04-15 14:42:25,029 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-15 14:42:25,029 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:42:25,029 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:42:25,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [326394026] [2022-04-15 14:42:25,029 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:42:25,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1803546035] [2022-04-15 14:42:25,029 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1803546035] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:42:25,029 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:42:25,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:42:25,030 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:42:25,030 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1986574342] [2022-04-15 14:42:25,030 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1986574342] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:42:25,030 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:42:25,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:42:25,030 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [904244899] [2022-04-15 14:42:25,030 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:42:25,031 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-15 14:42:25,031 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:42:25,031 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-15 14:42:25,055 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-15 14:42:25,056 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:42:25,056 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:25,056 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:42:25,056 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:42:25,057 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-15 14:42:25,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:25,248 INFO L93 Difference]: Finished difference Result 87 states and 123 transitions. [2022-04-15 14:42:25,248 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:42:25,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-15 14:42:25,249 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:42:25,249 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-15 14:42:25,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-15 14:42:25,250 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-15 14:42:25,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-15 14:42:25,251 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-15 14:42:25,293 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-15 14:42:25,296 INFO L225 Difference]: With dead ends: 87 [2022-04-15 14:42:25,296 INFO L226 Difference]: Without dead ends: 85 [2022-04-15 14:42:25,296 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 14:42:25,297 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 5 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:42:25,297 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 144 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:42:25,298 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-15 14:42:25,337 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 78. [2022-04-15 14:42:25,337 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:42:25,338 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-15 14:42:25,338 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-15 14:42:25,338 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-15 14:42:25,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:25,342 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-15 14:42:25,343 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-15 14:42:25,343 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:25,343 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:25,344 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-15 14:42:25,344 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-15 14:42:25,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:25,348 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-15 14:42:25,348 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-15 14:42:25,348 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:25,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:25,349 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:42:25,349 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:42:25,349 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-15 14:42:25,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 109 transitions. [2022-04-15 14:42:25,352 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 109 transitions. Word has length 39 [2022-04-15 14:42:25,353 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:42:25,353 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 109 transitions. [2022-04-15 14:42:25,353 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 14:42:25,353 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 109 transitions. [2022-04-15 14:42:25,482 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-15 14:42:25,482 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 109 transitions. [2022-04-15 14:42:25,482 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 14:42:25,483 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:42:25,483 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:42:25,501 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-15 14:42:25,691 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:42:25,691 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:42:25,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:42:25,692 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 1 times [2022-04-15 14:42:25,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:25,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [558244321] [2022-04-15 14:42:25,694 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:42:25,694 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 2 times [2022-04-15 14:42:25,694 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:42:25,694 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1983683997] [2022-04-15 14:42:25,695 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:42:25,695 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:42:25,707 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:42:25,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [818425178] [2022-04-15 14:42:25,708 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:42:25,708 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:42:25,708 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:42:25,709 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-15 14:42:25,715 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-15 14:42:25,762 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:42:25,762 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:42:25,763 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 14:42:25,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:25,777 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:42:25,956 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-15 14:42:25,957 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-15 14:42:25,958 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 14:42:25,958 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#(<= ~counter~0 0)} {2559#true} #82#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 14:42:25,959 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#(<= ~counter~0 0)} call #t~ret7 := main(); {2567#(<= ~counter~0 0)} is VALID [2022-04-15 14:42:25,959 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-15 14:42:25,959 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-15 14:42:25,960 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 14:42:25,960 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-15 14:42:25,961 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 14:42:25,961 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #64#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 14:42:25,961 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-15 14:42:25,962 INFO L290 TraceCheckUtils]: 12: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 14:42:25,962 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-15 14:42:25,962 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 14:42:25,963 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #66#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 14:42:25,963 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-15 14:42:25,969 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-15 14:42:25,970 INFO L290 TraceCheckUtils]: 18: Hoare triple {2616#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 14:42:25,971 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-15 14:42:25,972 INFO L290 TraceCheckUtils]: 20: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 14:42:25,972 INFO L290 TraceCheckUtils]: 21: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-15 14:42:25,972 INFO L290 TraceCheckUtils]: 22: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 14:42:25,973 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #68#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 14:42:25,974 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-15 14:42:25,974 INFO L290 TraceCheckUtils]: 25: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 14:42:25,975 INFO L290 TraceCheckUtils]: 26: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-15 14:42:25,975 INFO L290 TraceCheckUtils]: 27: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 14:42:25,976 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #70#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 14:42:25,977 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-15 14:42:25,977 INFO L290 TraceCheckUtils]: 30: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 14:42:25,977 INFO L290 TraceCheckUtils]: 31: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-15 14:42:25,978 INFO L290 TraceCheckUtils]: 32: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 14:42:25,978 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #72#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 14:42:25,979 INFO L290 TraceCheckUtils]: 34: Hoare triple {2616#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {2616#(<= ~counter~0 1)} is VALID [2022-04-15 14:42:25,979 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-15 14:42:25,980 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-15 14:42:25,980 INFO L290 TraceCheckUtils]: 37: Hoare triple {2674#(<= |main_#t~post6| 1)} assume !(#t~post6 < 5);havoc #t~post6; {2560#false} is VALID [2022-04-15 14:42:25,980 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-15 14:42:25,980 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-15 14:42:25,980 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-15 14:42:25,981 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-15 14:42:25,981 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-15 14:42:25,981 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:42:26,185 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-15 14:42:26,185 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-15 14:42:26,185 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-15 14:42:26,185 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-15 14:42:26,186 INFO L290 TraceCheckUtils]: 37: Hoare triple {2702#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {2560#false} is VALID [2022-04-15 14:42:26,186 INFO L290 TraceCheckUtils]: 36: Hoare triple {2706#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2702#(< |main_#t~post6| 5)} is VALID [2022-04-15 14:42:26,187 INFO L290 TraceCheckUtils]: 35: Hoare triple {2706#(< ~counter~0 5)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2706#(< ~counter~0 5)} is VALID [2022-04-15 14:42:26,187 INFO L290 TraceCheckUtils]: 34: Hoare triple {2706#(< ~counter~0 5)} assume !!(~a~0 != ~b~0); {2706#(< ~counter~0 5)} is VALID [2022-04-15 14:42:26,188 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2559#true} {2706#(< ~counter~0 5)} #72#return; {2706#(< ~counter~0 5)} is VALID [2022-04-15 14:42:26,188 INFO L290 TraceCheckUtils]: 32: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-15 14:42:26,188 INFO L290 TraceCheckUtils]: 31: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-15 14:42:26,188 INFO L290 TraceCheckUtils]: 30: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-15 14:42:26,188 INFO L272 TraceCheckUtils]: 29: Hoare triple {2706#(< ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2559#true} is VALID [2022-04-15 14:42:26,189 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2559#true} {2706#(< ~counter~0 5)} #70#return; {2706#(< ~counter~0 5)} is VALID [2022-04-15 14:42:26,189 INFO L290 TraceCheckUtils]: 27: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-15 14:42:26,189 INFO L290 TraceCheckUtils]: 26: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-15 14:42:26,189 INFO L290 TraceCheckUtils]: 25: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-15 14:42:26,190 INFO L272 TraceCheckUtils]: 24: Hoare triple {2706#(< ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2559#true} is VALID [2022-04-15 14:42:26,190 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2559#true} {2706#(< ~counter~0 5)} #68#return; {2706#(< ~counter~0 5)} is VALID [2022-04-15 14:42:26,190 INFO L290 TraceCheckUtils]: 22: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-15 14:42:26,190 INFO L290 TraceCheckUtils]: 21: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-15 14:42:26,190 INFO L290 TraceCheckUtils]: 20: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-15 14:42:26,191 INFO L272 TraceCheckUtils]: 19: Hoare triple {2706#(< ~counter~0 5)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2559#true} is VALID [2022-04-15 14:42:26,191 INFO L290 TraceCheckUtils]: 18: Hoare triple {2706#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {2706#(< ~counter~0 5)} is VALID [2022-04-15 14:42:26,192 INFO L290 TraceCheckUtils]: 17: Hoare triple {2764#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2706#(< ~counter~0 5)} is VALID [2022-04-15 14:42:26,192 INFO L290 TraceCheckUtils]: 16: Hoare triple {2764#(< ~counter~0 4)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2764#(< ~counter~0 4)} is VALID [2022-04-15 14:42:26,192 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2559#true} {2764#(< ~counter~0 4)} #66#return; {2764#(< ~counter~0 4)} is VALID [2022-04-15 14:42:26,193 INFO L290 TraceCheckUtils]: 14: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-15 14:42:26,193 INFO L290 TraceCheckUtils]: 13: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-15 14:42:26,193 INFO L290 TraceCheckUtils]: 12: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-15 14:42:26,193 INFO L272 TraceCheckUtils]: 11: Hoare triple {2764#(< ~counter~0 4)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-15 14:42:26,193 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2559#true} {2764#(< ~counter~0 4)} #64#return; {2764#(< ~counter~0 4)} is VALID [2022-04-15 14:42:26,193 INFO L290 TraceCheckUtils]: 9: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-15 14:42:26,194 INFO L290 TraceCheckUtils]: 8: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-15 14:42:26,194 INFO L290 TraceCheckUtils]: 7: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-15 14:42:26,194 INFO L272 TraceCheckUtils]: 6: Hoare triple {2764#(< ~counter~0 4)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-15 14:42:26,194 INFO L290 TraceCheckUtils]: 5: Hoare triple {2764#(< ~counter~0 4)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2764#(< ~counter~0 4)} is VALID [2022-04-15 14:42:26,194 INFO L272 TraceCheckUtils]: 4: Hoare triple {2764#(< ~counter~0 4)} call #t~ret7 := main(); {2764#(< ~counter~0 4)} is VALID [2022-04-15 14:42:26,195 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2764#(< ~counter~0 4)} {2559#true} #82#return; {2764#(< ~counter~0 4)} is VALID [2022-04-15 14:42:26,195 INFO L290 TraceCheckUtils]: 2: Hoare triple {2764#(< ~counter~0 4)} assume true; {2764#(< ~counter~0 4)} is VALID [2022-04-15 14:42:26,196 INFO L290 TraceCheckUtils]: 1: Hoare triple {2559#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2764#(< ~counter~0 4)} is VALID [2022-04-15 14:42:26,196 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-15 14:42:26,196 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 14:42:26,196 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:42:26,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1983683997] [2022-04-15 14:42:26,197 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:42:26,197 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [818425178] [2022-04-15 14:42:26,197 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [818425178] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:42:26,197 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:42:26,197 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-15 14:42:26,197 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:42:26,197 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [558244321] [2022-04-15 14:42:26,197 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [558244321] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:42:26,198 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:42:26,198 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:42:26,198 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [756844086] [2022-04-15 14:42:26,198 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:42:26,198 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 42 [2022-04-15 14:42:26,199 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:42:26,199 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-15 14:42:26,224 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-15 14:42:26,224 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:42:26,225 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:26,225 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:42:26,225 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-15 14:42:26,225 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-15 14:42:26,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:26,403 INFO L93 Difference]: Finished difference Result 121 states and 152 transitions. [2022-04-15 14:42:26,403 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 14:42:26,403 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-15 14:42:26,404 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:42:26,404 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-15 14:42:26,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-15 14:42:26,406 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-15 14:42:26,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-15 14:42:26,408 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2022-04-15 14:42:26,462 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-15 14:42:26,488 INFO L225 Difference]: With dead ends: 121 [2022-04-15 14:42:26,488 INFO L226 Difference]: Without dead ends: 102 [2022-04-15 14:42:26,489 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:42:26,489 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 13 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 18 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 18 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:42:26,490 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 118 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 18 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:42:26,490 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-15 14:42:26,545 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 100. [2022-04-15 14:42:26,545 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:42:26,546 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-15 14:42:26,546 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-15 14:42:26,546 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-15 14:42:26,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:26,550 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-15 14:42:26,550 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-15 14:42:26,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:26,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:26,551 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-15 14:42:26,552 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-15 14:42:26,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:26,556 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-15 14:42:26,556 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-15 14:42:26,556 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:26,557 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:26,557 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:42:26,557 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:42:26,557 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-15 14:42:26,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 127 transitions. [2022-04-15 14:42:26,561 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 127 transitions. Word has length 42 [2022-04-15 14:42:26,561 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:42:26,561 INFO L478 AbstractCegarLoop]: Abstraction has 100 states and 127 transitions. [2022-04-15 14:42:26,561 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 14:42:26,561 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 127 transitions. [2022-04-15 14:42:26,685 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-15 14:42:26,686 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-15 14:42:26,686 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 14:42:26,686 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:42:26,686 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:42:26,713 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-15 14:42:26,910 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:42:26,910 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:42:26,911 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:42:26,911 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 1 times [2022-04-15 14:42:26,911 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:26,911 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [62301300] [2022-04-15 14:42:26,911 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:42:26,911 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 2 times [2022-04-15 14:42:26,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:42:26,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [715639099] [2022-04-15 14:42:26,912 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:42:26,912 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:42:26,925 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:42:26,925 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2108203609] [2022-04-15 14:42:26,925 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:42:26,925 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:42:26,925 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:42:26,926 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-15 14:42:26,938 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-15 14:42:26,978 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:42:26,979 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:42:26,979 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 14:42:26,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:26,993 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:42:27,194 INFO L272 TraceCheckUtils]: 0: Hoare triple {3466#true} call ULTIMATE.init(); {3466#true} is VALID [2022-04-15 14:42:27,194 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-15 14:42:27,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-15 14:42:27,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3466#true} {3466#true} #82#return; {3466#true} is VALID [2022-04-15 14:42:27,194 INFO L272 TraceCheckUtils]: 4: Hoare triple {3466#true} call #t~ret7 := main(); {3466#true} is VALID [2022-04-15 14:42:27,194 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-15 14:42:27,194 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-15 14:42:27,195 INFO L290 TraceCheckUtils]: 7: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-15 14:42:27,195 INFO L290 TraceCheckUtils]: 8: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-15 14:42:27,195 INFO L290 TraceCheckUtils]: 9: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-15 14:42:27,195 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3466#true} {3466#true} #64#return; {3466#true} is VALID [2022-04-15 14:42:27,195 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-15 14:42:27,195 INFO L290 TraceCheckUtils]: 12: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-15 14:42:27,195 INFO L290 TraceCheckUtils]: 13: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-15 14:42:27,195 INFO L290 TraceCheckUtils]: 14: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-15 14:42:27,196 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3466#true} {3466#true} #66#return; {3466#true} is VALID [2022-04-15 14:42:27,196 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-15 14:42:27,197 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-15 14:42:27,197 INFO L290 TraceCheckUtils]: 18: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:42:27,197 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-15 14:42:27,197 INFO L290 TraceCheckUtils]: 20: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-15 14:42:27,198 INFO L290 TraceCheckUtils]: 21: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-15 14:42:27,198 INFO L290 TraceCheckUtils]: 22: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-15 14:42:27,201 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-15 14:42:27,201 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-15 14:42:27,201 INFO L290 TraceCheckUtils]: 25: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-15 14:42:27,201 INFO L290 TraceCheckUtils]: 26: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-15 14:42:27,201 INFO L290 TraceCheckUtils]: 27: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-15 14:42:27,202 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-15 14:42:27,202 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-15 14:42:27,202 INFO L290 TraceCheckUtils]: 30: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-15 14:42:27,203 INFO L290 TraceCheckUtils]: 31: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-15 14:42:27,203 INFO L290 TraceCheckUtils]: 32: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-15 14:42:27,203 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-15 14:42:27,204 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-15 14:42:27,204 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-15 14:42:27,205 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-15 14:42:27,206 INFO L290 TraceCheckUtils]: 37: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:42:27,206 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-15 14:42:27,207 INFO L290 TraceCheckUtils]: 39: Hoare triple {3586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:42:27,207 INFO L290 TraceCheckUtils]: 40: Hoare triple {3590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3467#false} is VALID [2022-04-15 14:42:27,207 INFO L290 TraceCheckUtils]: 41: Hoare triple {3467#false} assume !false; {3467#false} is VALID [2022-04-15 14:42:27,207 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-15 14:42:27,208 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:42:27,208 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:42:27,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [715639099] [2022-04-15 14:42:27,208 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:42:27,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2108203609] [2022-04-15 14:42:27,208 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2108203609] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:42:27,208 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:42:27,208 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:42:27,208 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:42:27,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [62301300] [2022-04-15 14:42:27,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [62301300] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:42:27,209 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:42:27,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:42:27,209 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1936664597] [2022-04-15 14:42:27,209 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:42:27,209 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-15 14:42:27,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:42:27,210 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-15 14:42:27,232 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-15 14:42:27,232 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:42:27,232 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:27,232 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:42:27,232 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:42:27,233 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-15 14:42:27,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:27,456 INFO L93 Difference]: Finished difference Result 106 states and 132 transitions. [2022-04-15 14:42:27,456 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:42:27,457 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-15 14:42:27,457 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:42:27,457 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-15 14:42:27,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-15 14:42:27,459 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-15 14:42:27,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-15 14:42:27,460 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-04-15 14:42:27,517 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-15 14:42:27,521 INFO L225 Difference]: With dead ends: 106 [2022-04-15 14:42:27,521 INFO L226 Difference]: Without dead ends: 103 [2022-04-15 14:42:27,522 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 14:42:27,522 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 7 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:42:27,523 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 132 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:42:27,523 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-15 14:42:27,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-15 14:42:27,592 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:42:27,597 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-15 14:42:27,598 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-15 14:42:27,600 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-15 14:42:27,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:27,603 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-15 14:42:27,603 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-15 14:42:27,603 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:27,603 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:27,604 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-15 14:42:27,604 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-15 14:42:27,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:27,607 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-15 14:42:27,607 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-15 14:42:27,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:27,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:27,608 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:42:27,608 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:42:27,609 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-15 14:42:27,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 128 transitions. [2022-04-15 14:42:27,613 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 128 transitions. Word has length 42 [2022-04-15 14:42:27,613 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:42:27,613 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 128 transitions. [2022-04-15 14:42:27,613 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 14:42:27,613 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 128 transitions. [2022-04-15 14:42:27,751 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-15 14:42:27,752 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-15 14:42:27,752 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-15 14:42:27,752 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:42:27,752 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:42:27,773 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-15 14:42:27,954 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:42:27,955 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:42:27,955 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:42:27,955 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 1 times [2022-04-15 14:42:27,955 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:27,955 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1823582620] [2022-04-15 14:42:27,956 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:42:27,956 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 2 times [2022-04-15 14:42:27,956 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:42:27,956 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [893549661] [2022-04-15 14:42:27,956 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:42:27,956 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:42:27,968 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:42:27,968 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1389693507] [2022-04-15 14:42:27,968 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:42:27,969 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:42:27,969 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:42:27,970 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-15 14:42:27,991 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-15 14:42:28,021 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:42:28,021 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:42:28,022 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 14:42:28,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:28,033 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:42:28,184 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-15 14:42:28,185 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-15 14:42:28,185 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 14:42:28,185 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-15 14:42:28,185 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-15 14:42:28,185 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-15 14:42:28,185 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-15 14:42:28,185 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 14:42:28,186 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 14:42:28,186 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 14:42:28,186 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-15 14:42:28,186 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-15 14:42:28,186 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 14:42:28,186 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 14:42:28,186 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 14:42:28,187 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-15 14:42:28,187 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-15 14:42:28,187 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-15 14:42:28,187 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 5);havoc #t~post6; {4222#true} is VALID [2022-04-15 14:42:28,187 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-15 14:42:28,187 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 14:42:28,187 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 14:42:28,188 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 14:42:28,188 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-15 14:42:28,188 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-15 14:42:28,192 INFO L290 TraceCheckUtils]: 25: Hoare triple {4222#true} ~cond := #in~cond; {4302#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:42:28,193 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-15 14:42:28,193 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-15 14:42:28,194 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-15 14:42:28,194 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-15 14:42:28,194 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 14:42:28,194 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 14:42:28,194 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 14:42:28,195 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-15 14:42:28,196 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-15 14:42:28,196 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-15 14:42:28,196 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 14:42:28,196 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 14:42:28,196 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 14:42:28,197 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-15 14:42:28,198 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-15 14:42:28,198 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:42:28,198 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-15 14:42:28,198 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-15 14:42:28,199 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-15 14:42:28,199 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:42:45,815 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-15 14:42:45,816 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-15 14:42:45,816 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:42:45,817 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-15 14:42:45,818 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-15 14:42:45,818 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 14:42:45,818 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 14:42:45,819 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 14:42:45,819 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-15 14:42:45,819 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-15 14:42:45,820 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-15 14:42:45,821 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 14:42:45,821 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 14:42:45,821 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 14:42:45,821 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-15 14:42:45,822 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-15 14:42:45,822 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-15 14:42:45,823 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-15 14:42:45,823 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-15 14:42:45,823 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-15 14:42:45,824 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-15 14:42:45,824 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 14:42:45,824 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 14:42:45,824 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 14:42:45,824 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-15 14:42:45,824 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 5);havoc #t~post6; {4222#true} is VALID [2022-04-15 14:42:45,824 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-15 14:42:45,825 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-15 14:42:45,825 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-15 14:42:45,825 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 14:42:45,825 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 14:42:45,825 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 14:42:45,825 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-15 14:42:45,825 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-15 14:42:45,825 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 14:42:45,826 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 14:42:45,826 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 14:42:45,826 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-15 14:42:45,826 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-15 14:42:45,826 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-15 14:42:45,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-15 14:42:45,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 14:42:45,827 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-15 14:42:45,827 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-15 14:42:45,827 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-15 14:42:45,827 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:42:45,827 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [893549661] [2022-04-15 14:42:45,827 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:42:45,828 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1389693507] [2022-04-15 14:42:45,828 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1389693507] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:42:45,828 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:42:45,828 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 14:42:45,828 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:42:45,828 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1823582620] [2022-04-15 14:42:45,828 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1823582620] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:42:45,828 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:42:45,829 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:42:45,829 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [432054880] [2022-04-15 14:42:45,829 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:42:45,829 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-15 14:42:45,829 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:42:45,830 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-15 14:42:45,857 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-15 14:42:45,857 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 14:42:45,857 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:45,857 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 14:42:45,857 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:42:45,858 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-15 14:42:46,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:46,514 INFO L93 Difference]: Finished difference Result 118 states and 148 transitions. [2022-04-15 14:42:46,514 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 14:42:46,515 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-15 14:42:46,515 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:42:46,515 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-15 14:42:46,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-15 14:42:46,517 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-15 14:42:46,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-15 14:42:46,518 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 60 transitions. [2022-04-15 14:42:46,572 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-15 14:42:46,574 INFO L225 Difference]: With dead ends: 118 [2022-04-15 14:42:46,574 INFO L226 Difference]: Without dead ends: 106 [2022-04-15 14:42:46,575 INFO L912 BasicCegarLoop]: 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-15 14:42:46,575 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 15 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 165 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-15 14:42:46,575 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 141 Invalid, 176 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 165 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 14:42:46,576 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-15 14:42:46,628 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 104. [2022-04-15 14:42:46,628 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:42:46,629 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-15 14:42:46,629 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-15 14:42:46,629 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-15 14:42:46,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:46,638 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-15 14:42:46,639 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-15 14:42:46,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:46,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:46,639 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-15 14:42:46,640 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-15 14:42:46,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:42:46,645 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-15 14:42:46,646 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-15 14:42:46,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:42:46,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:42:46,646 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:42:46,646 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:42:46,646 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-15 14:42:46,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 130 transitions. [2022-04-15 14:42:46,651 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 130 transitions. Word has length 44 [2022-04-15 14:42:46,651 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:42:46,651 INFO L478 AbstractCegarLoop]: Abstraction has 104 states and 130 transitions. [2022-04-15 14:42:46,651 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 14:42:46,651 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 104 states and 130 transitions. [2022-04-15 14:42:46,808 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-15 14:42:46,808 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 130 transitions. [2022-04-15 14:42:46,809 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 14:42:46,809 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:42:46,809 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:42:46,843 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-15 14:42:47,009 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:42:47,010 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:42:47,010 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:42:47,010 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 3 times [2022-04-15 14:42:47,010 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:42:47,010 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2106859392] [2022-04-15 14:42:47,011 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:42:47,011 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 4 times [2022-04-15 14:42:47,011 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:42:47,011 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1017064354] [2022-04-15 14:42:47,011 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:42:47,011 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:42:47,021 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:42:47,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [745117033] [2022-04-15 14:42:47,021 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:42:47,021 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:42:47,022 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:42:47,022 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-15 14:42:47,026 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-15 14:42:47,101 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:42:47,101 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:42:47,102 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 14:42:47,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:42:47,117 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:42:47,642 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-15 14:42:47,642 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-15 14:42:47,642 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 14:42:47,642 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-15 14:42:47,643 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-15 14:42:47,643 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-15 14:42:47,643 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-15 14:42:47,643 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 14:42:47,643 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 14:42:47,643 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 14:42:47,643 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-15 14:42:47,643 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-15 14:42:47,644 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5197#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 14:42:47,644 INFO L290 TraceCheckUtils]: 13: Hoare triple {5197#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5201#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:42:47,645 INFO L290 TraceCheckUtils]: 14: Hoare triple {5201#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5201#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:42:47,645 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5201#(not (= |assume_abort_if_not_#in~cond| 0))} {5156#true} #66#return; {5208#(<= 1 main_~y~0)} is VALID [2022-04-15 14:42:47,646 INFO L290 TraceCheckUtils]: 16: Hoare triple {5208#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 14:42:47,646 INFO L290 TraceCheckUtils]: 17: Hoare triple {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 14:42:47,647 INFO L290 TraceCheckUtils]: 18: Hoare triple {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 14:42:47,647 INFO L272 TraceCheckUtils]: 19: Hoare triple {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 14:42:47,647 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 14:42:47,647 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 14:42:47,647 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 14:42:47,648 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5156#true} {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #68#return; {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 14:42:47,648 INFO L272 TraceCheckUtils]: 24: Hoare triple {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 14:42:47,649 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:42:47,649 INFO L290 TraceCheckUtils]: 26: Hoare triple {5240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:42:47,649 INFO L290 TraceCheckUtils]: 27: Hoare triple {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:42:47,650 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} {5212#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #70#return; {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 14:42:47,651 INFO L272 TraceCheckUtils]: 29: Hoare triple {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 14:42:47,651 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 14:42:47,651 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 14:42:47,651 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 14:42:47,652 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5156#true} {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} #72#return; {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 14:42:47,652 INFO L290 TraceCheckUtils]: 34: Hoare triple {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 14:42:47,653 INFO L290 TraceCheckUtils]: 35: Hoare triple {5251#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-15 14:42:47,654 INFO L290 TraceCheckUtils]: 36: Hoare triple {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-15 14:42:47,654 INFO L290 TraceCheckUtils]: 37: Hoare triple {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} assume !!(#t~post6 < 5);havoc #t~post6; {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-15 14:42:47,654 INFO L272 TraceCheckUtils]: 38: Hoare triple {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 14:42:47,655 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 14:42:47,655 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 14:42:47,655 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 14:42:47,655 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5156#true} {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} #68#return; {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-15 14:42:47,656 INFO L272 TraceCheckUtils]: 43: Hoare triple {5273#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5298#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:42:47,657 INFO L290 TraceCheckUtils]: 44: Hoare triple {5298#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5302#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:42:47,657 INFO L290 TraceCheckUtils]: 45: Hoare triple {5302#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-15 14:42:47,657 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-15 14:42:47,658 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 13 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 14:42:47,658 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:43:03,055 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-15 14:43:03,056 INFO L290 TraceCheckUtils]: 45: Hoare triple {5302#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-15 14:43:03,056 INFO L290 TraceCheckUtils]: 44: Hoare triple {5298#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5302#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:03,057 INFO L272 TraceCheckUtils]: 43: Hoare triple {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5298#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:03,058 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5156#true} {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:03,058 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 14:43:03,059 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 14:43:03,059 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 14:43:03,059 INFO L272 TraceCheckUtils]: 38: Hoare triple {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 14:43:03,059 INFO L290 TraceCheckUtils]: 37: Hoare triple {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:03,060 INFO L290 TraceCheckUtils]: 36: Hoare triple {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:03,475 INFO L290 TraceCheckUtils]: 35: Hoare triple {5343#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {5318#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:03,476 INFO L290 TraceCheckUtils]: 34: Hoare triple {5343#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {5343#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:43:03,477 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5156#true} {5343#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {5343#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:43:03,477 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 14:43:03,477 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 14:43:03,477 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 14:43:03,477 INFO L272 TraceCheckUtils]: 29: Hoare triple {5343#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 14:43:03,478 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} {5365#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {5343#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:43:03,479 INFO L290 TraceCheckUtils]: 27: Hoare triple {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:43:03,479 INFO L290 TraceCheckUtils]: 26: Hoare triple {5375#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:43:03,479 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5375#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:43:03,479 INFO L272 TraceCheckUtils]: 24: Hoare triple {5365#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 14:43:03,480 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5156#true} {5365#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {5365#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:43:03,480 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 14:43:03,481 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 14:43:03,481 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 14:43:03,481 INFO L272 TraceCheckUtils]: 19: Hoare triple {5365#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 14:43:03,481 INFO L290 TraceCheckUtils]: 18: Hoare triple {5365#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 5);havoc #t~post6; {5365#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:43:03,482 INFO L290 TraceCheckUtils]: 17: Hoare triple {5365#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5365#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:43:03,482 INFO L290 TraceCheckUtils]: 16: Hoare triple {5156#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5365#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:43:03,483 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5156#true} {5156#true} #66#return; {5156#true} is VALID [2022-04-15 14:43:03,483 INFO L290 TraceCheckUtils]: 14: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 14:43:03,483 INFO L290 TraceCheckUtils]: 13: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 14:43:03,483 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 14:43:03,483 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-15 14:43:03,483 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-15 14:43:03,483 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 14:43:03,483 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 14:43:03,483 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 14:43:03,483 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-15 14:43:03,483 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-15 14:43:03,483 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-15 14:43:03,483 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-15 14:43:03,484 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 14:43:03,484 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-15 14:43:03,484 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-15 14:43:03,484 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-15 14:43:03,484 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:03,484 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1017064354] [2022-04-15 14:43:03,484 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:43:03,484 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [745117033] [2022-04-15 14:43:03,484 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [745117033] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:43:03,484 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:43:03,484 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-15 14:43:03,485 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:03,485 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2106859392] [2022-04-15 14:43:03,485 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2106859392] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:03,485 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:03,485 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 14:43:03,485 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [13072124] [2022-04-15 14:43:03,485 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:03,486 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 47 [2022-04-15 14:43:03,486 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:03,486 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-15 14:43:03,516 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-15 14:43:03,516 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 14:43:03,516 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:03,516 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 14:43:03,516 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=197, Unknown=0, NotChecked=0, Total=240 [2022-04-15 14:43:03,516 INFO L87 Difference]: Start difference. First operand 104 states and 130 transitions. Second operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-15 14:43:04,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:04,840 INFO L93 Difference]: Finished difference Result 131 states and 169 transitions. [2022-04-15 14:43:04,840 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 14:43:04,840 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 47 [2022-04-15 14:43:04,841 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:04,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-15 14:43:04,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 75 transitions. [2022-04-15 14:43:04,843 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-15 14:43:04,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 75 transitions. [2022-04-15 14:43:04,844 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 75 transitions. [2022-04-15 14:43:04,907 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-15 14:43:04,910 INFO L225 Difference]: With dead ends: 131 [2022-04-15 14:43:04,910 INFO L226 Difference]: Without dead ends: 129 [2022-04-15 14:43:04,910 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 78 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=60, Invalid=282, Unknown=0, NotChecked=0, Total=342 [2022-04-15 14:43:04,911 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 34 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 350 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 367 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 350 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:04,911 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [46 Valid, 170 Invalid, 367 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 350 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 14:43:04,912 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-15 14:43:04,998 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 124. [2022-04-15 14:43:04,998 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:04,998 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-15 14:43:04,998 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-15 14:43:04,999 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-15 14:43:05,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:05,003 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-15 14:43:05,003 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-15 14:43:05,003 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:05,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:05,004 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-15 14:43:05,004 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-15 14:43:05,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:05,007 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-15 14:43:05,008 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-15 14:43:05,008 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:05,008 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:05,008 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:05,008 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:05,008 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-15 14:43:05,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 158 transitions. [2022-04-15 14:43:05,012 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 158 transitions. Word has length 47 [2022-04-15 14:43:05,012 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:05,012 INFO L478 AbstractCegarLoop]: Abstraction has 124 states and 158 transitions. [2022-04-15 14:43:05,012 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-15 14:43:05,012 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 124 states and 158 transitions. [2022-04-15 14:43:05,187 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-15 14:43:05,188 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 158 transitions. [2022-04-15 14:43:05,188 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 14:43:05,188 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:05,188 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:05,204 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 14:43:05,389 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 14:43:05,389 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:05,389 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:05,389 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 1 times [2022-04-15 14:43:05,390 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:05,390 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [162009856] [2022-04-15 14:43:05,390 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:05,390 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 2 times [2022-04-15 14:43:05,390 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:05,390 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1708350230] [2022-04-15 14:43:05,390 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:05,390 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:05,409 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:05,409 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1856839522] [2022-04-15 14:43:05,409 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:43:05,409 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:05,410 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:05,410 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-15 14:43:05,439 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-15 14:43:05,464 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:43:05,465 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:05,465 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-15 14:43:05,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:05,479 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:05,883 INFO L272 TraceCheckUtils]: 0: Hoare triple {6227#true} call ULTIMATE.init(); {6227#true} is VALID [2022-04-15 14:43:05,883 INFO L290 TraceCheckUtils]: 1: Hoare triple {6227#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6227#true} is VALID [2022-04-15 14:43:05,883 INFO L290 TraceCheckUtils]: 2: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-15 14:43:05,884 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6227#true} {6227#true} #82#return; {6227#true} is VALID [2022-04-15 14:43:05,884 INFO L272 TraceCheckUtils]: 4: Hoare triple {6227#true} call #t~ret7 := main(); {6227#true} is VALID [2022-04-15 14:43:05,884 INFO L290 TraceCheckUtils]: 5: Hoare triple {6227#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6227#true} is VALID [2022-04-15 14:43:05,884 INFO L272 TraceCheckUtils]: 6: Hoare triple {6227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6227#true} is VALID [2022-04-15 14:43:05,884 INFO L290 TraceCheckUtils]: 7: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-15 14:43:05,884 INFO L290 TraceCheckUtils]: 8: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-15 14:43:05,884 INFO L290 TraceCheckUtils]: 9: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-15 14:43:05,884 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6227#true} {6227#true} #64#return; {6227#true} is VALID [2022-04-15 14:43:05,884 INFO L272 TraceCheckUtils]: 11: Hoare triple {6227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6227#true} is VALID [2022-04-15 14:43:05,885 INFO L290 TraceCheckUtils]: 12: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-15 14:43:05,885 INFO L290 TraceCheckUtils]: 13: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-15 14:43:05,885 INFO L290 TraceCheckUtils]: 14: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-15 14:43:05,885 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6227#true} {6227#true} #66#return; {6227#true} is VALID [2022-04-15 14:43:05,885 INFO L290 TraceCheckUtils]: 16: Hoare triple {6227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:05,886 INFO L290 TraceCheckUtils]: 17: Hoare triple {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:05,886 INFO L290 TraceCheckUtils]: 18: Hoare triple {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:05,887 INFO L272 TraceCheckUtils]: 19: Hoare triple {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6227#true} is VALID [2022-04-15 14:43:05,887 INFO L290 TraceCheckUtils]: 20: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-15 14:43:05,887 INFO L290 TraceCheckUtils]: 21: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-15 14:43:05,887 INFO L290 TraceCheckUtils]: 22: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-15 14:43:05,888 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6227#true} {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:05,888 INFO L272 TraceCheckUtils]: 24: Hoare triple {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6227#true} is VALID [2022-04-15 14:43:05,888 INFO L290 TraceCheckUtils]: 25: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-15 14:43:05,888 INFO L290 TraceCheckUtils]: 26: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-15 14:43:05,888 INFO L290 TraceCheckUtils]: 27: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-15 14:43:05,889 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6227#true} {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:05,889 INFO L272 TraceCheckUtils]: 29: Hoare triple {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6227#true} is VALID [2022-04-15 14:43:05,890 INFO L290 TraceCheckUtils]: 30: Hoare triple {6227#true} ~cond := #in~cond; {6323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:05,890 INFO L290 TraceCheckUtils]: 31: Hoare triple {6323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:43:05,890 INFO L290 TraceCheckUtils]: 32: Hoare triple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:43:05,891 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:05,892 INFO L290 TraceCheckUtils]: 34: Hoare triple {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:05,893 INFO L290 TraceCheckUtils]: 35: Hoare triple {6280#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:43:05,893 INFO L290 TraceCheckUtils]: 36: Hoare triple {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:43:05,894 INFO L290 TraceCheckUtils]: 37: Hoare triple {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:43:05,894 INFO L272 TraceCheckUtils]: 38: Hoare triple {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6227#true} is VALID [2022-04-15 14:43:05,894 INFO L290 TraceCheckUtils]: 39: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-15 14:43:05,894 INFO L290 TraceCheckUtils]: 40: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-15 14:43:05,894 INFO L290 TraceCheckUtils]: 41: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-15 14:43:05,895 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6227#true} {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #68#return; {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:43:05,895 INFO L272 TraceCheckUtils]: 43: Hoare triple {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6227#true} is VALID [2022-04-15 14:43:05,895 INFO L290 TraceCheckUtils]: 44: Hoare triple {6227#true} ~cond := #in~cond; {6323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:05,896 INFO L290 TraceCheckUtils]: 45: Hoare triple {6323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:43:05,896 INFO L290 TraceCheckUtils]: 46: Hoare triple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:43:05,897 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} {6340#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #70#return; {6377#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ main_~q~0 1) 0))} is VALID [2022-04-15 14:43:05,898 INFO L272 TraceCheckUtils]: 48: Hoare triple {6377#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ main_~q~0 1) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6381#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:05,898 INFO L290 TraceCheckUtils]: 49: Hoare triple {6381#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6385#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:05,899 INFO L290 TraceCheckUtils]: 50: Hoare triple {6385#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6228#false} is VALID [2022-04-15 14:43:05,899 INFO L290 TraceCheckUtils]: 51: Hoare triple {6228#false} assume !false; {6228#false} is VALID [2022-04-15 14:43:05,899 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-15 14:43:05,899 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:44:01,266 INFO L290 TraceCheckUtils]: 51: Hoare triple {6228#false} assume !false; {6228#false} is VALID [2022-04-15 14:44:01,267 INFO L290 TraceCheckUtils]: 50: Hoare triple {6385#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6228#false} is VALID [2022-04-15 14:44:01,267 INFO L290 TraceCheckUtils]: 49: Hoare triple {6381#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6385#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:01,268 INFO L272 TraceCheckUtils]: 48: Hoare triple {6401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6381#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:44:01,269 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {6401#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:44:01,269 INFO L290 TraceCheckUtils]: 46: Hoare triple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:01,270 INFO L290 TraceCheckUtils]: 45: Hoare triple {6415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:01,270 INFO L290 TraceCheckUtils]: 44: Hoare triple {6227#true} ~cond := #in~cond; {6415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:44:01,270 INFO L272 TraceCheckUtils]: 43: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6227#true} is VALID [2022-04-15 14:44:01,271 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6227#true} {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:44:01,271 INFO L290 TraceCheckUtils]: 41: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-15 14:44:01,271 INFO L290 TraceCheckUtils]: 40: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-15 14:44:01,271 INFO L290 TraceCheckUtils]: 39: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-15 14:44:01,271 INFO L272 TraceCheckUtils]: 38: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6227#true} is VALID [2022-04-15 14:44:01,272 INFO L290 TraceCheckUtils]: 37: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 5);havoc #t~post6; {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:44:01,272 INFO L290 TraceCheckUtils]: 36: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:44:01,947 INFO L290 TraceCheckUtils]: 35: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:44:01,947 INFO L290 TraceCheckUtils]: 34: Hoare triple {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~a~0 != ~b~0); {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:44:01,948 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} {6227#true} #72#return; {6405#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:44:01,948 INFO L290 TraceCheckUtils]: 32: Hoare triple {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:01,949 INFO L290 TraceCheckUtils]: 31: Hoare triple {6415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:01,949 INFO L290 TraceCheckUtils]: 30: Hoare triple {6227#true} ~cond := #in~cond; {6415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:44:01,949 INFO L272 TraceCheckUtils]: 29: Hoare triple {6227#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6227#true} is VALID [2022-04-15 14:44:01,949 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6227#true} {6227#true} #70#return; {6227#true} is VALID [2022-04-15 14:44:01,949 INFO L290 TraceCheckUtils]: 27: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-15 14:44:01,949 INFO L290 TraceCheckUtils]: 26: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-15 14:44:01,949 INFO L290 TraceCheckUtils]: 25: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-15 14:44:01,950 INFO L272 TraceCheckUtils]: 24: Hoare triple {6227#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6227#true} is VALID [2022-04-15 14:44:01,950 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6227#true} {6227#true} #68#return; {6227#true} is VALID [2022-04-15 14:44:01,950 INFO L290 TraceCheckUtils]: 22: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-15 14:44:01,950 INFO L290 TraceCheckUtils]: 21: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-15 14:44:01,950 INFO L290 TraceCheckUtils]: 20: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-15 14:44:01,950 INFO L272 TraceCheckUtils]: 19: Hoare triple {6227#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6227#true} is VALID [2022-04-15 14:44:01,950 INFO L290 TraceCheckUtils]: 18: Hoare triple {6227#true} assume !!(#t~post6 < 5);havoc #t~post6; {6227#true} is VALID [2022-04-15 14:44:01,950 INFO L290 TraceCheckUtils]: 17: Hoare triple {6227#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6227#true} is VALID [2022-04-15 14:44:01,950 INFO L290 TraceCheckUtils]: 16: Hoare triple {6227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6227#true} is VALID [2022-04-15 14:44:01,950 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6227#true} {6227#true} #66#return; {6227#true} is VALID [2022-04-15 14:44:01,950 INFO L290 TraceCheckUtils]: 14: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-15 14:44:01,950 INFO L290 TraceCheckUtils]: 13: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-15 14:44:01,950 INFO L290 TraceCheckUtils]: 12: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-15 14:44:01,950 INFO L272 TraceCheckUtils]: 11: Hoare triple {6227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6227#true} is VALID [2022-04-15 14:44:01,951 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6227#true} {6227#true} #64#return; {6227#true} is VALID [2022-04-15 14:44:01,951 INFO L290 TraceCheckUtils]: 9: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-15 14:44:01,951 INFO L290 TraceCheckUtils]: 8: Hoare triple {6227#true} assume !(0 == ~cond); {6227#true} is VALID [2022-04-15 14:44:01,951 INFO L290 TraceCheckUtils]: 7: Hoare triple {6227#true} ~cond := #in~cond; {6227#true} is VALID [2022-04-15 14:44:01,951 INFO L272 TraceCheckUtils]: 6: Hoare triple {6227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6227#true} is VALID [2022-04-15 14:44:01,951 INFO L290 TraceCheckUtils]: 5: Hoare triple {6227#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6227#true} is VALID [2022-04-15 14:44:01,951 INFO L272 TraceCheckUtils]: 4: Hoare triple {6227#true} call #t~ret7 := main(); {6227#true} is VALID [2022-04-15 14:44:01,951 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6227#true} {6227#true} #82#return; {6227#true} is VALID [2022-04-15 14:44:01,951 INFO L290 TraceCheckUtils]: 2: Hoare triple {6227#true} assume true; {6227#true} is VALID [2022-04-15 14:44:01,952 INFO L290 TraceCheckUtils]: 1: Hoare triple {6227#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6227#true} is VALID [2022-04-15 14:44:01,952 INFO L272 TraceCheckUtils]: 0: Hoare triple {6227#true} call ULTIMATE.init(); {6227#true} is VALID [2022-04-15 14:44:01,952 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-15 14:44:01,952 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:44:01,952 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1708350230] [2022-04-15 14:44:01,952 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:44:01,952 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1856839522] [2022-04-15 14:44:01,952 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1856839522] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:44:01,953 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:44:01,953 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-15 14:44:01,953 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:44:01,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [162009856] [2022-04-15 14:44:01,953 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [162009856] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:01,953 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:01,953 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 14:44:01,953 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1662800799] [2022-04-15 14:44:01,953 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:44:01,954 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-15 14:44:01,954 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:44:01,954 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-15 14:44:01,989 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-15 14:44:01,989 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 14:44:01,989 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:01,989 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 14:44:01,989 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=99, Unknown=0, NotChecked=0, Total=132 [2022-04-15 14:44:01,989 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-15 14:44:02,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:02,808 INFO L93 Difference]: Finished difference Result 160 states and 210 transitions. [2022-04-15 14:44:02,808 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 14:44:02,808 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-15 14:44:02,808 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:44:02,808 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-15 14:44:02,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-15 14:44:02,810 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-15 14:44:02,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-15 14:44:02,812 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 94 transitions. [2022-04-15 14:44:02,902 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-15 14:44:02,905 INFO L225 Difference]: With dead ends: 160 [2022-04-15 14:44:02,905 INFO L226 Difference]: Without dead ends: 153 [2022-04-15 14:44:02,906 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 91 SyntacticMatches, 2 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=46, Invalid=136, Unknown=0, NotChecked=0, Total=182 [2022-04-15 14:44:02,906 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 24 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 231 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 256 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 231 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 14:44:02,907 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 132 Invalid, 256 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 231 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 14:44:02,907 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2022-04-15 14:44:03,026 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 153. [2022-04-15 14:44:03,026 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:44:03,027 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-15 14:44:03,027 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-15 14:44:03,027 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-15 14:44:03,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:03,032 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-15 14:44:03,032 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-15 14:44:03,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:03,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:03,033 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-15 14:44:03,033 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-15 14:44:03,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:03,038 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-15 14:44:03,038 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-15 14:44:03,039 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:03,039 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:03,039 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:44:03,039 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:44:03,039 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-15 14:44:03,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 198 transitions. [2022-04-15 14:44:03,044 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 198 transitions. Word has length 52 [2022-04-15 14:44:03,044 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:44:03,044 INFO L478 AbstractCegarLoop]: Abstraction has 153 states and 198 transitions. [2022-04-15 14:44:03,044 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-15 14:44:03,044 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 198 transitions. [2022-04-15 14:44:03,256 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-15 14:44:03,256 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-15 14:44:03,257 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 14:44:03,257 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:44:03,257 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:44:03,273 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-15 14:44:03,459 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:03,459 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:44:03,460 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:44:03,460 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 3 times [2022-04-15 14:44:03,460 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:03,460 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1865790166] [2022-04-15 14:44:03,460 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:44:03,460 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 4 times [2022-04-15 14:44:03,460 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:44:03,460 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [173149902] [2022-04-15 14:44:03,461 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:44:03,461 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:44:03,470 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:44:03,470 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1478823531] [2022-04-15 14:44:03,470 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:44:03,470 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:03,471 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:44:03,471 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-15 14:44:03,500 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-15 14:44:03,541 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:44:03,541 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:44:03,542 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 14:44:03,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:03,557 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:44:03,816 INFO L272 TraceCheckUtils]: 0: Hoare triple {7486#true} call ULTIMATE.init(); {7486#true} is VALID [2022-04-15 14:44:03,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {7486#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {7494#(<= ~counter~0 0)} assume true; {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,818 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7494#(<= ~counter~0 0)} {7486#true} #82#return; {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,818 INFO L272 TraceCheckUtils]: 4: Hoare triple {7494#(<= ~counter~0 0)} call #t~ret7 := main(); {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,818 INFO L290 TraceCheckUtils]: 5: Hoare triple {7494#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,819 INFO L272 TraceCheckUtils]: 6: Hoare triple {7494#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,819 INFO L290 TraceCheckUtils]: 7: Hoare triple {7494#(<= ~counter~0 0)} ~cond := #in~cond; {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,819 INFO L290 TraceCheckUtils]: 8: Hoare triple {7494#(<= ~counter~0 0)} assume !(0 == ~cond); {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,820 INFO L290 TraceCheckUtils]: 9: Hoare triple {7494#(<= ~counter~0 0)} assume true; {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,820 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7494#(<= ~counter~0 0)} {7494#(<= ~counter~0 0)} #64#return; {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,821 INFO L272 TraceCheckUtils]: 11: Hoare triple {7494#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,821 INFO L290 TraceCheckUtils]: 12: Hoare triple {7494#(<= ~counter~0 0)} ~cond := #in~cond; {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,821 INFO L290 TraceCheckUtils]: 13: Hoare triple {7494#(<= ~counter~0 0)} assume !(0 == ~cond); {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,822 INFO L290 TraceCheckUtils]: 14: Hoare triple {7494#(<= ~counter~0 0)} assume true; {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,822 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7494#(<= ~counter~0 0)} {7494#(<= ~counter~0 0)} #66#return; {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,822 INFO L290 TraceCheckUtils]: 16: Hoare triple {7494#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7494#(<= ~counter~0 0)} is VALID [2022-04-15 14:44:03,823 INFO L290 TraceCheckUtils]: 17: Hoare triple {7494#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,823 INFO L290 TraceCheckUtils]: 18: Hoare triple {7543#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,826 INFO L272 TraceCheckUtils]: 19: Hoare triple {7543#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,827 INFO L290 TraceCheckUtils]: 20: Hoare triple {7543#(<= ~counter~0 1)} ~cond := #in~cond; {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,827 INFO L290 TraceCheckUtils]: 21: Hoare triple {7543#(<= ~counter~0 1)} assume !(0 == ~cond); {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,827 INFO L290 TraceCheckUtils]: 22: Hoare triple {7543#(<= ~counter~0 1)} assume true; {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,828 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7543#(<= ~counter~0 1)} {7543#(<= ~counter~0 1)} #68#return; {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,828 INFO L272 TraceCheckUtils]: 24: Hoare triple {7543#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,829 INFO L290 TraceCheckUtils]: 25: Hoare triple {7543#(<= ~counter~0 1)} ~cond := #in~cond; {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,829 INFO L290 TraceCheckUtils]: 26: Hoare triple {7543#(<= ~counter~0 1)} assume !(0 == ~cond); {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,829 INFO L290 TraceCheckUtils]: 27: Hoare triple {7543#(<= ~counter~0 1)} assume true; {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,830 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7543#(<= ~counter~0 1)} {7543#(<= ~counter~0 1)} #70#return; {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,830 INFO L272 TraceCheckUtils]: 29: Hoare triple {7543#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,831 INFO L290 TraceCheckUtils]: 30: Hoare triple {7543#(<= ~counter~0 1)} ~cond := #in~cond; {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,831 INFO L290 TraceCheckUtils]: 31: Hoare triple {7543#(<= ~counter~0 1)} assume !(0 == ~cond); {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,831 INFO L290 TraceCheckUtils]: 32: Hoare triple {7543#(<= ~counter~0 1)} assume true; {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,832 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7543#(<= ~counter~0 1)} {7543#(<= ~counter~0 1)} #72#return; {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,832 INFO L290 TraceCheckUtils]: 34: Hoare triple {7543#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,832 INFO L290 TraceCheckUtils]: 35: Hoare triple {7543#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7543#(<= ~counter~0 1)} is VALID [2022-04-15 14:44:03,833 INFO L290 TraceCheckUtils]: 36: Hoare triple {7543#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,833 INFO L290 TraceCheckUtils]: 37: Hoare triple {7601#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,834 INFO L272 TraceCheckUtils]: 38: Hoare triple {7601#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,834 INFO L290 TraceCheckUtils]: 39: Hoare triple {7601#(<= ~counter~0 2)} ~cond := #in~cond; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,834 INFO L290 TraceCheckUtils]: 40: Hoare triple {7601#(<= ~counter~0 2)} assume !(0 == ~cond); {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,835 INFO L290 TraceCheckUtils]: 41: Hoare triple {7601#(<= ~counter~0 2)} assume true; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,835 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7601#(<= ~counter~0 2)} {7601#(<= ~counter~0 2)} #68#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,836 INFO L272 TraceCheckUtils]: 43: Hoare triple {7601#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,836 INFO L290 TraceCheckUtils]: 44: Hoare triple {7601#(<= ~counter~0 2)} ~cond := #in~cond; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,836 INFO L290 TraceCheckUtils]: 45: Hoare triple {7601#(<= ~counter~0 2)} assume !(0 == ~cond); {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,837 INFO L290 TraceCheckUtils]: 46: Hoare triple {7601#(<= ~counter~0 2)} assume true; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,837 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7601#(<= ~counter~0 2)} {7601#(<= ~counter~0 2)} #70#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,838 INFO L272 TraceCheckUtils]: 48: Hoare triple {7601#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,838 INFO L290 TraceCheckUtils]: 49: Hoare triple {7601#(<= ~counter~0 2)} ~cond := #in~cond; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,838 INFO L290 TraceCheckUtils]: 50: Hoare triple {7601#(<= ~counter~0 2)} assume !(0 == ~cond); {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,839 INFO L290 TraceCheckUtils]: 51: Hoare triple {7601#(<= ~counter~0 2)} assume true; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,839 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7601#(<= ~counter~0 2)} {7601#(<= ~counter~0 2)} #72#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,840 INFO L290 TraceCheckUtils]: 53: Hoare triple {7601#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,840 INFO L290 TraceCheckUtils]: 54: Hoare triple {7601#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:03,840 INFO L290 TraceCheckUtils]: 55: Hoare triple {7601#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7659#(<= |main_#t~post6| 2)} is VALID [2022-04-15 14:44:03,841 INFO L290 TraceCheckUtils]: 56: Hoare triple {7659#(<= |main_#t~post6| 2)} assume !(#t~post6 < 5);havoc #t~post6; {7487#false} is VALID [2022-04-15 14:44:03,841 INFO L272 TraceCheckUtils]: 57: Hoare triple {7487#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {7487#false} is VALID [2022-04-15 14:44:03,841 INFO L290 TraceCheckUtils]: 58: Hoare triple {7487#false} ~cond := #in~cond; {7487#false} is VALID [2022-04-15 14:44:03,841 INFO L290 TraceCheckUtils]: 59: Hoare triple {7487#false} assume 0 == ~cond; {7487#false} is VALID [2022-04-15 14:44:03,841 INFO L290 TraceCheckUtils]: 60: Hoare triple {7487#false} assume !false; {7487#false} is VALID [2022-04-15 14:44:03,841 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-15 14:44:03,842 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:44:04,136 INFO L290 TraceCheckUtils]: 60: Hoare triple {7487#false} assume !false; {7487#false} is VALID [2022-04-15 14:44:04,137 INFO L290 TraceCheckUtils]: 59: Hoare triple {7487#false} assume 0 == ~cond; {7487#false} is VALID [2022-04-15 14:44:04,137 INFO L290 TraceCheckUtils]: 58: Hoare triple {7487#false} ~cond := #in~cond; {7487#false} is VALID [2022-04-15 14:44:04,137 INFO L272 TraceCheckUtils]: 57: Hoare triple {7487#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {7487#false} is VALID [2022-04-15 14:44:04,137 INFO L290 TraceCheckUtils]: 56: Hoare triple {7687#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {7487#false} is VALID [2022-04-15 14:44:04,138 INFO L290 TraceCheckUtils]: 55: Hoare triple {7691#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7687#(< |main_#t~post6| 5)} is VALID [2022-04-15 14:44:04,138 INFO L290 TraceCheckUtils]: 54: Hoare triple {7691#(< ~counter~0 5)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7691#(< ~counter~0 5)} is VALID [2022-04-15 14:44:04,147 INFO L290 TraceCheckUtils]: 53: Hoare triple {7691#(< ~counter~0 5)} assume !!(~a~0 != ~b~0); {7691#(< ~counter~0 5)} is VALID [2022-04-15 14:44:04,148 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7486#true} {7691#(< ~counter~0 5)} #72#return; {7691#(< ~counter~0 5)} is VALID [2022-04-15 14:44:04,148 INFO L290 TraceCheckUtils]: 51: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-15 14:44:04,148 INFO L290 TraceCheckUtils]: 50: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-15 14:44:04,148 INFO L290 TraceCheckUtils]: 49: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-15 14:44:04,148 INFO L272 TraceCheckUtils]: 48: Hoare triple {7691#(< ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7486#true} is VALID [2022-04-15 14:44:04,149 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7486#true} {7691#(< ~counter~0 5)} #70#return; {7691#(< ~counter~0 5)} is VALID [2022-04-15 14:44:04,149 INFO L290 TraceCheckUtils]: 46: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-15 14:44:04,149 INFO L290 TraceCheckUtils]: 45: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-15 14:44:04,149 INFO L290 TraceCheckUtils]: 44: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-15 14:44:04,149 INFO L272 TraceCheckUtils]: 43: Hoare triple {7691#(< ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7486#true} is VALID [2022-04-15 14:44:04,150 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7486#true} {7691#(< ~counter~0 5)} #68#return; {7691#(< ~counter~0 5)} is VALID [2022-04-15 14:44:04,150 INFO L290 TraceCheckUtils]: 41: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-15 14:44:04,150 INFO L290 TraceCheckUtils]: 40: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-15 14:44:04,150 INFO L290 TraceCheckUtils]: 39: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-15 14:44:04,150 INFO L272 TraceCheckUtils]: 38: Hoare triple {7691#(< ~counter~0 5)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7486#true} is VALID [2022-04-15 14:44:04,151 INFO L290 TraceCheckUtils]: 37: Hoare triple {7691#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {7691#(< ~counter~0 5)} is VALID [2022-04-15 14:44:04,151 INFO L290 TraceCheckUtils]: 36: Hoare triple {7749#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7691#(< ~counter~0 5)} is VALID [2022-04-15 14:44:04,152 INFO L290 TraceCheckUtils]: 35: Hoare triple {7749#(< ~counter~0 4)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7749#(< ~counter~0 4)} is VALID [2022-04-15 14:44:04,152 INFO L290 TraceCheckUtils]: 34: Hoare triple {7749#(< ~counter~0 4)} assume !!(~a~0 != ~b~0); {7749#(< ~counter~0 4)} is VALID [2022-04-15 14:44:04,153 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7486#true} {7749#(< ~counter~0 4)} #72#return; {7749#(< ~counter~0 4)} is VALID [2022-04-15 14:44:04,153 INFO L290 TraceCheckUtils]: 32: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-15 14:44:04,153 INFO L290 TraceCheckUtils]: 31: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-15 14:44:04,153 INFO L290 TraceCheckUtils]: 30: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-15 14:44:04,153 INFO L272 TraceCheckUtils]: 29: Hoare triple {7749#(< ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7486#true} is VALID [2022-04-15 14:44:04,154 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7486#true} {7749#(< ~counter~0 4)} #70#return; {7749#(< ~counter~0 4)} is VALID [2022-04-15 14:44:04,154 INFO L290 TraceCheckUtils]: 27: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-15 14:44:04,154 INFO L290 TraceCheckUtils]: 26: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-15 14:44:04,154 INFO L290 TraceCheckUtils]: 25: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-15 14:44:04,154 INFO L272 TraceCheckUtils]: 24: Hoare triple {7749#(< ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7486#true} is VALID [2022-04-15 14:44:04,155 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7486#true} {7749#(< ~counter~0 4)} #68#return; {7749#(< ~counter~0 4)} is VALID [2022-04-15 14:44:04,155 INFO L290 TraceCheckUtils]: 22: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-15 14:44:04,155 INFO L290 TraceCheckUtils]: 21: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-15 14:44:04,155 INFO L290 TraceCheckUtils]: 20: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-15 14:44:04,155 INFO L272 TraceCheckUtils]: 19: Hoare triple {7749#(< ~counter~0 4)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7486#true} is VALID [2022-04-15 14:44:04,156 INFO L290 TraceCheckUtils]: 18: Hoare triple {7749#(< ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {7749#(< ~counter~0 4)} is VALID [2022-04-15 14:44:04,156 INFO L290 TraceCheckUtils]: 17: Hoare triple {7601#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7749#(< ~counter~0 4)} is VALID [2022-04-15 14:44:04,157 INFO L290 TraceCheckUtils]: 16: Hoare triple {7601#(<= ~counter~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:04,157 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7486#true} {7601#(<= ~counter~0 2)} #66#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:04,157 INFO L290 TraceCheckUtils]: 14: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-15 14:44:04,157 INFO L290 TraceCheckUtils]: 13: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-15 14:44:04,157 INFO L290 TraceCheckUtils]: 12: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-15 14:44:04,157 INFO L272 TraceCheckUtils]: 11: Hoare triple {7601#(<= ~counter~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7486#true} is VALID [2022-04-15 14:44:04,158 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7486#true} {7601#(<= ~counter~0 2)} #64#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:04,158 INFO L290 TraceCheckUtils]: 9: Hoare triple {7486#true} assume true; {7486#true} is VALID [2022-04-15 14:44:04,158 INFO L290 TraceCheckUtils]: 8: Hoare triple {7486#true} assume !(0 == ~cond); {7486#true} is VALID [2022-04-15 14:44:04,158 INFO L290 TraceCheckUtils]: 7: Hoare triple {7486#true} ~cond := #in~cond; {7486#true} is VALID [2022-04-15 14:44:04,158 INFO L272 TraceCheckUtils]: 6: Hoare triple {7601#(<= ~counter~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7486#true} is VALID [2022-04-15 14:44:04,159 INFO L290 TraceCheckUtils]: 5: Hoare triple {7601#(<= ~counter~0 2)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:04,159 INFO L272 TraceCheckUtils]: 4: Hoare triple {7601#(<= ~counter~0 2)} call #t~ret7 := main(); {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:04,159 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7601#(<= ~counter~0 2)} {7486#true} #82#return; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:04,160 INFO L290 TraceCheckUtils]: 2: Hoare triple {7601#(<= ~counter~0 2)} assume true; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:04,160 INFO L290 TraceCheckUtils]: 1: Hoare triple {7486#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7601#(<= ~counter~0 2)} is VALID [2022-04-15 14:44:04,160 INFO L272 TraceCheckUtils]: 0: Hoare triple {7486#true} call ULTIMATE.init(); {7486#true} is VALID [2022-04-15 14:44:04,161 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-15 14:44:04,161 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:44:04,161 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [173149902] [2022-04-15 14:44:04,161 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:44:04,161 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1478823531] [2022-04-15 14:44:04,161 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1478823531] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:44:04,161 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:44:04,161 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2022-04-15 14:44:04,162 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:44:04,162 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1865790166] [2022-04-15 14:44:04,162 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1865790166] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:04,162 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:04,162 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 14:44:04,162 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [28805567] [2022-04-15 14:44:04,162 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:44:04,163 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-15 14:44:04,163 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:44:04,163 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-15 14:44:04,201 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-15 14:44:04,202 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 14:44:04,202 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:04,202 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 14:44:04,202 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:44:04,203 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-15 14:44:04,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:04,513 INFO L93 Difference]: Finished difference Result 199 states and 251 transitions. [2022-04-15 14:44:04,513 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 14:44:04,513 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-15 14:44:04,513 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:44:04,514 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-15 14:44:04,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-15 14:44:04,515 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-15 14:44:04,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-15 14:44:04,516 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-15 14:44:04,584 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-15 14:44:04,587 INFO L225 Difference]: With dead ends: 199 [2022-04-15 14:44:04,587 INFO L226 Difference]: Without dead ends: 173 [2022-04-15 14:44:04,588 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=42, Invalid=68, Unknown=0, NotChecked=0, Total=110 [2022-04-15 14:44:04,588 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 8 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:44:04,589 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 136 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:44:04,589 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-15 14:44:04,716 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 173. [2022-04-15 14:44:04,716 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:44:04,716 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-15 14:44:04,717 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-15 14:44:04,717 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-15 14:44:04,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:04,722 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-15 14:44:04,722 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-15 14:44:04,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:04,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:04,723 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-15 14:44:04,723 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-15 14:44:04,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:04,728 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-15 14:44:04,728 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-15 14:44:04,729 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:04,729 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:04,729 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:44:04,729 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:44:04,729 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-15 14:44:04,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 215 transitions. [2022-04-15 14:44:04,734 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 215 transitions. Word has length 61 [2022-04-15 14:44:04,734 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:44:04,734 INFO L478 AbstractCegarLoop]: Abstraction has 173 states and 215 transitions. [2022-04-15 14:44:04,735 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 14:44:04,735 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 173 states and 215 transitions. [2022-04-15 14:44:04,985 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-15 14:44:04,985 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-15 14:44:04,985 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 14:44:04,985 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:44:04,986 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:44:05,002 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-15 14:44:05,187 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-15 14:44:05,187 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:44:05,188 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:44:05,188 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 1 times [2022-04-15 14:44:05,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:05,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [358283680] [2022-04-15 14:44:05,188 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:44:05,189 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 2 times [2022-04-15 14:44:05,189 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:44:05,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [230166556] [2022-04-15 14:44:05,189 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:44:05,189 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:44:05,201 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:44:05,202 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [317156822] [2022-04-15 14:44:05,202 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:44:05,202 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:05,202 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:44:05,203 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-15 14:44:05,204 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-15 14:44:05,248 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:44:05,248 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:44:05,249 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-15 14:44:05,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:05,264 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:44:05,577 INFO L272 TraceCheckUtils]: 0: Hoare triple {8954#true} call ULTIMATE.init(); {8954#true} is VALID [2022-04-15 14:44:05,577 INFO L290 TraceCheckUtils]: 1: Hoare triple {8954#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8954#true} is VALID [2022-04-15 14:44:05,577 INFO L290 TraceCheckUtils]: 2: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,577 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8954#true} {8954#true} #82#return; {8954#true} is VALID [2022-04-15 14:44:05,577 INFO L272 TraceCheckUtils]: 4: Hoare triple {8954#true} call #t~ret7 := main(); {8954#true} is VALID [2022-04-15 14:44:05,578 INFO L290 TraceCheckUtils]: 5: Hoare triple {8954#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8954#true} is VALID [2022-04-15 14:44:05,578 INFO L272 TraceCheckUtils]: 6: Hoare triple {8954#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,578 INFO L290 TraceCheckUtils]: 7: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,578 INFO L290 TraceCheckUtils]: 8: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,578 INFO L290 TraceCheckUtils]: 9: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,578 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8954#true} {8954#true} #64#return; {8954#true} is VALID [2022-04-15 14:44:05,578 INFO L272 TraceCheckUtils]: 11: Hoare triple {8954#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,578 INFO L290 TraceCheckUtils]: 12: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,578 INFO L290 TraceCheckUtils]: 13: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,578 INFO L290 TraceCheckUtils]: 14: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,578 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8954#true} {8954#true} #66#return; {8954#true} is VALID [2022-04-15 14:44:05,579 INFO L290 TraceCheckUtils]: 16: Hoare triple {8954#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:05,579 INFO L290 TraceCheckUtils]: 17: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:05,579 INFO L290 TraceCheckUtils]: 18: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:05,579 INFO L272 TraceCheckUtils]: 19: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,580 INFO L290 TraceCheckUtils]: 20: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,580 INFO L290 TraceCheckUtils]: 21: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,580 INFO L290 TraceCheckUtils]: 22: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,580 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8954#true} {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #68#return; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:05,580 INFO L272 TraceCheckUtils]: 24: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,580 INFO L290 TraceCheckUtils]: 25: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,580 INFO L290 TraceCheckUtils]: 26: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,581 INFO L290 TraceCheckUtils]: 27: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,581 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8954#true} {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #70#return; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:05,581 INFO L272 TraceCheckUtils]: 29: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,581 INFO L290 TraceCheckUtils]: 30: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,581 INFO L290 TraceCheckUtils]: 31: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,581 INFO L290 TraceCheckUtils]: 32: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,582 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8954#true} {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #72#return; {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:05,582 INFO L290 TraceCheckUtils]: 34: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:05,583 INFO L290 TraceCheckUtils]: 35: Hoare triple {9007#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-15 14:44:05,583 INFO L290 TraceCheckUtils]: 36: Hoare triple {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-15 14:44:05,584 INFO L290 TraceCheckUtils]: 37: Hoare triple {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-15 14:44:05,584 INFO L272 TraceCheckUtils]: 38: Hoare triple {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,584 INFO L290 TraceCheckUtils]: 39: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,584 INFO L290 TraceCheckUtils]: 40: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,584 INFO L290 TraceCheckUtils]: 41: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,584 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8954#true} {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} #68#return; {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-15 14:44:05,584 INFO L272 TraceCheckUtils]: 43: Hoare triple {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,585 INFO L290 TraceCheckUtils]: 44: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,585 INFO L290 TraceCheckUtils]: 45: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,585 INFO L290 TraceCheckUtils]: 46: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,591 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8954#true} {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} #70#return; {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-15 14:44:05,591 INFO L272 TraceCheckUtils]: 48: Hoare triple {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,591 INFO L290 TraceCheckUtils]: 49: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,592 INFO L290 TraceCheckUtils]: 50: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,592 INFO L290 TraceCheckUtils]: 51: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,592 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8954#true} {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} #72#return; {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-15 14:44:05,593 INFO L290 TraceCheckUtils]: 53: Hoare triple {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-15 14:44:05,594 INFO L290 TraceCheckUtils]: 54: Hoare triple {9065#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9123#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 14:44:05,594 INFO L290 TraceCheckUtils]: 55: Hoare triple {9123#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9123#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 14:44:05,595 INFO L290 TraceCheckUtils]: 56: Hoare triple {9123#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(#t~post6 < 5);havoc #t~post6; {9123#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 14:44:05,595 INFO L272 TraceCheckUtils]: 57: Hoare triple {9123#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:44:05,596 INFO L290 TraceCheckUtils]: 58: Hoare triple {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9137#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:05,596 INFO L290 TraceCheckUtils]: 59: Hoare triple {9137#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8955#false} is VALID [2022-04-15 14:44:05,596 INFO L290 TraceCheckUtils]: 60: Hoare triple {8955#false} assume !false; {8955#false} is VALID [2022-04-15 14:44:05,597 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-15 14:44:05,597 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:44:05,828 INFO L290 TraceCheckUtils]: 60: Hoare triple {8955#false} assume !false; {8955#false} is VALID [2022-04-15 14:44:05,829 INFO L290 TraceCheckUtils]: 59: Hoare triple {9137#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8955#false} is VALID [2022-04-15 14:44:05,829 INFO L290 TraceCheckUtils]: 58: Hoare triple {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9137#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:05,830 INFO L272 TraceCheckUtils]: 57: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9133#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:44:05,830 INFO L290 TraceCheckUtils]: 56: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 5);havoc #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,831 INFO L290 TraceCheckUtils]: 55: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,833 INFO L290 TraceCheckUtils]: 54: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,833 INFO L290 TraceCheckUtils]: 53: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,834 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,834 INFO L290 TraceCheckUtils]: 51: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,834 INFO L290 TraceCheckUtils]: 50: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,834 INFO L290 TraceCheckUtils]: 49: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,834 INFO L272 TraceCheckUtils]: 48: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,835 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,835 INFO L290 TraceCheckUtils]: 46: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,835 INFO L290 TraceCheckUtils]: 45: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,835 INFO L290 TraceCheckUtils]: 44: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,835 INFO L272 TraceCheckUtils]: 43: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,835 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,836 INFO L290 TraceCheckUtils]: 41: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,836 INFO L290 TraceCheckUtils]: 40: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,836 INFO L290 TraceCheckUtils]: 39: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,836 INFO L272 TraceCheckUtils]: 38: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,836 INFO L290 TraceCheckUtils]: 37: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 5);havoc #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,836 INFO L290 TraceCheckUtils]: 36: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,838 INFO L290 TraceCheckUtils]: 35: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,839 INFO L290 TraceCheckUtils]: 34: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,839 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,839 INFO L290 TraceCheckUtils]: 32: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,840 INFO L290 TraceCheckUtils]: 31: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,840 INFO L290 TraceCheckUtils]: 30: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,840 INFO L272 TraceCheckUtils]: 29: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,840 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,840 INFO L290 TraceCheckUtils]: 27: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,840 INFO L290 TraceCheckUtils]: 26: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,840 INFO L290 TraceCheckUtils]: 25: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,841 INFO L272 TraceCheckUtils]: 24: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,841 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8954#true} {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,841 INFO L290 TraceCheckUtils]: 22: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,841 INFO L290 TraceCheckUtils]: 21: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,841 INFO L290 TraceCheckUtils]: 20: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,841 INFO L272 TraceCheckUtils]: 19: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,842 INFO L290 TraceCheckUtils]: 18: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 5);havoc #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,842 INFO L290 TraceCheckUtils]: 17: Hoare triple {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,842 INFO L290 TraceCheckUtils]: 16: Hoare triple {8954#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9153#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:05,842 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8954#true} {8954#true} #66#return; {8954#true} is VALID [2022-04-15 14:44:05,843 INFO L290 TraceCheckUtils]: 14: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,843 INFO L290 TraceCheckUtils]: 13: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,843 INFO L290 TraceCheckUtils]: 12: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,843 INFO L272 TraceCheckUtils]: 11: Hoare triple {8954#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,843 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8954#true} {8954#true} #64#return; {8954#true} is VALID [2022-04-15 14:44:05,843 INFO L290 TraceCheckUtils]: 9: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,843 INFO L290 TraceCheckUtils]: 8: Hoare triple {8954#true} assume !(0 == ~cond); {8954#true} is VALID [2022-04-15 14:44:05,843 INFO L290 TraceCheckUtils]: 7: Hoare triple {8954#true} ~cond := #in~cond; {8954#true} is VALID [2022-04-15 14:44:05,843 INFO L272 TraceCheckUtils]: 6: Hoare triple {8954#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8954#true} is VALID [2022-04-15 14:44:05,843 INFO L290 TraceCheckUtils]: 5: Hoare triple {8954#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8954#true} is VALID [2022-04-15 14:44:05,843 INFO L272 TraceCheckUtils]: 4: Hoare triple {8954#true} call #t~ret7 := main(); {8954#true} is VALID [2022-04-15 14:44:05,843 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8954#true} {8954#true} #82#return; {8954#true} is VALID [2022-04-15 14:44:05,843 INFO L290 TraceCheckUtils]: 2: Hoare triple {8954#true} assume true; {8954#true} is VALID [2022-04-15 14:44:05,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {8954#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8954#true} is VALID [2022-04-15 14:44:05,844 INFO L272 TraceCheckUtils]: 0: Hoare triple {8954#true} call ULTIMATE.init(); {8954#true} is VALID [2022-04-15 14:44:05,844 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-15 14:44:05,844 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:44:05,844 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [230166556] [2022-04-15 14:44:05,844 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:44:05,844 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [317156822] [2022-04-15 14:44:05,845 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [317156822] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 14:44:05,845 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 14:44:05,845 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-15 14:44:05,845 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:44:05,845 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [358283680] [2022-04-15 14:44:05,845 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [358283680] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:05,845 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:05,845 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:44:05,845 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1209477086] [2022-04-15 14:44:05,846 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:44:05,846 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-15 14:44:05,846 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:44:05,846 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-15 14:44:05,881 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-15 14:44:05,881 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:44:05,881 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:05,881 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:44:05,882 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-15 14:44:05,882 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-15 14:44:06,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:06,175 INFO L93 Difference]: Finished difference Result 179 states and 220 transitions. [2022-04-15 14:44:06,175 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:44:06,176 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-15 14:44:06,176 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:44:06,176 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-15 14:44:06,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-15 14:44:06,178 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-15 14:44:06,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-15 14:44:06,179 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 44 transitions. [2022-04-15 14:44:06,220 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-15 14:44:06,224 INFO L225 Difference]: With dead ends: 179 [2022-04-15 14:44:06,224 INFO L226 Difference]: Without dead ends: 174 [2022-04-15 14:44:06,224 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 112 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:44:06,225 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 7 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:44:06,225 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 102 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:44:06,225 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-04-15 14:44:06,397 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 172. [2022-04-15 14:44:06,397 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:44:06,398 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-15 14:44:06,398 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-15 14:44:06,399 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-15 14:44:06,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:06,403 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-15 14:44:06,403 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-15 14:44:06,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:06,404 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:06,404 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-15 14:44:06,404 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-15 14:44:06,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:06,409 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-15 14:44:06,409 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-15 14:44:06,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:06,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:06,410 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:44:06,410 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:44:06,410 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-15 14:44:06,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 208 transitions. [2022-04-15 14:44:06,415 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 208 transitions. Word has length 61 [2022-04-15 14:44:06,415 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:44:06,415 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 208 transitions. [2022-04-15 14:44:06,415 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 14:44:06,415 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 208 transitions. [2022-04-15 14:44:06,647 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-15 14:44:06,648 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 208 transitions. [2022-04-15 14:44:06,648 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-15 14:44:06,648 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:44:06,648 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:44:06,664 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-15 14:44:06,849 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-15 14:44:06,849 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:44:06,849 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:44:06,849 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 5 times [2022-04-15 14:44:06,849 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:06,849 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1214728484] [2022-04-15 14:44:06,850 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:44:06,850 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 6 times [2022-04-15 14:44:06,850 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:44:06,850 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [911295162] [2022-04-15 14:44:06,850 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:44:06,850 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:44:06,872 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:44:06,872 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [844576318] [2022-04-15 14:44:06,872 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 14:44:06,872 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:06,872 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:44:06,882 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-15 14:44:06,884 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-15 14:44:06,941 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 14:44:06,942 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:44:06,943 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-15 14:44:06,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:06,962 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:44:07,479 INFO L272 TraceCheckUtils]: 0: Hoare triple {10379#true} call ULTIMATE.init(); {10379#true} is VALID [2022-04-15 14:44:07,480 INFO L290 TraceCheckUtils]: 1: Hoare triple {10379#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10379#true} is VALID [2022-04-15 14:44:07,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:07,480 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10379#true} {10379#true} #82#return; {10379#true} is VALID [2022-04-15 14:44:07,480 INFO L272 TraceCheckUtils]: 4: Hoare triple {10379#true} call #t~ret7 := main(); {10379#true} is VALID [2022-04-15 14:44:07,480 INFO L290 TraceCheckUtils]: 5: Hoare triple {10379#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10379#true} is VALID [2022-04-15 14:44:07,480 INFO L272 TraceCheckUtils]: 6: Hoare triple {10379#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:07,480 INFO L290 TraceCheckUtils]: 7: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:07,480 INFO L290 TraceCheckUtils]: 8: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:07,480 INFO L290 TraceCheckUtils]: 9: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:07,481 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10379#true} {10379#true} #64#return; {10379#true} is VALID [2022-04-15 14:44:07,481 INFO L272 TraceCheckUtils]: 11: Hoare triple {10379#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:07,481 INFO L290 TraceCheckUtils]: 12: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:07,481 INFO L290 TraceCheckUtils]: 13: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:07,481 INFO L290 TraceCheckUtils]: 14: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:07,481 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10379#true} {10379#true} #66#return; {10379#true} is VALID [2022-04-15 14:44:07,482 INFO L290 TraceCheckUtils]: 16: Hoare triple {10379#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:07,482 INFO L290 TraceCheckUtils]: 17: Hoare triple {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:07,482 INFO L290 TraceCheckUtils]: 18: Hoare triple {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:07,483 INFO L272 TraceCheckUtils]: 19: Hoare triple {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:07,483 INFO L290 TraceCheckUtils]: 20: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:07,483 INFO L290 TraceCheckUtils]: 21: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:07,483 INFO L290 TraceCheckUtils]: 22: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:07,484 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10379#true} {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:07,484 INFO L272 TraceCheckUtils]: 24: Hoare triple {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:07,484 INFO L290 TraceCheckUtils]: 25: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:07,484 INFO L290 TraceCheckUtils]: 26: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:07,484 INFO L290 TraceCheckUtils]: 27: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:07,485 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10379#true} {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:07,485 INFO L272 TraceCheckUtils]: 29: Hoare triple {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:07,485 INFO L290 TraceCheckUtils]: 30: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:07,485 INFO L290 TraceCheckUtils]: 31: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:07,485 INFO L290 TraceCheckUtils]: 32: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:07,486 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10379#true} {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:07,486 INFO L290 TraceCheckUtils]: 34: Hoare triple {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:07,487 INFO L290 TraceCheckUtils]: 35: Hoare triple {10432#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:07,488 INFO L290 TraceCheckUtils]: 36: Hoare triple {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:07,488 INFO L290 TraceCheckUtils]: 37: Hoare triple {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:07,488 INFO L272 TraceCheckUtils]: 38: Hoare triple {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:07,488 INFO L290 TraceCheckUtils]: 39: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:07,488 INFO L290 TraceCheckUtils]: 40: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:07,489 INFO L290 TraceCheckUtils]: 41: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:07,489 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10379#true} {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:07,489 INFO L272 TraceCheckUtils]: 43: Hoare triple {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:07,490 INFO L290 TraceCheckUtils]: 44: Hoare triple {10379#true} ~cond := #in~cond; {10518#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:07,490 INFO L290 TraceCheckUtils]: 45: Hoare triple {10518#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:07,491 INFO L290 TraceCheckUtils]: 46: Hoare triple {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:07,491 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:07,492 INFO L272 TraceCheckUtils]: 48: Hoare triple {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:07,492 INFO L290 TraceCheckUtils]: 49: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:07,492 INFO L290 TraceCheckUtils]: 50: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:07,492 INFO L290 TraceCheckUtils]: 51: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:07,493 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10379#true} {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:07,493 INFO L290 TraceCheckUtils]: 53: Hoare triple {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:07,494 INFO L290 TraceCheckUtils]: 54: Hoare triple {10490#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:07,495 INFO L290 TraceCheckUtils]: 55: Hoare triple {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:07,495 INFO L290 TraceCheckUtils]: 56: Hoare triple {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:07,495 INFO L272 TraceCheckUtils]: 57: Hoare triple {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:07,496 INFO L290 TraceCheckUtils]: 58: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:07,496 INFO L290 TraceCheckUtils]: 59: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:07,496 INFO L290 TraceCheckUtils]: 60: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:07,497 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10379#true} {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} #68#return; {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:07,498 INFO L272 TraceCheckUtils]: 62: Hoare triple {10550#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:44:07,498 INFO L290 TraceCheckUtils]: 63: Hoare triple {10575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:07,498 INFO L290 TraceCheckUtils]: 64: Hoare triple {10579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10380#false} is VALID [2022-04-15 14:44:07,498 INFO L290 TraceCheckUtils]: 65: Hoare triple {10380#false} assume !false; {10380#false} is VALID [2022-04-15 14:44:07,499 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-15 14:44:07,499 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:44:34,534 INFO L290 TraceCheckUtils]: 65: Hoare triple {10380#false} assume !false; {10380#false} is VALID [2022-04-15 14:44:34,535 INFO L290 TraceCheckUtils]: 64: Hoare triple {10579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10380#false} is VALID [2022-04-15 14:44:34,535 INFO L290 TraceCheckUtils]: 63: Hoare triple {10575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:34,536 INFO L272 TraceCheckUtils]: 62: Hoare triple {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:44:34,536 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10379#true} {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:44:34,536 INFO L290 TraceCheckUtils]: 60: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:34,536 INFO L290 TraceCheckUtils]: 59: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:34,537 INFO L290 TraceCheckUtils]: 58: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:34,537 INFO L272 TraceCheckUtils]: 57: Hoare triple {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:34,537 INFO L290 TraceCheckUtils]: 56: Hoare triple {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:44:34,538 INFO L290 TraceCheckUtils]: 55: Hoare triple {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:44:35,566 INFO L290 TraceCheckUtils]: 54: Hoare triple {10620#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10595#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:44:35,567 INFO L290 TraceCheckUtils]: 53: Hoare triple {10620#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {10620#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:44:35,568 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10379#true} {10620#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {10620#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:44:35,568 INFO L290 TraceCheckUtils]: 51: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:35,568 INFO L290 TraceCheckUtils]: 50: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:35,568 INFO L290 TraceCheckUtils]: 49: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:35,568 INFO L272 TraceCheckUtils]: 48: Hoare triple {10620#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:35,569 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} {10642#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {10620#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:44:35,569 INFO L290 TraceCheckUtils]: 46: Hoare triple {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:35,569 INFO L290 TraceCheckUtils]: 45: Hoare triple {10652#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10522#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:35,570 INFO L290 TraceCheckUtils]: 44: Hoare triple {10379#true} ~cond := #in~cond; {10652#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:44:35,570 INFO L272 TraceCheckUtils]: 43: Hoare triple {10642#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:35,570 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10379#true} {10642#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {10642#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:44:35,571 INFO L290 TraceCheckUtils]: 41: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:35,571 INFO L290 TraceCheckUtils]: 40: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:35,571 INFO L290 TraceCheckUtils]: 39: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:35,585 INFO L272 TraceCheckUtils]: 38: Hoare triple {10642#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:35,586 INFO L290 TraceCheckUtils]: 37: Hoare triple {10642#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 5);havoc #t~post6; {10642#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:44:35,587 INFO L290 TraceCheckUtils]: 36: Hoare triple {10642#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10642#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:44:35,927 INFO L290 TraceCheckUtils]: 35: Hoare triple {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10642#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:44:35,928 INFO L290 TraceCheckUtils]: 34: Hoare triple {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(~a~0 != ~b~0); {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 14:44:35,928 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10379#true} {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #72#return; {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 14:44:35,928 INFO L290 TraceCheckUtils]: 32: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:35,929 INFO L290 TraceCheckUtils]: 31: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:35,929 INFO L290 TraceCheckUtils]: 30: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:35,929 INFO L272 TraceCheckUtils]: 29: Hoare triple {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:35,929 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10379#true} {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #70#return; {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 14:44:35,929 INFO L290 TraceCheckUtils]: 27: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:35,929 INFO L290 TraceCheckUtils]: 26: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:35,930 INFO L290 TraceCheckUtils]: 25: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:35,930 INFO L272 TraceCheckUtils]: 24: Hoare triple {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:35,930 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10379#true} {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #68#return; {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 14:44:35,930 INFO L290 TraceCheckUtils]: 22: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:35,930 INFO L290 TraceCheckUtils]: 21: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:35,931 INFO L290 TraceCheckUtils]: 20: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:35,931 INFO L272 TraceCheckUtils]: 19: Hoare triple {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:35,931 INFO L290 TraceCheckUtils]: 18: Hoare triple {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(#t~post6 < 5);havoc #t~post6; {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 14:44:35,932 INFO L290 TraceCheckUtils]: 17: Hoare triple {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 14:44:35,932 INFO L290 TraceCheckUtils]: 16: Hoare triple {10379#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10680#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 14:44:35,932 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10379#true} {10379#true} #66#return; {10379#true} is VALID [2022-04-15 14:44:35,932 INFO L290 TraceCheckUtils]: 14: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:35,933 INFO L290 TraceCheckUtils]: 13: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:35,933 INFO L290 TraceCheckUtils]: 12: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:35,933 INFO L272 TraceCheckUtils]: 11: Hoare triple {10379#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:35,933 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10379#true} {10379#true} #64#return; {10379#true} is VALID [2022-04-15 14:44:35,933 INFO L290 TraceCheckUtils]: 9: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:35,933 INFO L290 TraceCheckUtils]: 8: Hoare triple {10379#true} assume !(0 == ~cond); {10379#true} is VALID [2022-04-15 14:44:35,933 INFO L290 TraceCheckUtils]: 7: Hoare triple {10379#true} ~cond := #in~cond; {10379#true} is VALID [2022-04-15 14:44:35,933 INFO L272 TraceCheckUtils]: 6: Hoare triple {10379#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10379#true} is VALID [2022-04-15 14:44:35,933 INFO L290 TraceCheckUtils]: 5: Hoare triple {10379#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10379#true} is VALID [2022-04-15 14:44:35,933 INFO L272 TraceCheckUtils]: 4: Hoare triple {10379#true} call #t~ret7 := main(); {10379#true} is VALID [2022-04-15 14:44:35,933 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10379#true} {10379#true} #82#return; {10379#true} is VALID [2022-04-15 14:44:35,933 INFO L290 TraceCheckUtils]: 2: Hoare triple {10379#true} assume true; {10379#true} is VALID [2022-04-15 14:44:35,933 INFO L290 TraceCheckUtils]: 1: Hoare triple {10379#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10379#true} is VALID [2022-04-15 14:44:35,934 INFO L272 TraceCheckUtils]: 0: Hoare triple {10379#true} call ULTIMATE.init(); {10379#true} is VALID [2022-04-15 14:44:35,934 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-15 14:44:35,934 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:44:35,934 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [911295162] [2022-04-15 14:44:35,934 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:44:35,935 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [844576318] [2022-04-15 14:44:35,935 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [844576318] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:44:35,935 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:44:35,935 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-15 14:44:35,935 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:44:35,935 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1214728484] [2022-04-15 14:44:35,935 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1214728484] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:35,935 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:35,935 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 14:44:35,936 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [644673501] [2022-04-15 14:44:35,936 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:44:35,936 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-15 14:44:35,936 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:44:35,936 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-15 14:44:35,980 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-15 14:44:35,980 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 14:44:35,980 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:35,980 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 14:44:35,980 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-15 14:44:35,981 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-15 14:44:37,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:37,031 INFO L93 Difference]: Finished difference Result 199 states and 247 transitions. [2022-04-15 14:44:37,031 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 14:44:37,031 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-15 14:44:37,031 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:44:37,031 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-15 14:44:37,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-15 14:44:37,033 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-15 14:44:37,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-15 14:44:37,034 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-15 14:44:37,130 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-15 14:44:37,133 INFO L225 Difference]: With dead ends: 199 [2022-04-15 14:44:37,133 INFO L226 Difference]: Without dead ends: 197 [2022-04-15 14:44:37,134 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 117 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-15 14:44:37,134 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 15 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 340 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 194 SdHoareTripleChecker+Invalid, 347 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 340 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 14:44:37,134 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 194 Invalid, 347 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 340 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 14:44:37,135 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-15 14:44:37,262 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 181. [2022-04-15 14:44:37,263 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:44:37,263 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-15 14:44:37,263 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-15 14:44:37,264 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-15 14:44:37,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:37,268 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-15 14:44:37,268 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-15 14:44:37,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:37,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:37,270 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-15 14:44:37,270 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-15 14:44:37,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:37,275 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-15 14:44:37,275 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-15 14:44:37,276 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:37,276 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:37,276 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:44:37,276 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:44:37,276 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-15 14:44:37,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 181 states to 181 states and 220 transitions. [2022-04-15 14:44:37,281 INFO L78 Accepts]: Start accepts. Automaton has 181 states and 220 transitions. Word has length 66 [2022-04-15 14:44:37,281 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:44:37,281 INFO L478 AbstractCegarLoop]: Abstraction has 181 states and 220 transitions. [2022-04-15 14:44:37,282 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 14:44:37,282 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 181 states and 220 transitions. [2022-04-15 14:44:37,542 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-15 14:44:37,543 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 220 transitions. [2022-04-15 14:44:37,543 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-15 14:44:37,543 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:44:37,543 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:44:37,559 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-15 14:44:37,744 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-15 14:44:37,744 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:44:37,744 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:44:37,744 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 3 times [2022-04-15 14:44:37,744 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:37,744 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2057520543] [2022-04-15 14:44:37,745 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:44:37,745 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 4 times [2022-04-15 14:44:37,745 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:44:37,745 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1307889037] [2022-04-15 14:44:37,745 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:44:37,745 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:44:37,754 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:44:37,754 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1314214808] [2022-04-15 14:44:37,754 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:44:37,754 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:37,754 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:44:37,755 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-15 14:44:37,776 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-15 14:44:37,805 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:44:37,805 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:44:37,806 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-15 14:44:37,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:37,818 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:44:38,264 INFO L272 TraceCheckUtils]: 0: Hoare triple {11946#true} call ULTIMATE.init(); {11946#true} is VALID [2022-04-15 14:44:38,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {11946#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11946#true} is VALID [2022-04-15 14:44:38,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:44:38,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11946#true} {11946#true} #82#return; {11946#true} is VALID [2022-04-15 14:44:38,265 INFO L272 TraceCheckUtils]: 4: Hoare triple {11946#true} call #t~ret7 := main(); {11946#true} is VALID [2022-04-15 14:44:38,265 INFO L290 TraceCheckUtils]: 5: Hoare triple {11946#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11946#true} is VALID [2022-04-15 14:44:38,265 INFO L272 TraceCheckUtils]: 6: Hoare triple {11946#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:44:38,265 INFO L290 TraceCheckUtils]: 7: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-15 14:44:38,265 INFO L290 TraceCheckUtils]: 8: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-15 14:44:38,265 INFO L290 TraceCheckUtils]: 9: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:44:38,266 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11946#true} {11946#true} #64#return; {11946#true} is VALID [2022-04-15 14:44:38,266 INFO L272 TraceCheckUtils]: 11: Hoare triple {11946#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:44:38,266 INFO L290 TraceCheckUtils]: 12: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-15 14:44:38,266 INFO L290 TraceCheckUtils]: 13: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-15 14:44:38,266 INFO L290 TraceCheckUtils]: 14: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:44:38,266 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11946#true} {11946#true} #66#return; {11946#true} is VALID [2022-04-15 14:44:38,268 INFO L290 TraceCheckUtils]: 16: Hoare triple {11946#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:38,268 INFO L290 TraceCheckUtils]: 17: Hoare triple {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:38,269 INFO L290 TraceCheckUtils]: 18: Hoare triple {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:38,269 INFO L272 TraceCheckUtils]: 19: Hoare triple {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:44:38,269 INFO L290 TraceCheckUtils]: 20: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-15 14:44:38,269 INFO L290 TraceCheckUtils]: 21: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-15 14:44:38,269 INFO L290 TraceCheckUtils]: 22: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:44:38,269 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11946#true} {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:38,270 INFO L272 TraceCheckUtils]: 24: Hoare triple {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:44:38,270 INFO L290 TraceCheckUtils]: 25: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-15 14:44:38,270 INFO L290 TraceCheckUtils]: 26: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-15 14:44:38,270 INFO L290 TraceCheckUtils]: 27: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:44:38,270 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11946#true} {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:38,270 INFO L272 TraceCheckUtils]: 29: Hoare triple {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:44:38,271 INFO L290 TraceCheckUtils]: 30: Hoare triple {11946#true} ~cond := #in~cond; {12042#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:38,271 INFO L290 TraceCheckUtils]: 31: Hoare triple {12042#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:38,271 INFO L290 TraceCheckUtils]: 32: Hoare triple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:38,272 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} {11999#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {12053#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:38,272 INFO L290 TraceCheckUtils]: 34: Hoare triple {12053#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {12053#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:38,273 INFO L290 TraceCheckUtils]: 35: Hoare triple {12053#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:38,274 INFO L290 TraceCheckUtils]: 36: Hoare triple {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:38,274 INFO L290 TraceCheckUtils]: 37: Hoare triple {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:38,275 INFO L272 TraceCheckUtils]: 38: Hoare triple {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:44:38,275 INFO L290 TraceCheckUtils]: 39: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-15 14:44:38,275 INFO L290 TraceCheckUtils]: 40: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-15 14:44:38,275 INFO L290 TraceCheckUtils]: 41: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:44:38,275 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11946#true} {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #68#return; {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:38,275 INFO L272 TraceCheckUtils]: 43: Hoare triple {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:44:38,276 INFO L290 TraceCheckUtils]: 44: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-15 14:44:38,276 INFO L290 TraceCheckUtils]: 45: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-15 14:44:38,276 INFO L290 TraceCheckUtils]: 46: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:44:38,276 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11946#true} {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #70#return; {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:38,276 INFO L272 TraceCheckUtils]: 48: Hoare triple {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:44:38,277 INFO L290 TraceCheckUtils]: 49: Hoare triple {11946#true} ~cond := #in~cond; {12042#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:38,282 INFO L290 TraceCheckUtils]: 50: Hoare triple {12042#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:38,282 INFO L290 TraceCheckUtils]: 51: Hoare triple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:38,284 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #72#return; {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:38,284 INFO L290 TraceCheckUtils]: 53: Hoare triple {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:38,285 INFO L290 TraceCheckUtils]: 54: Hoare triple {12060#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~y~0 (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} is VALID [2022-04-15 14:44:38,286 INFO L290 TraceCheckUtils]: 55: Hoare triple {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} is VALID [2022-04-15 14:44:38,286 INFO L290 TraceCheckUtils]: 56: Hoare triple {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} is VALID [2022-04-15 14:44:38,286 INFO L272 TraceCheckUtils]: 57: Hoare triple {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:44:38,286 INFO L290 TraceCheckUtils]: 58: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-15 14:44:38,287 INFO L290 TraceCheckUtils]: 59: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-15 14:44:38,287 INFO L290 TraceCheckUtils]: 60: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:44:38,287 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11946#true} {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} #68#return; {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} is VALID [2022-04-15 14:44:38,290 INFO L272 TraceCheckUtils]: 62: Hoare triple {12118#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) (+ (* main_~x~0 (+ 2 (* (- 1) main_~p~0))) main_~y~0 (* (- 1) main_~x~0))) (= (- 1) main_~r~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12143#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:44:38,290 INFO L290 TraceCheckUtils]: 63: Hoare triple {12143#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12147#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:38,290 INFO L290 TraceCheckUtils]: 64: Hoare triple {12147#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11947#false} is VALID [2022-04-15 14:44:38,290 INFO L290 TraceCheckUtils]: 65: Hoare triple {11947#false} assume !false; {11947#false} is VALID [2022-04-15 14:44:38,291 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-15 14:44:38,291 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:45:23,464 INFO L290 TraceCheckUtils]: 65: Hoare triple {11947#false} assume !false; {11947#false} is VALID [2022-04-15 14:45:23,465 INFO L290 TraceCheckUtils]: 64: Hoare triple {12147#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11947#false} is VALID [2022-04-15 14:45:23,465 INFO L290 TraceCheckUtils]: 63: Hoare triple {12143#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12147#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:45:23,466 INFO L272 TraceCheckUtils]: 62: Hoare triple {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12143#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:45:23,467 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11946#true} {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:45:23,467 INFO L290 TraceCheckUtils]: 60: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:45:23,467 INFO L290 TraceCheckUtils]: 59: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-15 14:45:23,467 INFO L290 TraceCheckUtils]: 58: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-15 14:45:23,467 INFO L272 TraceCheckUtils]: 57: Hoare triple {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:45:23,468 INFO L290 TraceCheckUtils]: 56: Hoare triple {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:45:23,468 INFO L290 TraceCheckUtils]: 55: Hoare triple {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:45:23,893 INFO L290 TraceCheckUtils]: 54: Hoare triple {12188#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12163#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:45:23,894 INFO L290 TraceCheckUtils]: 53: Hoare triple {12188#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {12188#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:45:23,895 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} {12195#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #72#return; {12188#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:45:23,895 INFO L290 TraceCheckUtils]: 51: Hoare triple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:45:23,896 INFO L290 TraceCheckUtils]: 50: Hoare triple {12205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:45:23,896 INFO L290 TraceCheckUtils]: 49: Hoare triple {11946#true} ~cond := #in~cond; {12205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:45:23,896 INFO L272 TraceCheckUtils]: 48: Hoare triple {12195#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:45:23,897 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11946#true} {12195#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #70#return; {12195#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 14:45:23,897 INFO L290 TraceCheckUtils]: 46: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:45:23,897 INFO L290 TraceCheckUtils]: 45: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-15 14:45:23,897 INFO L290 TraceCheckUtils]: 44: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-15 14:45:23,897 INFO L272 TraceCheckUtils]: 43: Hoare triple {12195#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:45:23,898 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11946#true} {12195#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #68#return; {12195#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 14:45:23,898 INFO L290 TraceCheckUtils]: 41: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:45:23,898 INFO L290 TraceCheckUtils]: 40: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-15 14:45:23,898 INFO L290 TraceCheckUtils]: 39: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-15 14:45:23,898 INFO L272 TraceCheckUtils]: 38: Hoare triple {12195#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:45:23,898 INFO L290 TraceCheckUtils]: 37: Hoare triple {12195#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(#t~post6 < 5);havoc #t~post6; {12195#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 14:45:23,899 INFO L290 TraceCheckUtils]: 36: Hoare triple {12195#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12195#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 14:45:24,181 INFO L290 TraceCheckUtils]: 35: Hoare triple {12248#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {12195#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 14:45:24,182 INFO L290 TraceCheckUtils]: 34: Hoare triple {12248#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} assume !!(~a~0 != ~b~0); {12248#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} is VALID [2022-04-15 14:45:24,183 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} {11946#true} #72#return; {12248#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} is VALID [2022-04-15 14:45:24,184 INFO L290 TraceCheckUtils]: 32: Hoare triple {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:45:24,184 INFO L290 TraceCheckUtils]: 31: Hoare triple {12205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12046#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:45:24,184 INFO L290 TraceCheckUtils]: 30: Hoare triple {11946#true} ~cond := #in~cond; {12205#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:45:24,184 INFO L272 TraceCheckUtils]: 29: Hoare triple {11946#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:45:24,185 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11946#true} {11946#true} #70#return; {11946#true} is VALID [2022-04-15 14:45:24,185 INFO L290 TraceCheckUtils]: 27: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:45:24,185 INFO L290 TraceCheckUtils]: 26: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-15 14:45:24,185 INFO L290 TraceCheckUtils]: 25: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-15 14:45:24,185 INFO L272 TraceCheckUtils]: 24: Hoare triple {11946#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:45:24,185 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11946#true} {11946#true} #68#return; {11946#true} is VALID [2022-04-15 14:45:24,185 INFO L290 TraceCheckUtils]: 22: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:45:24,185 INFO L290 TraceCheckUtils]: 21: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-15 14:45:24,185 INFO L290 TraceCheckUtils]: 20: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-15 14:45:24,185 INFO L272 TraceCheckUtils]: 19: Hoare triple {11946#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:45:24,185 INFO L290 TraceCheckUtils]: 18: Hoare triple {11946#true} assume !!(#t~post6 < 5);havoc #t~post6; {11946#true} is VALID [2022-04-15 14:45:24,185 INFO L290 TraceCheckUtils]: 17: Hoare triple {11946#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11946#true} is VALID [2022-04-15 14:45:24,185 INFO L290 TraceCheckUtils]: 16: Hoare triple {11946#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11946#true} is VALID [2022-04-15 14:45:24,186 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11946#true} {11946#true} #66#return; {11946#true} is VALID [2022-04-15 14:45:24,186 INFO L290 TraceCheckUtils]: 14: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:45:24,186 INFO L290 TraceCheckUtils]: 13: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-15 14:45:24,186 INFO L290 TraceCheckUtils]: 12: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-15 14:45:24,186 INFO L272 TraceCheckUtils]: 11: Hoare triple {11946#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:45:24,186 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11946#true} {11946#true} #64#return; {11946#true} is VALID [2022-04-15 14:45:24,186 INFO L290 TraceCheckUtils]: 9: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:45:24,186 INFO L290 TraceCheckUtils]: 8: Hoare triple {11946#true} assume !(0 == ~cond); {11946#true} is VALID [2022-04-15 14:45:24,186 INFO L290 TraceCheckUtils]: 7: Hoare triple {11946#true} ~cond := #in~cond; {11946#true} is VALID [2022-04-15 14:45:24,186 INFO L272 TraceCheckUtils]: 6: Hoare triple {11946#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11946#true} is VALID [2022-04-15 14:45:24,186 INFO L290 TraceCheckUtils]: 5: Hoare triple {11946#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11946#true} is VALID [2022-04-15 14:45:24,186 INFO L272 TraceCheckUtils]: 4: Hoare triple {11946#true} call #t~ret7 := main(); {11946#true} is VALID [2022-04-15 14:45:24,186 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11946#true} {11946#true} #82#return; {11946#true} is VALID [2022-04-15 14:45:24,187 INFO L290 TraceCheckUtils]: 2: Hoare triple {11946#true} assume true; {11946#true} is VALID [2022-04-15 14:45:24,187 INFO L290 TraceCheckUtils]: 1: Hoare triple {11946#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11946#true} is VALID [2022-04-15 14:45:24,187 INFO L272 TraceCheckUtils]: 0: Hoare triple {11946#true} call ULTIMATE.init(); {11946#true} is VALID [2022-04-15 14:45:24,187 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-15 14:45:24,187 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:45:24,187 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1307889037] [2022-04-15 14:45:24,188 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:45:24,188 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1314214808] [2022-04-15 14:45:24,188 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1314214808] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:45:24,188 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:45:24,188 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-15 14:45:24,188 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:45:24,188 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2057520543] [2022-04-15 14:45:24,188 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2057520543] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:45:24,188 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:45:24,188 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 14:45:24,189 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2106295401] [2022-04-15 14:45:24,189 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:45:24,189 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-15 14:45:24,189 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:45:24,189 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 14:45:24,236 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-15 14:45:24,236 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 14:45:24,236 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:24,237 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 14:45:24,237 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=161, Unknown=0, NotChecked=0, Total=210 [2022-04-15 14:45:24,237 INFO L87 Difference]: Start difference. First operand 181 states and 220 transitions. Second operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 14:45:25,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:25,318 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-15 14:45:25,318 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 14:45:25,318 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-15 14:45:25,319 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:45:25,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 14:45:25,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-15 14:45:25,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 14:45:25,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-15 14:45:25,322 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-15 14:45:25,407 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-15 14:45:25,412 INFO L225 Difference]: With dead ends: 208 [2022-04-15 14:45:25,412 INFO L226 Difference]: Without dead ends: 206 [2022-04-15 14:45:25,412 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 116 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2022-04-15 14:45:25,413 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 18 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 347 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 199 SdHoareTripleChecker+Invalid, 356 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 347 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 14:45:25,413 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [25 Valid, 199 Invalid, 356 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 347 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 14:45:25,413 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-15 14:45:25,568 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 190. [2022-04-15 14:45:25,569 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:45:25,569 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-15 14:45:25,571 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-15 14:45:25,572 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-15 14:45:25,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:25,577 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-15 14:45:25,577 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-15 14:45:25,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:25,578 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:25,578 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-15 14:45:25,578 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-15 14:45:25,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:25,584 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-15 14:45:25,584 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-15 14:45:25,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:25,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:25,585 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:45:25,585 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:45:25,585 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-15 14:45:25,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 232 transitions. [2022-04-15 14:45:25,591 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 232 transitions. Word has length 66 [2022-04-15 14:45:25,593 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:45:25,593 INFO L478 AbstractCegarLoop]: Abstraction has 190 states and 232 transitions. [2022-04-15 14:45:25,593 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 14:45:25,593 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 190 states and 232 transitions. [2022-04-15 14:45:25,871 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-15 14:45:25,871 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 232 transitions. [2022-04-15 14:45:25,872 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-15 14:45:25,872 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:45:25,872 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:45:25,895 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-15 14:45:26,094 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-15 14:45:26,095 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:45:26,095 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:45:26,095 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 5 times [2022-04-15 14:45:26,095 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:26,095 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [32047024] [2022-04-15 14:45:26,096 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:45:26,096 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 6 times [2022-04-15 14:45:26,096 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:45:26,096 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [801199346] [2022-04-15 14:45:26,096 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:45:26,096 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:45:26,107 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:45:26,108 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1625447636] [2022-04-15 14:45:26,108 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 14:45:26,108 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:45:26,108 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:45:26,110 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-15 14:45:26,110 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-15 14:45:26,163 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 14:45:26,163 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:45:26,164 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-15 14:45:26,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:45:26,183 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:45:26,546 INFO L272 TraceCheckUtils]: 0: Hoare triple {13568#true} call ULTIMATE.init(); {13568#true} is VALID [2022-04-15 14:45:26,546 INFO L290 TraceCheckUtils]: 1: Hoare triple {13568#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13568#true} is VALID [2022-04-15 14:45:26,546 INFO L290 TraceCheckUtils]: 2: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:26,546 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13568#true} {13568#true} #82#return; {13568#true} is VALID [2022-04-15 14:45:26,546 INFO L272 TraceCheckUtils]: 4: Hoare triple {13568#true} call #t~ret7 := main(); {13568#true} is VALID [2022-04-15 14:45:26,546 INFO L290 TraceCheckUtils]: 5: Hoare triple {13568#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13568#true} is VALID [2022-04-15 14:45:26,547 INFO L272 TraceCheckUtils]: 6: Hoare triple {13568#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:26,547 INFO L290 TraceCheckUtils]: 7: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:26,547 INFO L290 TraceCheckUtils]: 8: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:26,547 INFO L290 TraceCheckUtils]: 9: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:26,547 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13568#true} {13568#true} #64#return; {13568#true} is VALID [2022-04-15 14:45:26,547 INFO L272 TraceCheckUtils]: 11: Hoare triple {13568#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:26,547 INFO L290 TraceCheckUtils]: 12: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:26,547 INFO L290 TraceCheckUtils]: 13: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:26,547 INFO L290 TraceCheckUtils]: 14: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:26,547 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13568#true} {13568#true} #66#return; {13568#true} is VALID [2022-04-15 14:45:26,548 INFO L290 TraceCheckUtils]: 16: Hoare triple {13568#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:45:26,548 INFO L290 TraceCheckUtils]: 17: Hoare triple {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:45:26,548 INFO L290 TraceCheckUtils]: 18: Hoare triple {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:45:26,548 INFO L272 TraceCheckUtils]: 19: Hoare triple {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:26,549 INFO L290 TraceCheckUtils]: 20: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:26,549 INFO L290 TraceCheckUtils]: 21: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:26,549 INFO L290 TraceCheckUtils]: 22: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:26,549 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13568#true} {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:45:26,549 INFO L272 TraceCheckUtils]: 24: Hoare triple {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:26,549 INFO L290 TraceCheckUtils]: 25: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:26,549 INFO L290 TraceCheckUtils]: 26: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:26,549 INFO L290 TraceCheckUtils]: 27: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:26,550 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13568#true} {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:45:26,550 INFO L272 TraceCheckUtils]: 29: Hoare triple {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:26,550 INFO L290 TraceCheckUtils]: 30: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:26,550 INFO L290 TraceCheckUtils]: 31: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:26,550 INFO L290 TraceCheckUtils]: 32: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:26,551 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13568#true} {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:45:26,551 INFO L290 TraceCheckUtils]: 34: Hoare triple {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:45:26,552 INFO L290 TraceCheckUtils]: 35: Hoare triple {13621#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:45:26,552 INFO L290 TraceCheckUtils]: 36: Hoare triple {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:45:26,552 INFO L290 TraceCheckUtils]: 37: Hoare triple {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:45:26,553 INFO L272 TraceCheckUtils]: 38: Hoare triple {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:26,553 INFO L290 TraceCheckUtils]: 39: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:26,553 INFO L290 TraceCheckUtils]: 40: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:26,553 INFO L290 TraceCheckUtils]: 41: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:26,553 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13568#true} {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:45:26,553 INFO L272 TraceCheckUtils]: 43: Hoare triple {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:26,554 INFO L290 TraceCheckUtils]: 44: Hoare triple {13568#true} ~cond := #in~cond; {13707#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:45:26,554 INFO L290 TraceCheckUtils]: 45: Hoare triple {13707#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:45:26,554 INFO L290 TraceCheckUtils]: 46: Hoare triple {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:45:26,555 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} {13679#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13718#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:45:26,555 INFO L272 TraceCheckUtils]: 48: Hoare triple {13718#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:26,555 INFO L290 TraceCheckUtils]: 49: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:26,555 INFO L290 TraceCheckUtils]: 50: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:26,555 INFO L290 TraceCheckUtils]: 51: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:26,556 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13568#true} {13718#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {13718#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:45:26,556 INFO L290 TraceCheckUtils]: 53: Hoare triple {13718#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13718#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:45:26,559 INFO L290 TraceCheckUtils]: 54: Hoare triple {13718#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-15 14:45:26,559 INFO L290 TraceCheckUtils]: 55: Hoare triple {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-15 14:45:26,559 INFO L290 TraceCheckUtils]: 56: Hoare triple {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} assume !!(#t~post6 < 5);havoc #t~post6; {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-15 14:45:26,560 INFO L272 TraceCheckUtils]: 57: Hoare triple {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:26,560 INFO L290 TraceCheckUtils]: 58: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:26,560 INFO L290 TraceCheckUtils]: 59: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:26,560 INFO L290 TraceCheckUtils]: 60: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:26,560 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13568#true} {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #68#return; {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-15 14:45:26,560 INFO L272 TraceCheckUtils]: 62: Hoare triple {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:26,560 INFO L290 TraceCheckUtils]: 63: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:26,561 INFO L290 TraceCheckUtils]: 64: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:26,561 INFO L290 TraceCheckUtils]: 65: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:26,561 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13568#true} {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #70#return; {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-15 14:45:26,562 INFO L272 TraceCheckUtils]: 67: Hoare triple {13740#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13780#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:45:26,562 INFO L290 TraceCheckUtils]: 68: Hoare triple {13780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:45:26,562 INFO L290 TraceCheckUtils]: 69: Hoare triple {13784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13569#false} is VALID [2022-04-15 14:45:26,563 INFO L290 TraceCheckUtils]: 70: Hoare triple {13569#false} assume !false; {13569#false} is VALID [2022-04-15 14:45:26,563 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-15 14:45:26,563 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:45:39,626 INFO L290 TraceCheckUtils]: 70: Hoare triple {13569#false} assume !false; {13569#false} is VALID [2022-04-15 14:45:39,627 INFO L290 TraceCheckUtils]: 69: Hoare triple {13784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13569#false} is VALID [2022-04-15 14:45:39,627 INFO L290 TraceCheckUtils]: 68: Hoare triple {13780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:45:39,628 INFO L272 TraceCheckUtils]: 67: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13780#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:45:39,628 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13568#true} {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:45:39,628 INFO L290 TraceCheckUtils]: 65: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:39,629 INFO L290 TraceCheckUtils]: 64: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:39,629 INFO L290 TraceCheckUtils]: 63: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:39,629 INFO L272 TraceCheckUtils]: 62: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:39,629 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13568#true} {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:45:39,629 INFO L290 TraceCheckUtils]: 60: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:39,629 INFO L290 TraceCheckUtils]: 59: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:39,630 INFO L290 TraceCheckUtils]: 58: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:39,630 INFO L272 TraceCheckUtils]: 57: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:39,630 INFO L290 TraceCheckUtils]: 56: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:45:39,630 INFO L290 TraceCheckUtils]: 55: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:45:41,232 INFO L290 TraceCheckUtils]: 54: Hoare triple {13840#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:45:41,233 INFO L290 TraceCheckUtils]: 53: Hoare triple {13840#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {13840#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 14:45:41,233 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13568#true} {13840#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #72#return; {13840#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 14:45:41,233 INFO L290 TraceCheckUtils]: 51: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:41,233 INFO L290 TraceCheckUtils]: 50: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:41,234 INFO L290 TraceCheckUtils]: 49: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:41,234 INFO L272 TraceCheckUtils]: 48: Hoare triple {13840#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:41,234 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #70#return; {13840#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 14:45:41,235 INFO L290 TraceCheckUtils]: 46: Hoare triple {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:45:41,235 INFO L290 TraceCheckUtils]: 45: Hoare triple {13872#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13711#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:45:41,235 INFO L290 TraceCheckUtils]: 44: Hoare triple {13568#true} ~cond := #in~cond; {13872#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:45:41,235 INFO L272 TraceCheckUtils]: 43: Hoare triple {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:41,236 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13568#true} {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #68#return; {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:45:41,236 INFO L290 TraceCheckUtils]: 41: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:41,236 INFO L290 TraceCheckUtils]: 40: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:41,236 INFO L290 TraceCheckUtils]: 39: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:41,236 INFO L272 TraceCheckUtils]: 38: Hoare triple {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:41,237 INFO L290 TraceCheckUtils]: 37: Hoare triple {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:45:41,237 INFO L290 TraceCheckUtils]: 36: Hoare triple {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:45:41,238 INFO L290 TraceCheckUtils]: 35: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13862#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:45:41,239 INFO L290 TraceCheckUtils]: 34: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~a~0 != ~b~0); {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:45:41,239 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13568#true} {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #72#return; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:45:41,239 INFO L290 TraceCheckUtils]: 32: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:41,239 INFO L290 TraceCheckUtils]: 31: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:41,239 INFO L290 TraceCheckUtils]: 30: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:41,239 INFO L272 TraceCheckUtils]: 29: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:41,240 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13568#true} {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:45:41,240 INFO L290 TraceCheckUtils]: 27: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:41,240 INFO L290 TraceCheckUtils]: 26: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:41,240 INFO L290 TraceCheckUtils]: 25: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:41,240 INFO L272 TraceCheckUtils]: 24: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:41,241 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13568#true} {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:45:41,241 INFO L290 TraceCheckUtils]: 22: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:41,241 INFO L290 TraceCheckUtils]: 21: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:41,241 INFO L290 TraceCheckUtils]: 20: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:41,241 INFO L272 TraceCheckUtils]: 19: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:41,241 INFO L290 TraceCheckUtils]: 18: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:45:41,242 INFO L290 TraceCheckUtils]: 17: Hoare triple {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:45:41,242 INFO L290 TraceCheckUtils]: 16: Hoare triple {13568#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:45:41,242 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13568#true} {13568#true} #66#return; {13568#true} is VALID [2022-04-15 14:45:41,242 INFO L290 TraceCheckUtils]: 14: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:41,242 INFO L290 TraceCheckUtils]: 13: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:41,242 INFO L290 TraceCheckUtils]: 12: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:41,243 INFO L272 TraceCheckUtils]: 11: Hoare triple {13568#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:41,243 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13568#true} {13568#true} #64#return; {13568#true} is VALID [2022-04-15 14:45:41,243 INFO L290 TraceCheckUtils]: 9: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:41,243 INFO L290 TraceCheckUtils]: 8: Hoare triple {13568#true} assume !(0 == ~cond); {13568#true} is VALID [2022-04-15 14:45:41,243 INFO L290 TraceCheckUtils]: 7: Hoare triple {13568#true} ~cond := #in~cond; {13568#true} is VALID [2022-04-15 14:45:41,243 INFO L272 TraceCheckUtils]: 6: Hoare triple {13568#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13568#true} is VALID [2022-04-15 14:45:41,243 INFO L290 TraceCheckUtils]: 5: Hoare triple {13568#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13568#true} is VALID [2022-04-15 14:45:41,243 INFO L272 TraceCheckUtils]: 4: Hoare triple {13568#true} call #t~ret7 := main(); {13568#true} is VALID [2022-04-15 14:45:41,243 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13568#true} {13568#true} #82#return; {13568#true} is VALID [2022-04-15 14:45:41,243 INFO L290 TraceCheckUtils]: 2: Hoare triple {13568#true} assume true; {13568#true} is VALID [2022-04-15 14:45:41,243 INFO L290 TraceCheckUtils]: 1: Hoare triple {13568#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13568#true} is VALID [2022-04-15 14:45:41,243 INFO L272 TraceCheckUtils]: 0: Hoare triple {13568#true} call ULTIMATE.init(); {13568#true} is VALID [2022-04-15 14:45:41,244 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-15 14:45:41,244 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:45:41,244 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [801199346] [2022-04-15 14:45:41,244 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:45:41,244 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1625447636] [2022-04-15 14:45:41,244 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1625447636] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:45:41,244 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:45:41,244 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-15 14:45:41,245 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:45:41,245 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [32047024] [2022-04-15 14:45:41,245 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [32047024] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:45:41,245 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:45:41,245 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 14:45:41,245 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1148331100] [2022-04-15 14:45:41,245 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:45:41,245 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-15 14:45:41,246 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:45:41,246 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-15 14:45:41,297 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-15 14:45:41,298 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 14:45:41,298 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:41,298 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 14:45:41,298 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-15 14:45:41,298 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-15 14:45:42,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:42,424 INFO L93 Difference]: Finished difference Result 214 states and 271 transitions. [2022-04-15 14:45:42,424 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 14:45:42,424 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-15 14:45:42,424 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:45:42,424 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-15 14:45:42,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-15 14:45:42,426 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-15 14:45:42,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-15 14:45:42,427 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 86 transitions. [2022-04-15 14:45:42,512 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-15 14:45:42,517 INFO L225 Difference]: With dead ends: 214 [2022-04-15 14:45:42,517 INFO L226 Difference]: Without dead ends: 208 [2022-04-15 14:45:42,517 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 127 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-15 14:45:42,518 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 372 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 215 SdHoareTripleChecker+Invalid, 377 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 372 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 14:45:42,518 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 215 Invalid, 377 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 372 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 14:45:42,519 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-15 14:45:42,682 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 192. [2022-04-15 14:45:42,683 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:45:42,683 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-15 14:45:42,683 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-15 14:45:42,684 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-15 14:45:42,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:42,689 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-15 14:45:42,689 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-15 14:45:42,690 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:42,690 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:42,690 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-15 14:45:42,690 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-15 14:45:42,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:42,696 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-15 14:45:42,696 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-15 14:45:42,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:42,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:42,697 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:45:42,697 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:45:42,697 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-15 14:45:42,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 236 transitions. [2022-04-15 14:45:42,702 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 236 transitions. Word has length 71 [2022-04-15 14:45:42,703 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:45:42,703 INFO L478 AbstractCegarLoop]: Abstraction has 192 states and 236 transitions. [2022-04-15 14:45:42,703 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-15 14:45:42,703 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 192 states and 236 transitions. [2022-04-15 14:45:43,090 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-15 14:45:43,091 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 236 transitions. [2022-04-15 14:45:43,091 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-15 14:45:43,091 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:45:43,092 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:45:43,116 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-15 14:45:43,292 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:45:43,292 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:45:43,293 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:45:43,293 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 3 times [2022-04-15 14:45:43,293 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:43,293 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [273600870] [2022-04-15 14:45:43,293 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:45:43,294 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 4 times [2022-04-15 14:45:43,294 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:45:43,294 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [651221891] [2022-04-15 14:45:43,294 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:45:43,294 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:45:43,303 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:45:43,303 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [591023445] [2022-04-15 14:45:43,303 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:45:43,303 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:45:43,304 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:45:43,304 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-15 14:45:43,307 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-15 14:45:43,351 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:45:43,351 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:45:43,352 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-15 14:45:43,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:45:43,364 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:45:43,828 INFO L272 TraceCheckUtils]: 0: Hoare triple {15239#true} call ULTIMATE.init(); {15239#true} is VALID [2022-04-15 14:45:43,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {15239#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15239#true} is VALID [2022-04-15 14:45:43,828 INFO L290 TraceCheckUtils]: 2: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:45:43,828 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15239#true} {15239#true} #82#return; {15239#true} is VALID [2022-04-15 14:45:43,828 INFO L272 TraceCheckUtils]: 4: Hoare triple {15239#true} call #t~ret7 := main(); {15239#true} is VALID [2022-04-15 14:45:43,829 INFO L290 TraceCheckUtils]: 5: Hoare triple {15239#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15239#true} is VALID [2022-04-15 14:45:43,829 INFO L272 TraceCheckUtils]: 6: Hoare triple {15239#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:45:43,829 INFO L290 TraceCheckUtils]: 7: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:45:43,829 INFO L290 TraceCheckUtils]: 8: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:45:43,829 INFO L290 TraceCheckUtils]: 9: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:45:43,829 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15239#true} {15239#true} #64#return; {15239#true} is VALID [2022-04-15 14:45:43,829 INFO L272 TraceCheckUtils]: 11: Hoare triple {15239#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:45:43,829 INFO L290 TraceCheckUtils]: 12: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:45:43,829 INFO L290 TraceCheckUtils]: 13: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:45:43,829 INFO L290 TraceCheckUtils]: 14: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:45:43,829 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15239#true} {15239#true} #66#return; {15239#true} is VALID [2022-04-15 14:45:43,830 INFO L290 TraceCheckUtils]: 16: Hoare triple {15239#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:45:43,830 INFO L290 TraceCheckUtils]: 17: Hoare triple {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:45:43,830 INFO L290 TraceCheckUtils]: 18: Hoare triple {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:45:43,830 INFO L272 TraceCheckUtils]: 19: Hoare triple {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:45:43,831 INFO L290 TraceCheckUtils]: 20: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:45:43,831 INFO L290 TraceCheckUtils]: 21: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:45:43,831 INFO L290 TraceCheckUtils]: 22: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:45:43,831 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15239#true} {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:45:43,831 INFO L272 TraceCheckUtils]: 24: Hoare triple {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:45:43,832 INFO L290 TraceCheckUtils]: 25: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:45:43,832 INFO L290 TraceCheckUtils]: 26: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:45:43,832 INFO L290 TraceCheckUtils]: 27: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:45:43,832 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15239#true} {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:45:43,833 INFO L272 TraceCheckUtils]: 29: Hoare triple {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:45:43,833 INFO L290 TraceCheckUtils]: 30: Hoare triple {15239#true} ~cond := #in~cond; {15335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:45:43,833 INFO L290 TraceCheckUtils]: 31: Hoare triple {15335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:45:43,834 INFO L290 TraceCheckUtils]: 32: Hoare triple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:45:43,835 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:45:43,835 INFO L290 TraceCheckUtils]: 34: Hoare triple {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:45:43,836 INFO L290 TraceCheckUtils]: 35: Hoare triple {15292#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:45:43,836 INFO L290 TraceCheckUtils]: 36: Hoare triple {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:45:43,837 INFO L290 TraceCheckUtils]: 37: Hoare triple {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:45:43,837 INFO L272 TraceCheckUtils]: 38: Hoare triple {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:45:43,837 INFO L290 TraceCheckUtils]: 39: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:45:43,837 INFO L290 TraceCheckUtils]: 40: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:45:43,837 INFO L290 TraceCheckUtils]: 41: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:45:43,838 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15239#true} {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #68#return; {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:45:43,838 INFO L272 TraceCheckUtils]: 43: Hoare triple {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:45:43,838 INFO L290 TraceCheckUtils]: 44: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:45:43,838 INFO L290 TraceCheckUtils]: 45: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:45:43,838 INFO L290 TraceCheckUtils]: 46: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:45:43,839 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15239#true} {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #70#return; {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:45:43,839 INFO L272 TraceCheckUtils]: 48: Hoare triple {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:45:43,840 INFO L290 TraceCheckUtils]: 49: Hoare triple {15239#true} ~cond := #in~cond; {15335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:45:43,840 INFO L290 TraceCheckUtils]: 50: Hoare triple {15335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:45:43,840 INFO L290 TraceCheckUtils]: 51: Hoare triple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:45:43,841 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #72#return; {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:45:43,842 INFO L290 TraceCheckUtils]: 53: Hoare triple {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:45:43,843 INFO L290 TraceCheckUtils]: 54: Hoare triple {15352#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-15 14:45:43,843 INFO L290 TraceCheckUtils]: 55: Hoare triple {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-15 14:45:43,844 INFO L290 TraceCheckUtils]: 56: Hoare triple {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} assume !!(#t~post6 < 5);havoc #t~post6; {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-15 14:45:43,844 INFO L272 TraceCheckUtils]: 57: Hoare triple {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:45:43,844 INFO L290 TraceCheckUtils]: 58: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:45:43,844 INFO L290 TraceCheckUtils]: 59: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:45:43,844 INFO L290 TraceCheckUtils]: 60: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:45:43,845 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15239#true} {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #68#return; {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-15 14:45:43,845 INFO L272 TraceCheckUtils]: 62: Hoare triple {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:45:43,845 INFO L290 TraceCheckUtils]: 63: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:45:43,845 INFO L290 TraceCheckUtils]: 64: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:45:43,845 INFO L290 TraceCheckUtils]: 65: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:45:43,846 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15239#true} {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #70#return; {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-15 14:45:43,847 INFO L272 TraceCheckUtils]: 67: Hoare triple {15410#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:45:43,847 INFO L290 TraceCheckUtils]: 68: Hoare triple {15450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:45:43,848 INFO L290 TraceCheckUtils]: 69: Hoare triple {15454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15240#false} is VALID [2022-04-15 14:45:43,848 INFO L290 TraceCheckUtils]: 70: Hoare triple {15240#false} assume !false; {15240#false} is VALID [2022-04-15 14:45:43,848 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 32 proven. 37 refuted. 0 times theorem prover too weak. 80 trivial. 0 not checked. [2022-04-15 14:45:43,848 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:46:08,663 INFO L290 TraceCheckUtils]: 70: Hoare triple {15240#false} assume !false; {15240#false} is VALID [2022-04-15 14:46:08,663 INFO L290 TraceCheckUtils]: 69: Hoare triple {15454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15240#false} is VALID [2022-04-15 14:46:08,664 INFO L290 TraceCheckUtils]: 68: Hoare triple {15450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:46:08,664 INFO L272 TraceCheckUtils]: 67: Hoare triple {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:46:08,665 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15239#true} {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:46:08,665 INFO L290 TraceCheckUtils]: 65: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:46:08,665 INFO L290 TraceCheckUtils]: 64: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:46:08,665 INFO L290 TraceCheckUtils]: 63: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:46:08,665 INFO L272 TraceCheckUtils]: 62: Hoare triple {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:46:08,666 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15239#true} {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:46:08,666 INFO L290 TraceCheckUtils]: 60: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:46:08,666 INFO L290 TraceCheckUtils]: 59: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:46:08,666 INFO L290 TraceCheckUtils]: 58: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:46:08,666 INFO L272 TraceCheckUtils]: 57: Hoare triple {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:46:08,667 INFO L290 TraceCheckUtils]: 56: Hoare triple {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:46:08,667 INFO L290 TraceCheckUtils]: 55: Hoare triple {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:46:09,060 INFO L290 TraceCheckUtils]: 54: Hoare triple {15510#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15470#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:46:09,061 INFO L290 TraceCheckUtils]: 53: Hoare triple {15510#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {15510#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 14:46:09,062 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #72#return; {15510#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 14:46:09,062 INFO L290 TraceCheckUtils]: 51: Hoare triple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:09,062 INFO L290 TraceCheckUtils]: 50: Hoare triple {15527#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:09,063 INFO L290 TraceCheckUtils]: 49: Hoare triple {15239#true} ~cond := #in~cond; {15527#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:46:09,063 INFO L272 TraceCheckUtils]: 48: Hoare triple {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:46:09,064 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15239#true} {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #70#return; {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:46:09,064 INFO L290 TraceCheckUtils]: 46: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:46:09,064 INFO L290 TraceCheckUtils]: 45: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:46:09,064 INFO L290 TraceCheckUtils]: 44: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:46:09,064 INFO L272 TraceCheckUtils]: 43: Hoare triple {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:46:09,065 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15239#true} {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #68#return; {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:46:09,065 INFO L290 TraceCheckUtils]: 41: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:46:09,065 INFO L290 TraceCheckUtils]: 40: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:46:09,065 INFO L290 TraceCheckUtils]: 39: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:46:09,065 INFO L272 TraceCheckUtils]: 38: Hoare triple {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:46:09,066 INFO L290 TraceCheckUtils]: 37: Hoare triple {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:46:09,067 INFO L290 TraceCheckUtils]: 36: Hoare triple {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:46:09,133 INFO L290 TraceCheckUtils]: 35: Hoare triple {15570#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15517#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:46:09,134 INFO L290 TraceCheckUtils]: 34: Hoare triple {15570#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} assume !!(~a~0 != ~b~0); {15570#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-15 14:46:09,135 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} {15239#true} #72#return; {15570#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-15 14:46:09,136 INFO L290 TraceCheckUtils]: 32: Hoare triple {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:09,136 INFO L290 TraceCheckUtils]: 31: Hoare triple {15527#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:09,136 INFO L290 TraceCheckUtils]: 30: Hoare triple {15239#true} ~cond := #in~cond; {15527#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:46:09,136 INFO L272 TraceCheckUtils]: 29: Hoare triple {15239#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:46:09,137 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15239#true} {15239#true} #70#return; {15239#true} is VALID [2022-04-15 14:46:09,137 INFO L290 TraceCheckUtils]: 27: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:46:09,137 INFO L290 TraceCheckUtils]: 26: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:46:09,137 INFO L290 TraceCheckUtils]: 25: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:46:09,137 INFO L272 TraceCheckUtils]: 24: Hoare triple {15239#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:46:09,137 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15239#true} {15239#true} #68#return; {15239#true} is VALID [2022-04-15 14:46:09,137 INFO L290 TraceCheckUtils]: 22: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:46:09,137 INFO L290 TraceCheckUtils]: 21: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:46:09,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:46:09,137 INFO L272 TraceCheckUtils]: 19: Hoare triple {15239#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:46:09,137 INFO L290 TraceCheckUtils]: 18: Hoare triple {15239#true} assume !!(#t~post6 < 5);havoc #t~post6; {15239#true} is VALID [2022-04-15 14:46:09,138 INFO L290 TraceCheckUtils]: 17: Hoare triple {15239#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15239#true} is VALID [2022-04-15 14:46:09,138 INFO L290 TraceCheckUtils]: 16: Hoare triple {15239#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15239#true} is VALID [2022-04-15 14:46:09,138 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15239#true} {15239#true} #66#return; {15239#true} is VALID [2022-04-15 14:46:09,138 INFO L290 TraceCheckUtils]: 14: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:46:09,138 INFO L290 TraceCheckUtils]: 13: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:46:09,138 INFO L290 TraceCheckUtils]: 12: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:46:09,138 INFO L272 TraceCheckUtils]: 11: Hoare triple {15239#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:46:09,138 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15239#true} {15239#true} #64#return; {15239#true} is VALID [2022-04-15 14:46:09,138 INFO L290 TraceCheckUtils]: 9: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:46:09,138 INFO L290 TraceCheckUtils]: 8: Hoare triple {15239#true} assume !(0 == ~cond); {15239#true} is VALID [2022-04-15 14:46:09,138 INFO L290 TraceCheckUtils]: 7: Hoare triple {15239#true} ~cond := #in~cond; {15239#true} is VALID [2022-04-15 14:46:09,138 INFO L272 TraceCheckUtils]: 6: Hoare triple {15239#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15239#true} is VALID [2022-04-15 14:46:09,139 INFO L290 TraceCheckUtils]: 5: Hoare triple {15239#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15239#true} is VALID [2022-04-15 14:46:09,139 INFO L272 TraceCheckUtils]: 4: Hoare triple {15239#true} call #t~ret7 := main(); {15239#true} is VALID [2022-04-15 14:46:09,139 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15239#true} {15239#true} #82#return; {15239#true} is VALID [2022-04-15 14:46:09,139 INFO L290 TraceCheckUtils]: 2: Hoare triple {15239#true} assume true; {15239#true} is VALID [2022-04-15 14:46:09,139 INFO L290 TraceCheckUtils]: 1: Hoare triple {15239#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15239#true} is VALID [2022-04-15 14:46:09,139 INFO L272 TraceCheckUtils]: 0: Hoare triple {15239#true} call ULTIMATE.init(); {15239#true} is VALID [2022-04-15 14:46:09,139 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 42 proven. 27 refuted. 0 times theorem prover too weak. 80 trivial. 0 not checked. [2022-04-15 14:46:09,140 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:46:09,140 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [651221891] [2022-04-15 14:46:09,140 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:46:09,140 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [591023445] [2022-04-15 14:46:09,140 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [591023445] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:46:09,140 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:46:09,140 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-15 14:46:09,140 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:46:09,140 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [273600870] [2022-04-15 14:46:09,140 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [273600870] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:46:09,141 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:46:09,141 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 14:46:09,141 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [536612741] [2022-04-15 14:46:09,141 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:46:09,141 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-15 14:46:09,141 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:46:09,142 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-15 14:46:09,238 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-15 14:46:09,239 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 14:46:09,239 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:46:09,239 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 14:46:09,239 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-15 14:46:09,239 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-15 14:46:10,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:10,235 INFO L93 Difference]: Finished difference Result 219 states and 281 transitions. [2022-04-15 14:46:10,235 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 14:46:10,235 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-15 14:46:10,236 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:46:10,236 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-15 14:46:10,237 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-15 14:46:10,237 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-15 14:46:10,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-15 14:46:10,238 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-15 14:46:10,350 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-15 14:46:10,355 INFO L225 Difference]: With dead ends: 219 [2022-04-15 14:46:10,355 INFO L226 Difference]: Without dead ends: 210 [2022-04-15 14:46:10,356 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 127 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-15 14:46:10,356 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 16 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 283 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 162 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 283 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 14:46:10,356 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 162 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 283 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 14:46:10,357 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-15 14:46:10,524 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 208. [2022-04-15 14:46:10,524 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:46:10,524 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-15 14:46:10,525 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-15 14:46:10,525 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-15 14:46:10,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:10,530 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-15 14:46:10,530 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-15 14:46:10,531 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:46:10,531 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:46:10,532 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-15 14:46:10,532 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-15 14:46:10,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:10,540 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-15 14:46:10,540 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-15 14:46:10,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:46:10,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:46:10,541 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:46:10,541 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:46:10,542 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-15 14:46:10,548 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 260 transitions. [2022-04-15 14:46:10,548 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 260 transitions. Word has length 71 [2022-04-15 14:46:10,548 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:46:10,548 INFO L478 AbstractCegarLoop]: Abstraction has 208 states and 260 transitions. [2022-04-15 14:46:10,549 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-15 14:46:10,549 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 260 transitions. [2022-04-15 14:46:10,990 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-15 14:46:10,990 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 260 transitions. [2022-04-15 14:46:10,991 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-15 14:46:10,991 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:46:10,991 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:46:11,015 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-15 14:46:11,191 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-15 14:46:11,192 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:46:11,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:46:11,192 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 5 times [2022-04-15 14:46:11,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:46:11,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [167936860] [2022-04-15 14:46:11,193 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:46:11,193 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 6 times [2022-04-15 14:46:11,193 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:46:11,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1958704142] [2022-04-15 14:46:11,193 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:46:11,193 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:46:11,204 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:46:11,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [374726522] [2022-04-15 14:46:11,204 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 14:46:11,204 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:46:11,204 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:46:11,205 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-15 14:46:11,207 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-15 14:46:11,256 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-15 14:46:11,256 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:46:11,257 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 14:46:11,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:46:11,272 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:46:11,563 INFO L272 TraceCheckUtils]: 0: Hoare triple {16956#true} call ULTIMATE.init(); {16956#true} is VALID [2022-04-15 14:46:11,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {16956#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,564 INFO L290 TraceCheckUtils]: 2: Hoare triple {16964#(<= ~counter~0 0)} assume true; {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,564 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16964#(<= ~counter~0 0)} {16956#true} #82#return; {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,564 INFO L272 TraceCheckUtils]: 4: Hoare triple {16964#(<= ~counter~0 0)} call #t~ret7 := main(); {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,565 INFO L290 TraceCheckUtils]: 5: Hoare triple {16964#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,565 INFO L272 TraceCheckUtils]: 6: Hoare triple {16964#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,565 INFO L290 TraceCheckUtils]: 7: Hoare triple {16964#(<= ~counter~0 0)} ~cond := #in~cond; {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,566 INFO L290 TraceCheckUtils]: 8: Hoare triple {16964#(<= ~counter~0 0)} assume !(0 == ~cond); {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,566 INFO L290 TraceCheckUtils]: 9: Hoare triple {16964#(<= ~counter~0 0)} assume true; {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,566 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16964#(<= ~counter~0 0)} {16964#(<= ~counter~0 0)} #64#return; {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,567 INFO L272 TraceCheckUtils]: 11: Hoare triple {16964#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,567 INFO L290 TraceCheckUtils]: 12: Hoare triple {16964#(<= ~counter~0 0)} ~cond := #in~cond; {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,567 INFO L290 TraceCheckUtils]: 13: Hoare triple {16964#(<= ~counter~0 0)} assume !(0 == ~cond); {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,568 INFO L290 TraceCheckUtils]: 14: Hoare triple {16964#(<= ~counter~0 0)} assume true; {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,568 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16964#(<= ~counter~0 0)} {16964#(<= ~counter~0 0)} #66#return; {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,568 INFO L290 TraceCheckUtils]: 16: Hoare triple {16964#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16964#(<= ~counter~0 0)} is VALID [2022-04-15 14:46:11,569 INFO L290 TraceCheckUtils]: 17: Hoare triple {16964#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,569 INFO L290 TraceCheckUtils]: 18: Hoare triple {17013#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,570 INFO L272 TraceCheckUtils]: 19: Hoare triple {17013#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,570 INFO L290 TraceCheckUtils]: 20: Hoare triple {17013#(<= ~counter~0 1)} ~cond := #in~cond; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,570 INFO L290 TraceCheckUtils]: 21: Hoare triple {17013#(<= ~counter~0 1)} assume !(0 == ~cond); {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,571 INFO L290 TraceCheckUtils]: 22: Hoare triple {17013#(<= ~counter~0 1)} assume true; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,571 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17013#(<= ~counter~0 1)} {17013#(<= ~counter~0 1)} #68#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,572 INFO L272 TraceCheckUtils]: 24: Hoare triple {17013#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,572 INFO L290 TraceCheckUtils]: 25: Hoare triple {17013#(<= ~counter~0 1)} ~cond := #in~cond; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,572 INFO L290 TraceCheckUtils]: 26: Hoare triple {17013#(<= ~counter~0 1)} assume !(0 == ~cond); {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,572 INFO L290 TraceCheckUtils]: 27: Hoare triple {17013#(<= ~counter~0 1)} assume true; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,573 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17013#(<= ~counter~0 1)} {17013#(<= ~counter~0 1)} #70#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,574 INFO L272 TraceCheckUtils]: 29: Hoare triple {17013#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,574 INFO L290 TraceCheckUtils]: 30: Hoare triple {17013#(<= ~counter~0 1)} ~cond := #in~cond; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,574 INFO L290 TraceCheckUtils]: 31: Hoare triple {17013#(<= ~counter~0 1)} assume !(0 == ~cond); {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,574 INFO L290 TraceCheckUtils]: 32: Hoare triple {17013#(<= ~counter~0 1)} assume true; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,575 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {17013#(<= ~counter~0 1)} {17013#(<= ~counter~0 1)} #72#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,575 INFO L290 TraceCheckUtils]: 34: Hoare triple {17013#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,575 INFO L290 TraceCheckUtils]: 35: Hoare triple {17013#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,576 INFO L290 TraceCheckUtils]: 36: Hoare triple {17013#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,576 INFO L290 TraceCheckUtils]: 37: Hoare triple {17071#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,577 INFO L272 TraceCheckUtils]: 38: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,577 INFO L290 TraceCheckUtils]: 39: Hoare triple {17071#(<= ~counter~0 2)} ~cond := #in~cond; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,577 INFO L290 TraceCheckUtils]: 40: Hoare triple {17071#(<= ~counter~0 2)} assume !(0 == ~cond); {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,578 INFO L290 TraceCheckUtils]: 41: Hoare triple {17071#(<= ~counter~0 2)} assume true; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,578 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17071#(<= ~counter~0 2)} {17071#(<= ~counter~0 2)} #68#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,579 INFO L272 TraceCheckUtils]: 43: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,579 INFO L290 TraceCheckUtils]: 44: Hoare triple {17071#(<= ~counter~0 2)} ~cond := #in~cond; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,579 INFO L290 TraceCheckUtils]: 45: Hoare triple {17071#(<= ~counter~0 2)} assume !(0 == ~cond); {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,579 INFO L290 TraceCheckUtils]: 46: Hoare triple {17071#(<= ~counter~0 2)} assume true; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,580 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17071#(<= ~counter~0 2)} {17071#(<= ~counter~0 2)} #70#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,581 INFO L272 TraceCheckUtils]: 48: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,581 INFO L290 TraceCheckUtils]: 49: Hoare triple {17071#(<= ~counter~0 2)} ~cond := #in~cond; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,581 INFO L290 TraceCheckUtils]: 50: Hoare triple {17071#(<= ~counter~0 2)} assume !(0 == ~cond); {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,581 INFO L290 TraceCheckUtils]: 51: Hoare triple {17071#(<= ~counter~0 2)} assume true; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,582 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17071#(<= ~counter~0 2)} {17071#(<= ~counter~0 2)} #72#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,582 INFO L290 TraceCheckUtils]: 53: Hoare triple {17071#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,582 INFO L290 TraceCheckUtils]: 54: Hoare triple {17071#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,583 INFO L290 TraceCheckUtils]: 55: Hoare triple {17071#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,583 INFO L290 TraceCheckUtils]: 56: Hoare triple {17129#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,584 INFO L272 TraceCheckUtils]: 57: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,584 INFO L290 TraceCheckUtils]: 58: Hoare triple {17129#(<= ~counter~0 3)} ~cond := #in~cond; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,584 INFO L290 TraceCheckUtils]: 59: Hoare triple {17129#(<= ~counter~0 3)} assume !(0 == ~cond); {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,585 INFO L290 TraceCheckUtils]: 60: Hoare triple {17129#(<= ~counter~0 3)} assume true; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,600 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {17129#(<= ~counter~0 3)} {17129#(<= ~counter~0 3)} #68#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,601 INFO L272 TraceCheckUtils]: 62: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,601 INFO L290 TraceCheckUtils]: 63: Hoare triple {17129#(<= ~counter~0 3)} ~cond := #in~cond; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,602 INFO L290 TraceCheckUtils]: 64: Hoare triple {17129#(<= ~counter~0 3)} assume !(0 == ~cond); {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,602 INFO L290 TraceCheckUtils]: 65: Hoare triple {17129#(<= ~counter~0 3)} assume true; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,603 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {17129#(<= ~counter~0 3)} {17129#(<= ~counter~0 3)} #70#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,604 INFO L272 TraceCheckUtils]: 67: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,605 INFO L290 TraceCheckUtils]: 68: Hoare triple {17129#(<= ~counter~0 3)} ~cond := #in~cond; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,605 INFO L290 TraceCheckUtils]: 69: Hoare triple {17129#(<= ~counter~0 3)} assume !(0 == ~cond); {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,606 INFO L290 TraceCheckUtils]: 70: Hoare triple {17129#(<= ~counter~0 3)} assume true; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,607 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {17129#(<= ~counter~0 3)} {17129#(<= ~counter~0 3)} #72#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,607 INFO L290 TraceCheckUtils]: 72: Hoare triple {17129#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,608 INFO L290 TraceCheckUtils]: 73: Hoare triple {17129#(<= ~counter~0 3)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,608 INFO L290 TraceCheckUtils]: 74: Hoare triple {17129#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17187#(<= |main_#t~post6| 3)} is VALID [2022-04-15 14:46:11,609 INFO L290 TraceCheckUtils]: 75: Hoare triple {17187#(<= |main_#t~post6| 3)} assume !(#t~post6 < 5);havoc #t~post6; {16957#false} is VALID [2022-04-15 14:46:11,609 INFO L272 TraceCheckUtils]: 76: Hoare triple {16957#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16957#false} is VALID [2022-04-15 14:46:11,609 INFO L290 TraceCheckUtils]: 77: Hoare triple {16957#false} ~cond := #in~cond; {16957#false} is VALID [2022-04-15 14:46:11,609 INFO L290 TraceCheckUtils]: 78: Hoare triple {16957#false} assume 0 == ~cond; {16957#false} is VALID [2022-04-15 14:46:11,609 INFO L290 TraceCheckUtils]: 79: Hoare triple {16957#false} assume !false; {16957#false} is VALID [2022-04-15 14:46:11,610 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-15 14:46:11,610 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:46:11,926 INFO L290 TraceCheckUtils]: 79: Hoare triple {16957#false} assume !false; {16957#false} is VALID [2022-04-15 14:46:11,926 INFO L290 TraceCheckUtils]: 78: Hoare triple {16957#false} assume 0 == ~cond; {16957#false} is VALID [2022-04-15 14:46:11,926 INFO L290 TraceCheckUtils]: 77: Hoare triple {16957#false} ~cond := #in~cond; {16957#false} is VALID [2022-04-15 14:46:11,926 INFO L272 TraceCheckUtils]: 76: Hoare triple {16957#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16957#false} is VALID [2022-04-15 14:46:11,926 INFO L290 TraceCheckUtils]: 75: Hoare triple {17215#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {16957#false} is VALID [2022-04-15 14:46:11,927 INFO L290 TraceCheckUtils]: 74: Hoare triple {17219#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17215#(< |main_#t~post6| 5)} is VALID [2022-04-15 14:46:11,927 INFO L290 TraceCheckUtils]: 73: Hoare triple {17219#(< ~counter~0 5)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17219#(< ~counter~0 5)} is VALID [2022-04-15 14:46:11,927 INFO L290 TraceCheckUtils]: 72: Hoare triple {17219#(< ~counter~0 5)} assume !!(~a~0 != ~b~0); {17219#(< ~counter~0 5)} is VALID [2022-04-15 14:46:11,928 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16956#true} {17219#(< ~counter~0 5)} #72#return; {17219#(< ~counter~0 5)} is VALID [2022-04-15 14:46:11,928 INFO L290 TraceCheckUtils]: 70: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-15 14:46:11,928 INFO L290 TraceCheckUtils]: 69: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-15 14:46:11,928 INFO L290 TraceCheckUtils]: 68: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-15 14:46:11,928 INFO L272 TraceCheckUtils]: 67: Hoare triple {17219#(< ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16956#true} is VALID [2022-04-15 14:46:11,929 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16956#true} {17219#(< ~counter~0 5)} #70#return; {17219#(< ~counter~0 5)} is VALID [2022-04-15 14:46:11,929 INFO L290 TraceCheckUtils]: 65: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-15 14:46:11,929 INFO L290 TraceCheckUtils]: 64: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-15 14:46:11,929 INFO L290 TraceCheckUtils]: 63: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-15 14:46:11,929 INFO L272 TraceCheckUtils]: 62: Hoare triple {17219#(< ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16956#true} is VALID [2022-04-15 14:46:11,930 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16956#true} {17219#(< ~counter~0 5)} #68#return; {17219#(< ~counter~0 5)} is VALID [2022-04-15 14:46:11,930 INFO L290 TraceCheckUtils]: 60: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-15 14:46:11,930 INFO L290 TraceCheckUtils]: 59: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-15 14:46:11,930 INFO L290 TraceCheckUtils]: 58: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-15 14:46:11,930 INFO L272 TraceCheckUtils]: 57: Hoare triple {17219#(< ~counter~0 5)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16956#true} is VALID [2022-04-15 14:46:11,930 INFO L290 TraceCheckUtils]: 56: Hoare triple {17219#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {17219#(< ~counter~0 5)} is VALID [2022-04-15 14:46:11,931 INFO L290 TraceCheckUtils]: 55: Hoare triple {17129#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17219#(< ~counter~0 5)} is VALID [2022-04-15 14:46:11,931 INFO L290 TraceCheckUtils]: 54: Hoare triple {17129#(<= ~counter~0 3)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,931 INFO L290 TraceCheckUtils]: 53: Hoare triple {17129#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,932 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {16956#true} {17129#(<= ~counter~0 3)} #72#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,932 INFO L290 TraceCheckUtils]: 51: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-15 14:46:11,932 INFO L290 TraceCheckUtils]: 50: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-15 14:46:11,932 INFO L290 TraceCheckUtils]: 49: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-15 14:46:11,932 INFO L272 TraceCheckUtils]: 48: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16956#true} is VALID [2022-04-15 14:46:11,933 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {16956#true} {17129#(<= ~counter~0 3)} #70#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,933 INFO L290 TraceCheckUtils]: 46: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-15 14:46:11,933 INFO L290 TraceCheckUtils]: 45: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-15 14:46:11,933 INFO L290 TraceCheckUtils]: 44: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-15 14:46:11,933 INFO L272 TraceCheckUtils]: 43: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16956#true} is VALID [2022-04-15 14:46:11,934 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {16956#true} {17129#(<= ~counter~0 3)} #68#return; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,934 INFO L290 TraceCheckUtils]: 41: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-15 14:46:11,934 INFO L290 TraceCheckUtils]: 40: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-15 14:46:11,934 INFO L290 TraceCheckUtils]: 39: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-15 14:46:11,934 INFO L272 TraceCheckUtils]: 38: Hoare triple {17129#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16956#true} is VALID [2022-04-15 14:46:11,934 INFO L290 TraceCheckUtils]: 37: Hoare triple {17129#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,935 INFO L290 TraceCheckUtils]: 36: Hoare triple {17071#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17129#(<= ~counter~0 3)} is VALID [2022-04-15 14:46:11,935 INFO L290 TraceCheckUtils]: 35: Hoare triple {17071#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,935 INFO L290 TraceCheckUtils]: 34: Hoare triple {17071#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,936 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16956#true} {17071#(<= ~counter~0 2)} #72#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,936 INFO L290 TraceCheckUtils]: 32: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-15 14:46:11,936 INFO L290 TraceCheckUtils]: 31: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-15 14:46:11,936 INFO L290 TraceCheckUtils]: 30: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-15 14:46:11,936 INFO L272 TraceCheckUtils]: 29: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16956#true} is VALID [2022-04-15 14:46:11,937 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16956#true} {17071#(<= ~counter~0 2)} #70#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,937 INFO L290 TraceCheckUtils]: 27: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-15 14:46:11,937 INFO L290 TraceCheckUtils]: 26: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-15 14:46:11,937 INFO L290 TraceCheckUtils]: 25: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-15 14:46:11,937 INFO L272 TraceCheckUtils]: 24: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16956#true} is VALID [2022-04-15 14:46:11,937 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16956#true} {17071#(<= ~counter~0 2)} #68#return; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,937 INFO L290 TraceCheckUtils]: 22: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-15 14:46:11,938 INFO L290 TraceCheckUtils]: 21: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-15 14:46:11,938 INFO L290 TraceCheckUtils]: 20: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-15 14:46:11,938 INFO L272 TraceCheckUtils]: 19: Hoare triple {17071#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16956#true} is VALID [2022-04-15 14:46:11,938 INFO L290 TraceCheckUtils]: 18: Hoare triple {17071#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,938 INFO L290 TraceCheckUtils]: 17: Hoare triple {17013#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17071#(<= ~counter~0 2)} is VALID [2022-04-15 14:46:11,939 INFO L290 TraceCheckUtils]: 16: Hoare triple {17013#(<= ~counter~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,939 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16956#true} {17013#(<= ~counter~0 1)} #66#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,939 INFO L290 TraceCheckUtils]: 14: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-15 14:46:11,939 INFO L290 TraceCheckUtils]: 13: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-15 14:46:11,939 INFO L290 TraceCheckUtils]: 12: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-15 14:46:11,939 INFO L272 TraceCheckUtils]: 11: Hoare triple {17013#(<= ~counter~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16956#true} is VALID [2022-04-15 14:46:11,940 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16956#true} {17013#(<= ~counter~0 1)} #64#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,940 INFO L290 TraceCheckUtils]: 9: Hoare triple {16956#true} assume true; {16956#true} is VALID [2022-04-15 14:46:11,940 INFO L290 TraceCheckUtils]: 8: Hoare triple {16956#true} assume !(0 == ~cond); {16956#true} is VALID [2022-04-15 14:46:11,940 INFO L290 TraceCheckUtils]: 7: Hoare triple {16956#true} ~cond := #in~cond; {16956#true} is VALID [2022-04-15 14:46:11,940 INFO L272 TraceCheckUtils]: 6: Hoare triple {17013#(<= ~counter~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16956#true} is VALID [2022-04-15 14:46:11,940 INFO L290 TraceCheckUtils]: 5: Hoare triple {17013#(<= ~counter~0 1)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,941 INFO L272 TraceCheckUtils]: 4: Hoare triple {17013#(<= ~counter~0 1)} call #t~ret7 := main(); {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,941 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17013#(<= ~counter~0 1)} {16956#true} #82#return; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,941 INFO L290 TraceCheckUtils]: 2: Hoare triple {17013#(<= ~counter~0 1)} assume true; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,942 INFO L290 TraceCheckUtils]: 1: Hoare triple {16956#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {17013#(<= ~counter~0 1)} is VALID [2022-04-15 14:46:11,942 INFO L272 TraceCheckUtils]: 0: Hoare triple {16956#true} call ULTIMATE.init(); {16956#true} is VALID [2022-04-15 14:46:11,942 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-15 14:46:11,942 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:46:11,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1958704142] [2022-04-15 14:46:11,942 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:46:11,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [374726522] [2022-04-15 14:46:11,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [374726522] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:46:11,942 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:46:11,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-15 14:46:11,943 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:46:11,943 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [167936860] [2022-04-15 14:46:11,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [167936860] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:46:11,943 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:46:11,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 14:46:11,943 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1043080662] [2022-04-15 14:46:11,943 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:46:11,943 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-15 14:46:11,944 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:46:11,944 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-15 14:46:11,988 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-15 14:46:11,988 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 14:46:11,988 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:46:11,989 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 14:46:11,989 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:46:11,989 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-15 14:46:12,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:12,473 INFO L93 Difference]: Finished difference Result 277 states and 329 transitions. [2022-04-15 14:46:12,473 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 14:46:12,473 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-15 14:46:12,473 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:46:12,473 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-15 14:46:12,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-15 14:46:12,475 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-15 14:46:12,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-15 14:46:12,477 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-15 14:46:12,567 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-15 14:46:12,573 INFO L225 Difference]: With dead ends: 277 [2022-04-15 14:46:12,573 INFO L226 Difference]: Without dead ends: 250 [2022-04-15 14:46:12,573 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 151 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-15 14:46:12,574 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 10 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-15 14:46:12,574 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 163 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 14:46:12,574 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 250 states. [2022-04-15 14:46:12,783 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 250 to 229. [2022-04-15 14:46:12,783 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:46:12,784 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-15 14:46:12,784 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-15 14:46:12,784 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-15 14:46:12,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:12,790 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-15 14:46:12,790 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-15 14:46:12,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:46:12,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:46:12,791 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-15 14:46:12,792 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-15 14:46:12,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:12,797 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-15 14:46:12,797 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-15 14:46:12,798 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:46:12,798 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:46:12,798 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:46:12,798 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:46:12,799 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-15 14:46:12,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 268 transitions. [2022-04-15 14:46:12,805 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 268 transitions. Word has length 80 [2022-04-15 14:46:12,805 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:46:12,805 INFO L478 AbstractCegarLoop]: Abstraction has 229 states and 268 transitions. [2022-04-15 14:46:12,805 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 14:46:12,805 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 229 states and 268 transitions. [2022-04-15 14:46:13,277 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-15 14:46:13,277 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 268 transitions. [2022-04-15 14:46:13,278 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-15 14:46:13,278 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:46:13,278 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:46:13,302 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-15 14:46:13,491 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-15 14:46:13,491 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:46:13,492 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:46:13,492 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 7 times [2022-04-15 14:46:13,492 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:46:13,492 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [902675413] [2022-04-15 14:46:13,492 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:46:13,492 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 8 times [2022-04-15 14:46:13,492 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:46:13,493 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1748199013] [2022-04-15 14:46:13,493 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:46:13,493 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:46:13,502 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:46:13,502 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [948470320] [2022-04-15 14:46:13,502 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:46:13,502 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:46:13,502 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:46:13,504 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-15 14:46:13,505 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-15 14:46:13,560 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:46:13,560 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:46:13,562 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 14:46:13,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:46:13,577 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:46:14,365 INFO L272 TraceCheckUtils]: 0: Hoare triple {18962#true} call ULTIMATE.init(); {18962#true} is VALID [2022-04-15 14:46:14,365 INFO L290 TraceCheckUtils]: 1: Hoare triple {18962#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18962#true} is VALID [2022-04-15 14:46:14,365 INFO L290 TraceCheckUtils]: 2: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:14,365 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18962#true} {18962#true} #82#return; {18962#true} is VALID [2022-04-15 14:46:14,365 INFO L272 TraceCheckUtils]: 4: Hoare triple {18962#true} call #t~ret7 := main(); {18962#true} is VALID [2022-04-15 14:46:14,365 INFO L290 TraceCheckUtils]: 5: Hoare triple {18962#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18962#true} is VALID [2022-04-15 14:46:14,365 INFO L272 TraceCheckUtils]: 6: Hoare triple {18962#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:14,365 INFO L290 TraceCheckUtils]: 7: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:14,365 INFO L290 TraceCheckUtils]: 8: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:14,365 INFO L290 TraceCheckUtils]: 9: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:14,365 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18962#true} {18962#true} #64#return; {18962#true} is VALID [2022-04-15 14:46:14,366 INFO L272 TraceCheckUtils]: 11: Hoare triple {18962#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:14,366 INFO L290 TraceCheckUtils]: 12: Hoare triple {18962#true} ~cond := #in~cond; {19003#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 14:46:14,366 INFO L290 TraceCheckUtils]: 13: Hoare triple {19003#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {19007#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:46:14,366 INFO L290 TraceCheckUtils]: 14: Hoare triple {19007#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {19007#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:46:14,367 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {19007#(not (= |assume_abort_if_not_#in~cond| 0))} {18962#true} #66#return; {19014#(<= 1 main_~y~0)} is VALID [2022-04-15 14:46:14,367 INFO L290 TraceCheckUtils]: 16: Hoare triple {19014#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:14,368 INFO L290 TraceCheckUtils]: 17: Hoare triple {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:14,368 INFO L290 TraceCheckUtils]: 18: Hoare triple {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:14,368 INFO L272 TraceCheckUtils]: 19: Hoare triple {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:14,368 INFO L290 TraceCheckUtils]: 20: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:14,368 INFO L290 TraceCheckUtils]: 21: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:14,368 INFO L290 TraceCheckUtils]: 22: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:14,369 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18962#true} {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:14,369 INFO L272 TraceCheckUtils]: 24: Hoare triple {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:14,369 INFO L290 TraceCheckUtils]: 25: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:14,369 INFO L290 TraceCheckUtils]: 26: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:14,369 INFO L290 TraceCheckUtils]: 27: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:14,370 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18962#true} {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:14,370 INFO L272 TraceCheckUtils]: 29: Hoare triple {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:14,370 INFO L290 TraceCheckUtils]: 30: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:14,370 INFO L290 TraceCheckUtils]: 31: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:14,370 INFO L290 TraceCheckUtils]: 32: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:14,371 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18962#true} {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:14,371 INFO L290 TraceCheckUtils]: 34: Hoare triple {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:14,372 INFO L290 TraceCheckUtils]: 35: Hoare triple {19018#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:46:14,372 INFO L290 TraceCheckUtils]: 36: Hoare triple {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:46:14,373 INFO L290 TraceCheckUtils]: 37: Hoare triple {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:46:14,373 INFO L272 TraceCheckUtils]: 38: Hoare triple {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:14,373 INFO L290 TraceCheckUtils]: 39: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:14,373 INFO L290 TraceCheckUtils]: 40: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:14,373 INFO L290 TraceCheckUtils]: 41: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:14,374 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18962#true} {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:46:14,374 INFO L272 TraceCheckUtils]: 43: Hoare triple {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:14,374 INFO L290 TraceCheckUtils]: 44: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:14,374 INFO L290 TraceCheckUtils]: 45: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:14,374 INFO L290 TraceCheckUtils]: 46: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:14,374 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18962#true} {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:46:14,375 INFO L272 TraceCheckUtils]: 48: Hoare triple {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:14,375 INFO L290 TraceCheckUtils]: 49: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:14,375 INFO L290 TraceCheckUtils]: 50: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:14,375 INFO L290 TraceCheckUtils]: 51: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:14,375 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18962#true} {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:46:14,376 INFO L290 TraceCheckUtils]: 53: Hoare triple {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:46:14,377 INFO L290 TraceCheckUtils]: 54: Hoare triple {19076#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-15 14:46:14,377 INFO L290 TraceCheckUtils]: 55: Hoare triple {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-15 14:46:14,377 INFO L290 TraceCheckUtils]: 56: Hoare triple {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(#t~post6 < 5);havoc #t~post6; {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-15 14:46:14,378 INFO L272 TraceCheckUtils]: 57: Hoare triple {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:14,378 INFO L290 TraceCheckUtils]: 58: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:14,378 INFO L290 TraceCheckUtils]: 59: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:14,378 INFO L290 TraceCheckUtils]: 60: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:14,378 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18962#true} {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #68#return; {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-15 14:46:14,379 INFO L272 TraceCheckUtils]: 62: Hoare triple {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:14,379 INFO L290 TraceCheckUtils]: 63: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:14,379 INFO L290 TraceCheckUtils]: 64: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:14,379 INFO L290 TraceCheckUtils]: 65: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:14,379 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18962#true} {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #70#return; {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-15 14:46:14,379 INFO L272 TraceCheckUtils]: 67: Hoare triple {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:14,379 INFO L290 TraceCheckUtils]: 68: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:14,380 INFO L290 TraceCheckUtils]: 69: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:14,380 INFO L290 TraceCheckUtils]: 70: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:14,380 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18962#true} {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #72#return; {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-15 14:46:14,381 INFO L290 TraceCheckUtils]: 72: Hoare triple {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-15 14:46:14,381 INFO L290 TraceCheckUtils]: 73: Hoare triple {19134#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:14,382 INFO L290 TraceCheckUtils]: 74: Hoare triple {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:14,382 INFO L290 TraceCheckUtils]: 75: Hoare triple {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:14,382 INFO L272 TraceCheckUtils]: 76: Hoare triple {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:14,382 INFO L290 TraceCheckUtils]: 77: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:14,382 INFO L290 TraceCheckUtils]: 78: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:14,383 INFO L290 TraceCheckUtils]: 79: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:14,383 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18962#true} {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} #68#return; {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:14,384 INFO L272 TraceCheckUtils]: 81: Hoare triple {19192#(and (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~r~0 (- 3)) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19217#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:46:14,385 INFO L290 TraceCheckUtils]: 82: Hoare triple {19217#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19221#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:46:14,385 INFO L290 TraceCheckUtils]: 83: Hoare triple {19221#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18963#false} is VALID [2022-04-15 14:46:14,385 INFO L290 TraceCheckUtils]: 84: Hoare triple {18963#false} assume !false; {18963#false} is VALID [2022-04-15 14:46:14,386 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-15 14:46:14,386 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:46:14,826 INFO L290 TraceCheckUtils]: 84: Hoare triple {18963#false} assume !false; {18963#false} is VALID [2022-04-15 14:46:14,827 INFO L290 TraceCheckUtils]: 83: Hoare triple {19221#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18963#false} is VALID [2022-04-15 14:46:14,827 INFO L290 TraceCheckUtils]: 82: Hoare triple {19217#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19221#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:46:14,828 INFO L272 TraceCheckUtils]: 81: Hoare triple {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19217#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:46:14,828 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18962#true} {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:46:14,828 INFO L290 TraceCheckUtils]: 79: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:14,828 INFO L290 TraceCheckUtils]: 78: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:14,828 INFO L290 TraceCheckUtils]: 77: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:14,828 INFO L272 TraceCheckUtils]: 76: Hoare triple {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:14,829 INFO L290 TraceCheckUtils]: 75: Hoare triple {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:46:14,829 INFO L290 TraceCheckUtils]: 74: Hoare triple {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:46:15,093 INFO L290 TraceCheckUtils]: 73: Hoare triple {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19237#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:46:15,094 INFO L290 TraceCheckUtils]: 72: Hoare triple {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:46:15,094 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18962#true} {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:46:15,094 INFO L290 TraceCheckUtils]: 70: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:15,094 INFO L290 TraceCheckUtils]: 69: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:15,095 INFO L290 TraceCheckUtils]: 68: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:15,095 INFO L272 TraceCheckUtils]: 67: Hoare triple {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:15,096 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18962#true} {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #70#return; {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:46:15,096 INFO L290 TraceCheckUtils]: 65: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:15,096 INFO L290 TraceCheckUtils]: 64: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:15,096 INFO L290 TraceCheckUtils]: 63: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:15,096 INFO L272 TraceCheckUtils]: 62: Hoare triple {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:15,097 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18962#true} {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #68#return; {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:46:15,097 INFO L290 TraceCheckUtils]: 60: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:15,097 INFO L290 TraceCheckUtils]: 59: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:15,097 INFO L290 TraceCheckUtils]: 58: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:15,097 INFO L272 TraceCheckUtils]: 57: Hoare triple {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:15,097 INFO L290 TraceCheckUtils]: 56: Hoare triple {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(#t~post6 < 5);havoc #t~post6; {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:46:15,098 INFO L290 TraceCheckUtils]: 55: Hoare triple {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:46:15,241 INFO L290 TraceCheckUtils]: 54: Hoare triple {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19262#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:46:15,241 INFO L290 TraceCheckUtils]: 53: Hoare triple {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(~a~0 != ~b~0); {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-15 14:46:15,242 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18962#true} {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #72#return; {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-15 14:46:15,242 INFO L290 TraceCheckUtils]: 51: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:15,242 INFO L290 TraceCheckUtils]: 50: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:15,242 INFO L290 TraceCheckUtils]: 49: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:15,242 INFO L272 TraceCheckUtils]: 48: Hoare triple {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:15,243 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18962#true} {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #70#return; {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-15 14:46:15,243 INFO L290 TraceCheckUtils]: 46: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:15,243 INFO L290 TraceCheckUtils]: 45: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:15,243 INFO L290 TraceCheckUtils]: 44: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:15,243 INFO L272 TraceCheckUtils]: 43: Hoare triple {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:15,244 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18962#true} {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #68#return; {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-15 14:46:15,244 INFO L290 TraceCheckUtils]: 41: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:15,244 INFO L290 TraceCheckUtils]: 40: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:15,244 INFO L290 TraceCheckUtils]: 39: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:15,244 INFO L272 TraceCheckUtils]: 38: Hoare triple {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:15,244 INFO L290 TraceCheckUtils]: 37: Hoare triple {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(#t~post6 < 5);havoc #t~post6; {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-15 14:46:15,245 INFO L290 TraceCheckUtils]: 36: Hoare triple {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-15 14:46:17,247 WARN L290 TraceCheckUtils]: 35: Hoare triple {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19320#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is UNKNOWN [2022-04-15 14:46:17,247 INFO L290 TraceCheckUtils]: 34: Hoare triple {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !!(~a~0 != ~b~0); {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-15 14:46:17,248 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18962#true} {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #72#return; {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-15 14:46:17,248 INFO L290 TraceCheckUtils]: 32: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:17,248 INFO L290 TraceCheckUtils]: 31: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:17,248 INFO L290 TraceCheckUtils]: 30: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:17,248 INFO L272 TraceCheckUtils]: 29: Hoare triple {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:17,249 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18962#true} {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #70#return; {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-15 14:46:17,249 INFO L290 TraceCheckUtils]: 27: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:17,249 INFO L290 TraceCheckUtils]: 26: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:17,249 INFO L290 TraceCheckUtils]: 25: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:17,249 INFO L272 TraceCheckUtils]: 24: Hoare triple {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:17,250 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18962#true} {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #68#return; {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-15 14:46:17,250 INFO L290 TraceCheckUtils]: 22: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:17,250 INFO L290 TraceCheckUtils]: 21: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:17,250 INFO L290 TraceCheckUtils]: 20: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:17,250 INFO L272 TraceCheckUtils]: 19: Hoare triple {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:17,251 INFO L290 TraceCheckUtils]: 18: Hoare triple {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !!(#t~post6 < 5);havoc #t~post6; {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-15 14:46:17,251 INFO L290 TraceCheckUtils]: 17: Hoare triple {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-15 14:46:17,252 INFO L290 TraceCheckUtils]: 16: Hoare triple {18962#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19378#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-15 14:46:17,252 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18962#true} {18962#true} #66#return; {18962#true} is VALID [2022-04-15 14:46:17,252 INFO L290 TraceCheckUtils]: 14: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:17,252 INFO L290 TraceCheckUtils]: 13: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:17,252 INFO L290 TraceCheckUtils]: 12: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:17,252 INFO L272 TraceCheckUtils]: 11: Hoare triple {18962#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:17,252 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18962#true} {18962#true} #64#return; {18962#true} is VALID [2022-04-15 14:46:17,252 INFO L290 TraceCheckUtils]: 9: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:17,252 INFO L290 TraceCheckUtils]: 8: Hoare triple {18962#true} assume !(0 == ~cond); {18962#true} is VALID [2022-04-15 14:46:17,253 INFO L290 TraceCheckUtils]: 7: Hoare triple {18962#true} ~cond := #in~cond; {18962#true} is VALID [2022-04-15 14:46:17,253 INFO L272 TraceCheckUtils]: 6: Hoare triple {18962#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18962#true} is VALID [2022-04-15 14:46:17,253 INFO L290 TraceCheckUtils]: 5: Hoare triple {18962#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18962#true} is VALID [2022-04-15 14:46:17,253 INFO L272 TraceCheckUtils]: 4: Hoare triple {18962#true} call #t~ret7 := main(); {18962#true} is VALID [2022-04-15 14:46:17,253 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18962#true} {18962#true} #82#return; {18962#true} is VALID [2022-04-15 14:46:17,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {18962#true} assume true; {18962#true} is VALID [2022-04-15 14:46:17,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {18962#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18962#true} is VALID [2022-04-15 14:46:17,253 INFO L272 TraceCheckUtils]: 0: Hoare triple {18962#true} call ULTIMATE.init(); {18962#true} is VALID [2022-04-15 14:46:17,254 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-15 14:46:17,254 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:46:17,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1748199013] [2022-04-15 14:46:17,255 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:46:17,255 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [948470320] [2022-04-15 14:46:17,255 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [948470320] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:46:17,255 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:46:17,255 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-15 14:46:17,255 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:46:17,255 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [902675413] [2022-04-15 14:46:17,255 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [902675413] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:46:17,255 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:46:17,256 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 14:46:17,256 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [524441928] [2022-04-15 14:46:17,256 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:46:17,256 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-15 14:46:17,256 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:46:17,257 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-15 14:46:17,333 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-15 14:46:17,333 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 14:46:17,333 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:46:17,334 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 14:46:17,334 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-15 14:46:17,334 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-15 14:46:19,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:19,332 INFO L93 Difference]: Finished difference Result 256 states and 307 transitions. [2022-04-15 14:46:19,332 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 14:46:19,332 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-15 14:46:19,332 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:46:19,332 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-15 14:46:19,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-15 14:46:19,334 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-15 14:46:19,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-15 14:46:19,336 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-15 14:46:19,470 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-15 14:46:19,476 INFO L225 Difference]: With dead ends: 256 [2022-04-15 14:46:19,476 INFO L226 Difference]: Without dead ends: 254 [2022-04-15 14:46:19,477 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 155 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=52, Invalid=220, Unknown=0, NotChecked=0, Total=272 [2022-04-15 14:46:19,478 INFO L913 BasicCegarLoop]: 55 mSDtfsCounter, 25 mSDsluCounter, 222 mSDsCounter, 0 mSdLazyCounter, 470 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 277 SdHoareTripleChecker+Invalid, 493 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 470 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 14:46:19,478 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 277 Invalid, 493 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 470 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 14:46:19,479 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-15 14:46:19,702 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 238. [2022-04-15 14:46:19,703 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:46:19,703 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-15 14:46:19,704 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-15 14:46:19,704 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-15 14:46:19,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:19,710 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-15 14:46:19,710 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-15 14:46:19,710 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:46:19,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:46:19,711 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-15 14:46:19,711 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-15 14:46:19,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:19,717 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-15 14:46:19,717 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-15 14:46:19,718 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:46:19,718 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:46:19,718 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:46:19,718 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:46:19,719 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-15 14:46:19,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 238 states to 238 states and 280 transitions. [2022-04-15 14:46:19,725 INFO L78 Accepts]: Start accepts. Automaton has 238 states and 280 transitions. Word has length 85 [2022-04-15 14:46:19,726 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:46:19,726 INFO L478 AbstractCegarLoop]: Abstraction has 238 states and 280 transitions. [2022-04-15 14:46:19,726 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 14:46:19,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 238 states and 280 transitions. [2022-04-15 14:46:20,173 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-15 14:46:20,174 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 280 transitions. [2022-04-15 14:46:20,175 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-15 14:46:20,175 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:46:20,175 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:46:20,199 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Ended with exit code 0 [2022-04-15 14:46:20,395 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:46:20,396 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:46:20,396 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:46:20,396 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 7 times [2022-04-15 14:46:20,396 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:46:20,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [913664474] [2022-04-15 14:46:20,397 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:46:20,397 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 8 times [2022-04-15 14:46:20,397 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:46:20,397 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [879248511] [2022-04-15 14:46:20,397 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:46:20,397 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:46:20,407 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:46:20,407 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1689707576] [2022-04-15 14:46:20,407 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:46:20,408 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:46:20,408 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:46:20,409 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-15 14:46:20,409 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-15 14:46:20,509 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:46:20,509 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:46:20,510 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-15 14:46:20,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:46:20,526 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:46:21,414 INFO L272 TraceCheckUtils]: 0: Hoare triple {20986#true} call ULTIMATE.init(); {20986#true} is VALID [2022-04-15 14:46:21,414 INFO L290 TraceCheckUtils]: 1: Hoare triple {20986#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20986#true} is VALID [2022-04-15 14:46:21,414 INFO L290 TraceCheckUtils]: 2: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:21,414 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20986#true} {20986#true} #82#return; {20986#true} is VALID [2022-04-15 14:46:21,414 INFO L272 TraceCheckUtils]: 4: Hoare triple {20986#true} call #t~ret7 := main(); {20986#true} is VALID [2022-04-15 14:46:21,414 INFO L290 TraceCheckUtils]: 5: Hoare triple {20986#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20986#true} is VALID [2022-04-15 14:46:21,415 INFO L272 TraceCheckUtils]: 6: Hoare triple {20986#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:21,415 INFO L290 TraceCheckUtils]: 7: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:21,415 INFO L290 TraceCheckUtils]: 8: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:21,415 INFO L290 TraceCheckUtils]: 9: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:21,415 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20986#true} {20986#true} #64#return; {20986#true} is VALID [2022-04-15 14:46:21,415 INFO L272 TraceCheckUtils]: 11: Hoare triple {20986#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:21,415 INFO L290 TraceCheckUtils]: 12: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:21,415 INFO L290 TraceCheckUtils]: 13: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:21,415 INFO L290 TraceCheckUtils]: 14: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:21,415 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20986#true} {20986#true} #66#return; {20986#true} is VALID [2022-04-15 14:46:21,416 INFO L290 TraceCheckUtils]: 16: Hoare triple {20986#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:21,416 INFO L290 TraceCheckUtils]: 17: Hoare triple {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:21,417 INFO L290 TraceCheckUtils]: 18: Hoare triple {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:21,417 INFO L272 TraceCheckUtils]: 19: Hoare triple {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:21,417 INFO L290 TraceCheckUtils]: 20: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:21,417 INFO L290 TraceCheckUtils]: 21: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:21,417 INFO L290 TraceCheckUtils]: 22: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:21,418 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20986#true} {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:21,418 INFO L272 TraceCheckUtils]: 24: Hoare triple {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:21,418 INFO L290 TraceCheckUtils]: 25: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:21,418 INFO L290 TraceCheckUtils]: 26: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:21,418 INFO L290 TraceCheckUtils]: 27: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:21,419 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20986#true} {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:21,419 INFO L272 TraceCheckUtils]: 29: Hoare triple {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:21,419 INFO L290 TraceCheckUtils]: 30: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:21,419 INFO L290 TraceCheckUtils]: 31: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:21,419 INFO L290 TraceCheckUtils]: 32: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:21,420 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20986#true} {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:21,420 INFO L290 TraceCheckUtils]: 34: Hoare triple {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:21,423 INFO L290 TraceCheckUtils]: 35: Hoare triple {21039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-15 14:46:21,429 INFO L290 TraceCheckUtils]: 36: Hoare triple {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-15 14:46:21,430 INFO L290 TraceCheckUtils]: 37: Hoare triple {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-15 14:46:21,430 INFO L272 TraceCheckUtils]: 38: Hoare triple {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:21,430 INFO L290 TraceCheckUtils]: 39: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:21,430 INFO L290 TraceCheckUtils]: 40: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:21,430 INFO L290 TraceCheckUtils]: 41: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:21,431 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20986#true} {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #68#return; {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-15 14:46:21,431 INFO L272 TraceCheckUtils]: 43: Hoare triple {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:21,431 INFO L290 TraceCheckUtils]: 44: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:21,431 INFO L290 TraceCheckUtils]: 45: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:21,431 INFO L290 TraceCheckUtils]: 46: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:21,432 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20986#true} {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #70#return; {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-15 14:46:21,432 INFO L272 TraceCheckUtils]: 48: Hoare triple {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:21,432 INFO L290 TraceCheckUtils]: 49: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:21,432 INFO L290 TraceCheckUtils]: 50: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:21,432 INFO L290 TraceCheckUtils]: 51: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:21,433 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20986#true} {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #72#return; {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-15 14:46:21,433 INFO L290 TraceCheckUtils]: 53: Hoare triple {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-15 14:46:21,434 INFO L290 TraceCheckUtils]: 54: Hoare triple {21097#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-15 14:46:21,434 INFO L290 TraceCheckUtils]: 55: Hoare triple {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-15 14:46:21,435 INFO L290 TraceCheckUtils]: 56: Hoare triple {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume !!(#t~post6 < 5);havoc #t~post6; {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-15 14:46:21,435 INFO L272 TraceCheckUtils]: 57: Hoare triple {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:21,435 INFO L290 TraceCheckUtils]: 58: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:21,435 INFO L290 TraceCheckUtils]: 59: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:21,435 INFO L290 TraceCheckUtils]: 60: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:21,436 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20986#true} {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #68#return; {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-15 14:46:21,436 INFO L272 TraceCheckUtils]: 62: Hoare triple {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:21,436 INFO L290 TraceCheckUtils]: 63: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:21,436 INFO L290 TraceCheckUtils]: 64: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:21,436 INFO L290 TraceCheckUtils]: 65: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:21,437 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20986#true} {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #70#return; {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-15 14:46:21,437 INFO L272 TraceCheckUtils]: 67: Hoare triple {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:21,437 INFO L290 TraceCheckUtils]: 68: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:21,437 INFO L290 TraceCheckUtils]: 69: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:21,437 INFO L290 TraceCheckUtils]: 70: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:21,438 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20986#true} {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #72#return; {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-15 14:46:21,438 INFO L290 TraceCheckUtils]: 72: Hoare triple {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume !!(~a~0 != ~b~0); {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-15 14:46:21,440 INFO L290 TraceCheckUtils]: 73: Hoare triple {21155#(and (= (+ main_~s~0 main_~r~0) 1) (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (< main_~y~0 main_~a~0)) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} is VALID [2022-04-15 14:46:21,440 INFO L290 TraceCheckUtils]: 74: Hoare triple {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} is VALID [2022-04-15 14:46:21,441 INFO L290 TraceCheckUtils]: 75: Hoare triple {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} assume !!(#t~post6 < 5);havoc #t~post6; {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} is VALID [2022-04-15 14:46:21,441 INFO L272 TraceCheckUtils]: 76: Hoare triple {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:21,441 INFO L290 TraceCheckUtils]: 77: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:21,441 INFO L290 TraceCheckUtils]: 78: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:21,441 INFO L290 TraceCheckUtils]: 79: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:21,442 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20986#true} {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} #68#return; {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} is VALID [2022-04-15 14:46:21,442 INFO L272 TraceCheckUtils]: 81: Hoare triple {21213#(and (not (< (* main_~y~0 2) main_~x~0)) (< main_~y~0 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= main_~r~0 (- 3)) (= (+ (* (- 1) main_~p~0) 1) (- 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21238#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:46:21,443 INFO L290 TraceCheckUtils]: 82: Hoare triple {21238#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21242#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:46:21,443 INFO L290 TraceCheckUtils]: 83: Hoare triple {21242#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20987#false} is VALID [2022-04-15 14:46:21,443 INFO L290 TraceCheckUtils]: 84: Hoare triple {20987#false} assume !false; {20987#false} is VALID [2022-04-15 14:46:21,443 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-15 14:46:21,444 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:46:21,921 INFO L290 TraceCheckUtils]: 84: Hoare triple {20987#false} assume !false; {20987#false} is VALID [2022-04-15 14:46:21,921 INFO L290 TraceCheckUtils]: 83: Hoare triple {21242#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20987#false} is VALID [2022-04-15 14:46:21,921 INFO L290 TraceCheckUtils]: 82: Hoare triple {21238#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21242#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:46:21,922 INFO L272 TraceCheckUtils]: 81: Hoare triple {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21238#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:46:21,923 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20986#true} {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:46:21,923 INFO L290 TraceCheckUtils]: 79: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:21,923 INFO L290 TraceCheckUtils]: 78: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:21,923 INFO L290 TraceCheckUtils]: 77: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:21,923 INFO L272 TraceCheckUtils]: 76: Hoare triple {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:21,923 INFO L290 TraceCheckUtils]: 75: Hoare triple {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:46:21,924 INFO L290 TraceCheckUtils]: 74: Hoare triple {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:46:23,246 INFO L290 TraceCheckUtils]: 73: Hoare triple {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21258#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:46:23,247 INFO L290 TraceCheckUtils]: 72: Hoare triple {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:46:23,248 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20986#true} {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:46:23,248 INFO L290 TraceCheckUtils]: 70: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:23,248 INFO L290 TraceCheckUtils]: 69: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:23,248 INFO L290 TraceCheckUtils]: 68: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:23,248 INFO L272 TraceCheckUtils]: 67: Hoare triple {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:23,248 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20986#true} {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #70#return; {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:46:23,249 INFO L290 TraceCheckUtils]: 65: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:23,249 INFO L290 TraceCheckUtils]: 64: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:23,249 INFO L290 TraceCheckUtils]: 63: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:23,249 INFO L272 TraceCheckUtils]: 62: Hoare triple {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:23,249 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20986#true} {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #68#return; {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:46:23,250 INFO L290 TraceCheckUtils]: 60: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:23,250 INFO L290 TraceCheckUtils]: 59: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:23,250 INFO L290 TraceCheckUtils]: 58: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:23,250 INFO L272 TraceCheckUtils]: 57: Hoare triple {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:23,250 INFO L290 TraceCheckUtils]: 56: Hoare triple {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(#t~post6 < 5);havoc #t~post6; {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:46:23,251 INFO L290 TraceCheckUtils]: 55: Hoare triple {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:46:23,328 INFO L290 TraceCheckUtils]: 54: Hoare triple {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {21283#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:46:23,329 INFO L290 TraceCheckUtils]: 53: Hoare triple {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(~a~0 != ~b~0); {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-15 14:46:23,329 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20986#true} {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #72#return; {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-15 14:46:23,330 INFO L290 TraceCheckUtils]: 51: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:23,330 INFO L290 TraceCheckUtils]: 50: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:23,330 INFO L290 TraceCheckUtils]: 49: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:23,330 INFO L272 TraceCheckUtils]: 48: Hoare triple {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:23,330 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20986#true} {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #70#return; {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-15 14:46:23,330 INFO L290 TraceCheckUtils]: 46: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:23,331 INFO L290 TraceCheckUtils]: 45: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:23,331 INFO L290 TraceCheckUtils]: 44: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:23,331 INFO L272 TraceCheckUtils]: 43: Hoare triple {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:23,331 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20986#true} {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #68#return; {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-15 14:46:23,331 INFO L290 TraceCheckUtils]: 41: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:23,332 INFO L290 TraceCheckUtils]: 40: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:23,332 INFO L290 TraceCheckUtils]: 39: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:23,332 INFO L272 TraceCheckUtils]: 38: Hoare triple {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:23,332 INFO L290 TraceCheckUtils]: 37: Hoare triple {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(#t~post6 < 5);havoc #t~post6; {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-15 14:46:23,333 INFO L290 TraceCheckUtils]: 36: Hoare triple {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-15 14:46:24,530 INFO L290 TraceCheckUtils]: 35: Hoare triple {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21341#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-15 14:46:24,531 INFO L290 TraceCheckUtils]: 34: Hoare triple {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume !!(~a~0 != ~b~0); {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-15 14:46:24,532 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20986#true} {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #72#return; {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-15 14:46:24,532 INFO L290 TraceCheckUtils]: 32: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:24,532 INFO L290 TraceCheckUtils]: 31: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:24,532 INFO L290 TraceCheckUtils]: 30: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:24,532 INFO L272 TraceCheckUtils]: 29: Hoare triple {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:24,533 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20986#true} {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #70#return; {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-15 14:46:24,533 INFO L290 TraceCheckUtils]: 27: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:24,533 INFO L290 TraceCheckUtils]: 26: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:24,533 INFO L290 TraceCheckUtils]: 25: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:24,533 INFO L272 TraceCheckUtils]: 24: Hoare triple {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:24,534 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20986#true} {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #68#return; {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-15 14:46:24,534 INFO L290 TraceCheckUtils]: 22: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:24,534 INFO L290 TraceCheckUtils]: 21: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:24,534 INFO L290 TraceCheckUtils]: 20: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:24,534 INFO L272 TraceCheckUtils]: 19: Hoare triple {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:24,535 INFO L290 TraceCheckUtils]: 18: Hoare triple {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume !!(#t~post6 < 5);havoc #t~post6; {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-15 14:46:24,535 INFO L290 TraceCheckUtils]: 17: Hoare triple {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-15 14:46:24,536 INFO L290 TraceCheckUtils]: 16: Hoare triple {20986#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21399#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-15 14:46:24,536 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20986#true} {20986#true} #66#return; {20986#true} is VALID [2022-04-15 14:46:24,536 INFO L290 TraceCheckUtils]: 14: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:24,536 INFO L290 TraceCheckUtils]: 13: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:24,536 INFO L290 TraceCheckUtils]: 12: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:24,536 INFO L272 TraceCheckUtils]: 11: Hoare triple {20986#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:24,536 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20986#true} {20986#true} #64#return; {20986#true} is VALID [2022-04-15 14:46:24,536 INFO L290 TraceCheckUtils]: 9: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:24,536 INFO L290 TraceCheckUtils]: 8: Hoare triple {20986#true} assume !(0 == ~cond); {20986#true} is VALID [2022-04-15 14:46:24,536 INFO L290 TraceCheckUtils]: 7: Hoare triple {20986#true} ~cond := #in~cond; {20986#true} is VALID [2022-04-15 14:46:24,536 INFO L272 TraceCheckUtils]: 6: Hoare triple {20986#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20986#true} is VALID [2022-04-15 14:46:24,537 INFO L290 TraceCheckUtils]: 5: Hoare triple {20986#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20986#true} is VALID [2022-04-15 14:46:24,537 INFO L272 TraceCheckUtils]: 4: Hoare triple {20986#true} call #t~ret7 := main(); {20986#true} is VALID [2022-04-15 14:46:24,537 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20986#true} {20986#true} #82#return; {20986#true} is VALID [2022-04-15 14:46:24,537 INFO L290 TraceCheckUtils]: 2: Hoare triple {20986#true} assume true; {20986#true} is VALID [2022-04-15 14:46:24,537 INFO L290 TraceCheckUtils]: 1: Hoare triple {20986#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20986#true} is VALID [2022-04-15 14:46:24,537 INFO L272 TraceCheckUtils]: 0: Hoare triple {20986#true} call ULTIMATE.init(); {20986#true} is VALID [2022-04-15 14:46:24,537 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-15 14:46:24,537 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:46:24,537 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [879248511] [2022-04-15 14:46:24,538 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:46:24,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1689707576] [2022-04-15 14:46:24,538 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1689707576] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:46:24,538 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:46:24,538 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-15 14:46:24,538 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:46:24,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [913664474] [2022-04-15 14:46:24,538 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [913664474] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:46:24,538 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:46:24,538 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:46:24,538 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [535691432] [2022-04-15 14:46:24,538 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:46:24,539 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-15 14:46:24,539 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:46:24,539 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-15 14:46:24,596 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-15 14:46:24,596 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 14:46:24,596 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:46:24,597 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 14:46:24,597 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-15 14:46:24,597 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-15 14:46:26,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:26,234 INFO L93 Difference]: Finished difference Result 286 states and 341 transitions. [2022-04-15 14:46:26,234 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 14:46:26,235 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-15 14:46:26,235 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:46:26,235 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-15 14:46:26,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-15 14:46:26,236 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-15 14:46:26,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-15 14:46:26,238 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 97 transitions. [2022-04-15 14:46:26,371 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-15 14:46:26,376 INFO L225 Difference]: With dead ends: 286 [2022-04-15 14:46:26,376 INFO L226 Difference]: Without dead ends: 284 [2022-04-15 14:46:26,376 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 158 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-04-15 14:46:26,377 INFO L913 BasicCegarLoop]: 59 mSDtfsCounter, 9 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 299 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 248 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 299 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-15 14:46:26,377 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 248 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 299 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 14:46:26,378 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 284 states. [2022-04-15 14:46:26,643 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 284 to 268. [2022-04-15 14:46:26,643 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:46:26,644 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-15 14:46:26,644 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-15 14:46:26,645 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-15 14:46:26,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:26,651 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-15 14:46:26,651 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-15 14:46:26,652 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:46:26,652 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:46:26,653 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-15 14:46:26,653 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-15 14:46:26,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:26,660 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-15 14:46:26,660 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-15 14:46:26,661 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:46:26,661 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:46:26,661 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:46:26,661 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:46:26,662 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-15 14:46:26,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 268 states to 268 states and 314 transitions. [2022-04-15 14:46:26,670 INFO L78 Accepts]: Start accepts. Automaton has 268 states and 314 transitions. Word has length 85 [2022-04-15 14:46:26,671 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:46:26,671 INFO L478 AbstractCegarLoop]: Abstraction has 268 states and 314 transitions. [2022-04-15 14:46:26,671 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 14:46:26,671 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 268 states and 314 transitions. [2022-04-15 14:46:27,290 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-15 14:46:27,290 INFO L276 IsEmpty]: Start isEmpty. Operand 268 states and 314 transitions. [2022-04-15 14:46:27,292 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-15 14:46:27,292 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:46:27,292 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:46:27,319 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-15 14:46:27,516 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:46:27,516 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:46:27,516 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:46:27,517 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 9 times [2022-04-15 14:46:27,517 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:46:27,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1423853169] [2022-04-15 14:46:27,517 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:46:27,517 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 10 times [2022-04-15 14:46:27,517 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:46:27,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1741356288] [2022-04-15 14:46:27,517 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:46:27,517 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:46:27,529 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:46:27,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1947656560] [2022-04-15 14:46:27,529 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:46:27,529 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:46:27,530 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:46:27,533 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-15 14:46:27,539 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-15 14:46:27,584 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:46:27,584 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:46:27,585 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-15 14:46:27,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:46:27,604 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:47:13,150 INFO L272 TraceCheckUtils]: 0: Hoare triple {23185#true} call ULTIMATE.init(); {23185#true} is VALID [2022-04-15 14:47:13,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {23185#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23185#true} is VALID [2022-04-15 14:47:13,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:13,150 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23185#true} {23185#true} #82#return; {23185#true} is VALID [2022-04-15 14:47:13,150 INFO L272 TraceCheckUtils]: 4: Hoare triple {23185#true} call #t~ret7 := main(); {23185#true} is VALID [2022-04-15 14:47:13,150 INFO L290 TraceCheckUtils]: 5: Hoare triple {23185#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23185#true} is VALID [2022-04-15 14:47:13,151 INFO L272 TraceCheckUtils]: 6: Hoare triple {23185#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:13,151 INFO L290 TraceCheckUtils]: 7: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:13,151 INFO L290 TraceCheckUtils]: 8: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:13,151 INFO L290 TraceCheckUtils]: 9: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:13,151 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23185#true} {23185#true} #64#return; {23185#true} is VALID [2022-04-15 14:47:13,151 INFO L272 TraceCheckUtils]: 11: Hoare triple {23185#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:13,151 INFO L290 TraceCheckUtils]: 12: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:13,151 INFO L290 TraceCheckUtils]: 13: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:13,151 INFO L290 TraceCheckUtils]: 14: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:13,151 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23185#true} {23185#true} #66#return; {23185#true} is VALID [2022-04-15 14:47:13,152 INFO L290 TraceCheckUtils]: 16: Hoare triple {23185#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:47:13,152 INFO L290 TraceCheckUtils]: 17: Hoare triple {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:47:13,152 INFO L290 TraceCheckUtils]: 18: Hoare triple {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 5);havoc #t~post6; {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:47:13,153 INFO L272 TraceCheckUtils]: 19: Hoare triple {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:13,153 INFO L290 TraceCheckUtils]: 20: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:13,153 INFO L290 TraceCheckUtils]: 21: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:13,153 INFO L290 TraceCheckUtils]: 22: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:13,153 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23185#true} {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #68#return; {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:47:13,153 INFO L272 TraceCheckUtils]: 24: Hoare triple {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:13,153 INFO L290 TraceCheckUtils]: 25: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:13,154 INFO L290 TraceCheckUtils]: 26: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:13,154 INFO L290 TraceCheckUtils]: 27: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:13,154 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23185#true} {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #70#return; {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:47:13,154 INFO L272 TraceCheckUtils]: 29: Hoare triple {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:13,154 INFO L290 TraceCheckUtils]: 30: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:13,154 INFO L290 TraceCheckUtils]: 31: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:13,155 INFO L290 TraceCheckUtils]: 32: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:13,155 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23185#true} {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #72#return; {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:47:13,155 INFO L290 TraceCheckUtils]: 34: Hoare triple {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:47:13,156 INFO L290 TraceCheckUtils]: 35: Hoare triple {23238#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-15 14:47:13,156 INFO L290 TraceCheckUtils]: 36: Hoare triple {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-15 14:47:13,157 INFO L290 TraceCheckUtils]: 37: Hoare triple {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-15 14:47:13,157 INFO L272 TraceCheckUtils]: 38: Hoare triple {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:13,157 INFO L290 TraceCheckUtils]: 39: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:13,157 INFO L290 TraceCheckUtils]: 40: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:13,157 INFO L290 TraceCheckUtils]: 41: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:13,158 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23185#true} {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #68#return; {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-15 14:47:13,158 INFO L272 TraceCheckUtils]: 43: Hoare triple {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:13,158 INFO L290 TraceCheckUtils]: 44: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:13,158 INFO L290 TraceCheckUtils]: 45: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:13,158 INFO L290 TraceCheckUtils]: 46: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:13,159 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23185#true} {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #70#return; {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-15 14:47:13,159 INFO L272 TraceCheckUtils]: 48: Hoare triple {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:13,159 INFO L290 TraceCheckUtils]: 49: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:13,159 INFO L290 TraceCheckUtils]: 50: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:13,159 INFO L290 TraceCheckUtils]: 51: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:13,160 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23185#true} {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #72#return; {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-15 14:47:13,160 INFO L290 TraceCheckUtils]: 53: Hoare triple {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume !!(~a~0 != ~b~0); {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-15 14:47:13,161 INFO L290 TraceCheckUtils]: 54: Hoare triple {23296#(and (= main_~r~0 0) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} is VALID [2022-04-15 14:47:13,162 INFO L290 TraceCheckUtils]: 55: Hoare triple {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} is VALID [2022-04-15 14:47:13,162 INFO L290 TraceCheckUtils]: 56: Hoare triple {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} assume !!(#t~post6 < 5);havoc #t~post6; {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} is VALID [2022-04-15 14:47:13,163 INFO L272 TraceCheckUtils]: 57: Hoare triple {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:13,163 INFO L290 TraceCheckUtils]: 58: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:13,163 INFO L290 TraceCheckUtils]: 59: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:13,163 INFO L290 TraceCheckUtils]: 60: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:13,163 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23185#true} {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} #68#return; {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} is VALID [2022-04-15 14:47:13,163 INFO L272 TraceCheckUtils]: 62: Hoare triple {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:13,164 INFO L290 TraceCheckUtils]: 63: Hoare triple {23185#true} ~cond := #in~cond; {23382#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:13,164 INFO L290 TraceCheckUtils]: 64: Hoare triple {23382#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:13,164 INFO L290 TraceCheckUtils]: 65: Hoare triple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:13,165 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} {23354#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (not (< main_~b~0 0)))} #70#return; {23393#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} is VALID [2022-04-15 14:47:13,165 INFO L272 TraceCheckUtils]: 67: Hoare triple {23393#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:13,166 INFO L290 TraceCheckUtils]: 68: Hoare triple {23185#true} ~cond := #in~cond; {23382#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:13,166 INFO L290 TraceCheckUtils]: 69: Hoare triple {23382#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:13,166 INFO L290 TraceCheckUtils]: 70: Hoare triple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:13,167 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} {23393#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} #72#return; {23393#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} is VALID [2022-04-15 14:47:13,167 INFO L290 TraceCheckUtils]: 72: Hoare triple {23393#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} assume !!(~a~0 != ~b~0); {23393#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} is VALID [2022-04-15 14:47:13,171 INFO L290 TraceCheckUtils]: 73: Hoare triple {23393#(and (= (+ main_~s~0 main_~r~0) 0) (< (* main_~b~0 2) main_~y~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~a~0) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~b~0 0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-15 14:47:13,171 INFO L290 TraceCheckUtils]: 74: Hoare triple {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-15 14:47:13,172 INFO L290 TraceCheckUtils]: 75: Hoare triple {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} assume !!(#t~post6 < 5);havoc #t~post6; {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-15 14:47:13,172 INFO L272 TraceCheckUtils]: 76: Hoare triple {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:13,172 INFO L290 TraceCheckUtils]: 77: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:13,172 INFO L290 TraceCheckUtils]: 78: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:13,172 INFO L290 TraceCheckUtils]: 79: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:13,173 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23185#true} {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} #68#return; {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-15 14:47:13,182 INFO L272 TraceCheckUtils]: 81: Hoare triple {23415#(and (= (mod (* main_~p~0 2) 3) 0) (= (+ (* main_~x~0 2) (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (- 1) main_~y~0))) (< main_~y~0 (* main_~x~0 2)) (not (< main_~y~0 main_~x~0)) (= (- 2) main_~r~0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (- 2) main_~y~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23440#(exists ((v_main_~x~0_BEFORE_CALL_152 Int) (aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46 Int) (aux_div_v_main_~p~0_BEFORE_CALL_140_45 Int)) (and (< 0 v_main_~x~0_BEFORE_CALL_152) (< (* 3 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46) 3) (<= 1 |__VERIFIER_assert_#in~cond|) (= (+ (* 2 (* aux_div_v_main_~p~0_BEFORE_CALL_140_45 v_main_~x~0_BEFORE_CALL_152)) (* 2 v_main_~x~0_BEFORE_CALL_152) (* 3 (* v_main_~x~0_BEFORE_CALL_152 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46))) 0) (<= 0 (* 3 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46))))} is VALID [2022-04-15 14:47:13,182 INFO L290 TraceCheckUtils]: 82: Hoare triple {23440#(exists ((v_main_~x~0_BEFORE_CALL_152 Int) (aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46 Int) (aux_div_v_main_~p~0_BEFORE_CALL_140_45 Int)) (and (< 0 v_main_~x~0_BEFORE_CALL_152) (< (* 3 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46) 3) (<= 1 |__VERIFIER_assert_#in~cond|) (= (+ (* 2 (* aux_div_v_main_~p~0_BEFORE_CALL_140_45 v_main_~x~0_BEFORE_CALL_152)) (* 2 v_main_~x~0_BEFORE_CALL_152) (* 3 (* v_main_~x~0_BEFORE_CALL_152 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46))) 0) (<= 0 (* 3 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_140_45_46))))} ~cond := #in~cond; {23444#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:13,182 INFO L290 TraceCheckUtils]: 83: Hoare triple {23444#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23186#false} is VALID [2022-04-15 14:47:13,182 INFO L290 TraceCheckUtils]: 84: Hoare triple {23186#false} assume !false; {23186#false} is VALID [2022-04-15 14:47:13,183 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 60 proven. 41 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-15 14:47:13,183 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:47:34,612 INFO L290 TraceCheckUtils]: 84: Hoare triple {23186#false} assume !false; {23186#false} is VALID [2022-04-15 14:47:34,613 INFO L290 TraceCheckUtils]: 83: Hoare triple {23444#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23186#false} is VALID [2022-04-15 14:47:34,613 INFO L290 TraceCheckUtils]: 82: Hoare triple {23457#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23444#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:34,614 INFO L272 TraceCheckUtils]: 81: Hoare triple {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23457#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:47:34,615 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23185#true} {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:47:34,615 INFO L290 TraceCheckUtils]: 79: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:34,615 INFO L290 TraceCheckUtils]: 78: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:34,615 INFO L290 TraceCheckUtils]: 77: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:34,615 INFO L272 TraceCheckUtils]: 76: Hoare triple {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:34,616 INFO L290 TraceCheckUtils]: 75: Hoare triple {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:47:34,616 INFO L290 TraceCheckUtils]: 74: Hoare triple {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:47:34,797 INFO L290 TraceCheckUtils]: 73: Hoare triple {23486#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23461#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:47:34,798 INFO L290 TraceCheckUtils]: 72: Hoare triple {23486#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {23486#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:47:34,799 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} {23493#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #72#return; {23486#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:47:34,799 INFO L290 TraceCheckUtils]: 70: Hoare triple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:34,800 INFO L290 TraceCheckUtils]: 69: Hoare triple {23503#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:34,800 INFO L290 TraceCheckUtils]: 68: Hoare triple {23185#true} ~cond := #in~cond; {23503#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:47:34,800 INFO L272 TraceCheckUtils]: 67: Hoare triple {23493#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:34,801 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} {23185#true} #70#return; {23493#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 14:47:34,801 INFO L290 TraceCheckUtils]: 65: Hoare triple {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:34,802 INFO L290 TraceCheckUtils]: 64: Hoare triple {23503#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23386#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:34,802 INFO L290 TraceCheckUtils]: 63: Hoare triple {23185#true} ~cond := #in~cond; {23503#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:47:34,802 INFO L272 TraceCheckUtils]: 62: Hoare triple {23185#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:34,802 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23185#true} {23185#true} #68#return; {23185#true} is VALID [2022-04-15 14:47:34,802 INFO L290 TraceCheckUtils]: 60: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:34,802 INFO L290 TraceCheckUtils]: 59: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:34,803 INFO L290 TraceCheckUtils]: 58: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:34,803 INFO L272 TraceCheckUtils]: 57: Hoare triple {23185#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:34,803 INFO L290 TraceCheckUtils]: 56: Hoare triple {23185#true} assume !!(#t~post6 < 5);havoc #t~post6; {23185#true} is VALID [2022-04-15 14:47:34,803 INFO L290 TraceCheckUtils]: 55: Hoare triple {23185#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23185#true} is VALID [2022-04-15 14:47:34,803 INFO L290 TraceCheckUtils]: 54: Hoare triple {23185#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23185#true} is VALID [2022-04-15 14:47:34,803 INFO L290 TraceCheckUtils]: 53: Hoare triple {23185#true} assume !!(~a~0 != ~b~0); {23185#true} is VALID [2022-04-15 14:47:34,803 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23185#true} {23185#true} #72#return; {23185#true} is VALID [2022-04-15 14:47:34,803 INFO L290 TraceCheckUtils]: 51: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:34,803 INFO L290 TraceCheckUtils]: 50: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:34,803 INFO L290 TraceCheckUtils]: 49: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:34,803 INFO L272 TraceCheckUtils]: 48: Hoare triple {23185#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:34,803 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23185#true} {23185#true} #70#return; {23185#true} is VALID [2022-04-15 14:47:34,803 INFO L290 TraceCheckUtils]: 46: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:34,803 INFO L290 TraceCheckUtils]: 45: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:34,803 INFO L290 TraceCheckUtils]: 44: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:34,804 INFO L272 TraceCheckUtils]: 43: Hoare triple {23185#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:34,804 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23185#true} {23185#true} #68#return; {23185#true} is VALID [2022-04-15 14:47:34,804 INFO L290 TraceCheckUtils]: 41: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:34,804 INFO L290 TraceCheckUtils]: 40: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:34,804 INFO L290 TraceCheckUtils]: 39: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:34,804 INFO L272 TraceCheckUtils]: 38: Hoare triple {23185#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:34,804 INFO L290 TraceCheckUtils]: 37: Hoare triple {23185#true} assume !!(#t~post6 < 5);havoc #t~post6; {23185#true} is VALID [2022-04-15 14:47:34,810 INFO L290 TraceCheckUtils]: 36: Hoare triple {23185#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23185#true} is VALID [2022-04-15 14:47:34,811 INFO L290 TraceCheckUtils]: 35: Hoare triple {23185#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {23185#true} is VALID [2022-04-15 14:47:34,811 INFO L290 TraceCheckUtils]: 34: Hoare triple {23185#true} assume !!(~a~0 != ~b~0); {23185#true} is VALID [2022-04-15 14:47:34,811 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23185#true} {23185#true} #72#return; {23185#true} is VALID [2022-04-15 14:47:34,811 INFO L290 TraceCheckUtils]: 32: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:34,811 INFO L290 TraceCheckUtils]: 31: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:34,811 INFO L290 TraceCheckUtils]: 30: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:34,811 INFO L272 TraceCheckUtils]: 29: Hoare triple {23185#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:34,811 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23185#true} {23185#true} #70#return; {23185#true} is VALID [2022-04-15 14:47:34,811 INFO L290 TraceCheckUtils]: 27: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:34,811 INFO L290 TraceCheckUtils]: 26: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:34,811 INFO L290 TraceCheckUtils]: 25: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:34,811 INFO L272 TraceCheckUtils]: 24: Hoare triple {23185#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:34,812 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23185#true} {23185#true} #68#return; {23185#true} is VALID [2022-04-15 14:47:34,812 INFO L290 TraceCheckUtils]: 22: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:34,812 INFO L290 TraceCheckUtils]: 21: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:34,812 INFO L290 TraceCheckUtils]: 20: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:34,812 INFO L272 TraceCheckUtils]: 19: Hoare triple {23185#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:34,812 INFO L290 TraceCheckUtils]: 18: Hoare triple {23185#true} assume !!(#t~post6 < 5);havoc #t~post6; {23185#true} is VALID [2022-04-15 14:47:34,812 INFO L290 TraceCheckUtils]: 17: Hoare triple {23185#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23185#true} is VALID [2022-04-15 14:47:34,812 INFO L290 TraceCheckUtils]: 16: Hoare triple {23185#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23185#true} is VALID [2022-04-15 14:47:34,812 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23185#true} {23185#true} #66#return; {23185#true} is VALID [2022-04-15 14:47:34,812 INFO L290 TraceCheckUtils]: 14: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:34,812 INFO L290 TraceCheckUtils]: 13: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:34,812 INFO L290 TraceCheckUtils]: 12: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:34,812 INFO L272 TraceCheckUtils]: 11: Hoare triple {23185#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:34,813 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23185#true} {23185#true} #64#return; {23185#true} is VALID [2022-04-15 14:47:34,813 INFO L290 TraceCheckUtils]: 9: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:34,813 INFO L290 TraceCheckUtils]: 8: Hoare triple {23185#true} assume !(0 == ~cond); {23185#true} is VALID [2022-04-15 14:47:34,813 INFO L290 TraceCheckUtils]: 7: Hoare triple {23185#true} ~cond := #in~cond; {23185#true} is VALID [2022-04-15 14:47:34,813 INFO L272 TraceCheckUtils]: 6: Hoare triple {23185#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23185#true} is VALID [2022-04-15 14:47:34,813 INFO L290 TraceCheckUtils]: 5: Hoare triple {23185#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23185#true} is VALID [2022-04-15 14:47:34,813 INFO L272 TraceCheckUtils]: 4: Hoare triple {23185#true} call #t~ret7 := main(); {23185#true} is VALID [2022-04-15 14:47:34,813 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23185#true} {23185#true} #82#return; {23185#true} is VALID [2022-04-15 14:47:34,813 INFO L290 TraceCheckUtils]: 2: Hoare triple {23185#true} assume true; {23185#true} is VALID [2022-04-15 14:47:34,813 INFO L290 TraceCheckUtils]: 1: Hoare triple {23185#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23185#true} is VALID [2022-04-15 14:47:34,813 INFO L272 TraceCheckUtils]: 0: Hoare triple {23185#true} call ULTIMATE.init(); {23185#true} is VALID [2022-04-15 14:47:34,814 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-15 14:47:34,814 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:47:34,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1741356288] [2022-04-15 14:47:34,814 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:47:34,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1947656560] [2022-04-15 14:47:34,814 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1947656560] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:47:34,814 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:47:34,814 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 16 [2022-04-15 14:47:34,814 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:47:34,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1423853169] [2022-04-15 14:47:34,815 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1423853169] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:47:34,815 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:47:34,815 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 14:47:34,815 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1116238299] [2022-04-15 14:47:34,815 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:47:34,815 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 85 [2022-04-15 14:47:34,815 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:47:34,815 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 14:47:34,886 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-15 14:47:34,886 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 14:47:34,886 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:47:34,886 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 14:47:34,886 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=193, Unknown=0, NotChecked=0, Total=240 [2022-04-15 14:47:34,886 INFO L87 Difference]: Start difference. First operand 268 states and 314 transitions. Second operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 14:47:39,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:47:39,512 INFO L93 Difference]: Finished difference Result 297 states and 355 transitions. [2022-04-15 14:47:39,512 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 14:47:39,513 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 85 [2022-04-15 14:47:39,513 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:47:39,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 14:47:39,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 99 transitions. [2022-04-15 14:47:39,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 14:47:39,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 99 transitions. [2022-04-15 14:47:39,517 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 99 transitions. [2022-04-15 14:47:39,647 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:47:39,654 INFO L225 Difference]: With dead ends: 297 [2022-04-15 14:47:39,654 INFO L226 Difference]: Without dead ends: 295 [2022-04-15 14:47:39,654 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 153 SyntacticMatches, 3 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=61, Invalid=245, Unknown=0, NotChecked=0, Total=306 [2022-04-15 14:47:39,655 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 13 mSDsluCounter, 173 mSDsCounter, 0 mSdLazyCounter, 429 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 221 SdHoareTripleChecker+Invalid, 443 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 429 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 7 IncrementalHoareTripleChecker+Unchecked, 1.9s IncrementalHoareTripleChecker+Time [2022-04-15 14:47:39,655 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 221 Invalid, 443 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 429 Invalid, 0 Unknown, 7 Unchecked, 1.9s Time] [2022-04-15 14:47:39,656 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 295 states. [2022-04-15 14:47:39,913 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 295 to 249. [2022-04-15 14:47:39,913 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:47:39,913 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-15 14:47:39,914 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-15 14:47:39,914 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-15 14:47:39,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:47:39,922 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-15 14:47:39,922 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-15 14:47:39,922 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:47:39,922 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:47:39,923 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-15 14:47:39,923 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-15 14:47:39,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:47:39,930 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-15 14:47:39,930 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-15 14:47:39,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:47:39,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:47:39,931 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:47:39,931 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:47:39,931 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-15 14:47:39,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 249 states to 249 states and 294 transitions. [2022-04-15 14:47:39,938 INFO L78 Accepts]: Start accepts. Automaton has 249 states and 294 transitions. Word has length 85 [2022-04-15 14:47:39,938 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:47:39,938 INFO L478 AbstractCegarLoop]: Abstraction has 249 states and 294 transitions. [2022-04-15 14:47:39,938 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 14:47:39,938 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 249 states and 294 transitions. [2022-04-15 14:47:40,432 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-15 14:47:40,432 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 294 transitions. [2022-04-15 14:47:40,435 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-15 14:47:40,435 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:47:40,436 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:47:40,460 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-15 14:47:40,658 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:47:40,658 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:47:40,658 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:47:40,658 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 11 times [2022-04-15 14:47:40,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:47:40,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1752223830] [2022-04-15 14:47:40,659 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:47:40,659 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 12 times [2022-04-15 14:47:40,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:47:40,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1143099894] [2022-04-15 14:47:40,659 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:47:40,659 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:47:40,669 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:47:40,669 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [819197902] [2022-04-15 14:47:40,669 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 14:47:40,669 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:47:40,669 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:47:40,670 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-15 14:47:40,672 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-15 14:47:40,747 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 14:47:40,747 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:47:40,748 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 14:47:40,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:47:40,774 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:47:41,199 INFO L272 TraceCheckUtils]: 0: Hoare triple {25397#true} call ULTIMATE.init(); {25397#true} is VALID [2022-04-15 14:47:41,199 INFO L290 TraceCheckUtils]: 1: Hoare triple {25397#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {25397#true} is VALID [2022-04-15 14:47:41,199 INFO L290 TraceCheckUtils]: 2: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-15 14:47:41,199 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25397#true} {25397#true} #82#return; {25397#true} is VALID [2022-04-15 14:47:41,199 INFO L272 TraceCheckUtils]: 4: Hoare triple {25397#true} call #t~ret7 := main(); {25397#true} is VALID [2022-04-15 14:47:41,199 INFO L290 TraceCheckUtils]: 5: Hoare triple {25397#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25397#true} is VALID [2022-04-15 14:47:41,199 INFO L272 TraceCheckUtils]: 6: Hoare triple {25397#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25397#true} is VALID [2022-04-15 14:47:41,199 INFO L290 TraceCheckUtils]: 7: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-15 14:47:41,200 INFO L290 TraceCheckUtils]: 8: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-15 14:47:41,200 INFO L290 TraceCheckUtils]: 9: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-15 14:47:41,200 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25397#true} {25397#true} #64#return; {25397#true} is VALID [2022-04-15 14:47:41,200 INFO L272 TraceCheckUtils]: 11: Hoare triple {25397#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25397#true} is VALID [2022-04-15 14:47:41,200 INFO L290 TraceCheckUtils]: 12: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-15 14:47:41,200 INFO L290 TraceCheckUtils]: 13: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-15 14:47:41,200 INFO L290 TraceCheckUtils]: 14: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-15 14:47:41,200 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {25397#true} {25397#true} #66#return; {25397#true} is VALID [2022-04-15 14:47:41,201 INFO L290 TraceCheckUtils]: 16: Hoare triple {25397#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,201 INFO L290 TraceCheckUtils]: 17: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,202 INFO L290 TraceCheckUtils]: 18: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,202 INFO L272 TraceCheckUtils]: 19: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25397#true} is VALID [2022-04-15 14:47:41,202 INFO L290 TraceCheckUtils]: 20: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-15 14:47:41,202 INFO L290 TraceCheckUtils]: 21: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-15 14:47:41,202 INFO L290 TraceCheckUtils]: 22: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-15 14:47:41,203 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25397#true} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,203 INFO L272 TraceCheckUtils]: 24: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25397#true} is VALID [2022-04-15 14:47:41,203 INFO L290 TraceCheckUtils]: 25: Hoare triple {25397#true} ~cond := #in~cond; {25478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:41,203 INFO L290 TraceCheckUtils]: 26: Hoare triple {25478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:41,204 INFO L290 TraceCheckUtils]: 27: Hoare triple {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:41,204 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,205 INFO L272 TraceCheckUtils]: 29: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25397#true} is VALID [2022-04-15 14:47:41,205 INFO L290 TraceCheckUtils]: 30: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-15 14:47:41,205 INFO L290 TraceCheckUtils]: 31: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-15 14:47:41,205 INFO L290 TraceCheckUtils]: 32: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-15 14:47:41,206 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {25397#true} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,206 INFO L290 TraceCheckUtils]: 34: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,207 INFO L290 TraceCheckUtils]: 35: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,207 INFO L290 TraceCheckUtils]: 36: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,207 INFO L290 TraceCheckUtils]: 37: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,208 INFO L272 TraceCheckUtils]: 38: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25397#true} is VALID [2022-04-15 14:47:41,208 INFO L290 TraceCheckUtils]: 39: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-15 14:47:41,208 INFO L290 TraceCheckUtils]: 40: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-15 14:47:41,208 INFO L290 TraceCheckUtils]: 41: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-15 14:47:41,209 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {25397#true} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,209 INFO L272 TraceCheckUtils]: 43: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25397#true} is VALID [2022-04-15 14:47:41,209 INFO L290 TraceCheckUtils]: 44: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-15 14:47:41,209 INFO L290 TraceCheckUtils]: 45: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-15 14:47:41,209 INFO L290 TraceCheckUtils]: 46: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-15 14:47:41,210 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {25397#true} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,210 INFO L272 TraceCheckUtils]: 48: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25397#true} is VALID [2022-04-15 14:47:41,210 INFO L290 TraceCheckUtils]: 49: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-15 14:47:41,210 INFO L290 TraceCheckUtils]: 50: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-15 14:47:41,210 INFO L290 TraceCheckUtils]: 51: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-15 14:47:41,211 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {25397#true} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,211 INFO L290 TraceCheckUtils]: 53: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,212 INFO L290 TraceCheckUtils]: 54: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,212 INFO L290 TraceCheckUtils]: 55: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,213 INFO L290 TraceCheckUtils]: 56: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,213 INFO L272 TraceCheckUtils]: 57: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25397#true} is VALID [2022-04-15 14:47:41,213 INFO L290 TraceCheckUtils]: 58: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-15 14:47:41,213 INFO L290 TraceCheckUtils]: 59: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-15 14:47:41,213 INFO L290 TraceCheckUtils]: 60: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-15 14:47:41,214 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {25397#true} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,214 INFO L272 TraceCheckUtils]: 62: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25397#true} is VALID [2022-04-15 14:47:41,214 INFO L290 TraceCheckUtils]: 63: Hoare triple {25397#true} ~cond := #in~cond; {25397#true} is VALID [2022-04-15 14:47:41,214 INFO L290 TraceCheckUtils]: 64: Hoare triple {25397#true} assume !(0 == ~cond); {25397#true} is VALID [2022-04-15 14:47:41,214 INFO L290 TraceCheckUtils]: 65: Hoare triple {25397#true} assume true; {25397#true} is VALID [2022-04-15 14:47:41,215 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {25397#true} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,215 INFO L272 TraceCheckUtils]: 67: Hoare triple {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25397#true} is VALID [2022-04-15 14:47:41,215 INFO L290 TraceCheckUtils]: 68: Hoare triple {25397#true} ~cond := #in~cond; {25478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:41,216 INFO L290 TraceCheckUtils]: 69: Hoare triple {25478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:41,216 INFO L290 TraceCheckUtils]: 70: Hoare triple {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:41,217 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} {25450#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25618#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,218 INFO L290 TraceCheckUtils]: 72: Hoare triple {25618#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25618#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:41,219 INFO L290 TraceCheckUtils]: 73: Hoare triple {25618#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {25625#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-15 14:47:41,219 INFO L290 TraceCheckUtils]: 74: Hoare triple {25625#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25625#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-15 14:47:41,220 INFO L290 TraceCheckUtils]: 75: Hoare triple {25625#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {25625#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-15 14:47:41,220 INFO L272 TraceCheckUtils]: 76: Hoare triple {25625#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25397#true} is VALID [2022-04-15 14:47:41,220 INFO L290 TraceCheckUtils]: 77: Hoare triple {25397#true} ~cond := #in~cond; {25478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:41,221 INFO L290 TraceCheckUtils]: 78: Hoare triple {25478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:41,221 INFO L290 TraceCheckUtils]: 79: Hoare triple {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:41,245 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {25482#(not (= |__VERIFIER_assert_#in~cond| 0))} {25625#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} #68#return; {25647#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} is VALID [2022-04-15 14:47:41,246 INFO L272 TraceCheckUtils]: 81: Hoare triple {25647#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25651#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:47:41,246 INFO L290 TraceCheckUtils]: 82: Hoare triple {25651#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25655#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:41,246 INFO L290 TraceCheckUtils]: 83: Hoare triple {25655#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25398#false} is VALID [2022-04-15 14:47:41,247 INFO L290 TraceCheckUtils]: 84: Hoare triple {25398#false} assume !false; {25398#false} is VALID [2022-04-15 14:47:41,247 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-15 14:47:41,247 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:49:24,443 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 14:49:34,361 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 14:50:10,396 WARN L232 SmtUtils]: Spent 15.08s 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-15 14:50:10,405 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:50:10,405 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1143099894] [2022-04-15 14:50:10,405 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:50:10,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [819197902] [2022-04-15 14:50:10,406 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [819197902] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 14:50:10,406 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 14:50:10,406 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-15 14:50:10,406 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:50:10,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1752223830] [2022-04-15 14:50:10,406 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1752223830] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:50:10,406 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:50:10,406 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 14:50:10,406 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [392955214] [2022-04-15 14:50:10,407 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:50:10,407 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-15 14:50:10,407 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:50:10,408 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-15 14:50:10,448 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-15 14:50:10,449 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 14:50:10,449 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:10,449 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 14:50:10,449 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=162, Unknown=1, NotChecked=0, Total=210 [2022-04-15 14:50:10,449 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-15 14:50:16,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:16,555 INFO L93 Difference]: Finished difference Result 315 states and 392 transitions. [2022-04-15 14:50:16,555 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 14:50:16,555 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-15 14:50:16,555 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:50:16,555 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-15 14:50:16,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-15 14:50:16,557 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-15 14:50:16,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-15 14:50:16,559 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 110 transitions. [2022-04-15 14:50:16,727 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-15 14:50:16,735 INFO L225 Difference]: With dead ends: 315 [2022-04-15 14:50:16,735 INFO L226 Difference]: Without dead ends: 309 [2022-04-15 14:50:16,738 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 22.8s TimeCoverageRelationStatistics Valid=67, Invalid=236, Unknown=3, NotChecked=0, Total=306 [2022-04-15 14:50:16,738 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 26 mSDsluCounter, 145 mSDsCounter, 0 mSdLazyCounter, 388 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 415 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 388 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:50:16,739 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 198 Invalid, 415 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 388 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-15 14:50:16,739 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 309 states. [2022-04-15 14:50:17,060 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 309 to 265. [2022-04-15 14:50:17,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:50:17,061 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-15 14:50:17,061 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-15 14:50:17,061 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-15 14:50:17,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:17,069 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-15 14:50:17,069 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-15 14:50:17,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:17,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:17,070 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-15 14:50:17,071 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-15 14:50:17,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:17,077 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-15 14:50:17,078 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-15 14:50:17,078 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:17,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:17,078 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:50:17,078 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:50:17,079 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-15 14:50:17,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 265 states to 265 states and 313 transitions. [2022-04-15 14:50:17,086 INFO L78 Accepts]: Start accepts. Automaton has 265 states and 313 transitions. Word has length 85 [2022-04-15 14:50:17,086 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:50:17,086 INFO L478 AbstractCegarLoop]: Abstraction has 265 states and 313 transitions. [2022-04-15 14:50:17,086 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:50:17,086 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 265 states and 313 transitions. [2022-04-15 14:50:17,706 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-15 14:50:17,707 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 313 transitions. [2022-04-15 14:50:17,707 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-15 14:50:17,707 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:50:17,708 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:50:17,727 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-15 14:50:17,919 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-15 14:50:17,919 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:50:17,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:50:17,920 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 13 times [2022-04-15 14:50:17,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:17,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [636883770] [2022-04-15 14:50:17,920 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:50:17,920 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 14 times [2022-04-15 14:50:17,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:50:17,921 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [244278347] [2022-04-15 14:50:17,921 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:50:17,921 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:50:17,932 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:50:17,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1887165526] [2022-04-15 14:50:17,932 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:50:17,932 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:50:17,932 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:50:17,933 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-15 14:50:17,937 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-15 14:50:18,036 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:50:18,036 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:50:18,037 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 14:50:18,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:50:18,052 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:50:19,272 INFO L272 TraceCheckUtils]: 0: Hoare triple {27492#true} call ULTIMATE.init(); {27492#true} is VALID [2022-04-15 14:50:19,272 INFO L290 TraceCheckUtils]: 1: Hoare triple {27492#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27492#true} is VALID [2022-04-15 14:50:19,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:19,272 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27492#true} {27492#true} #82#return; {27492#true} is VALID [2022-04-15 14:50:19,272 INFO L272 TraceCheckUtils]: 4: Hoare triple {27492#true} call #t~ret7 := main(); {27492#true} is VALID [2022-04-15 14:50:19,273 INFO L290 TraceCheckUtils]: 5: Hoare triple {27492#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27492#true} is VALID [2022-04-15 14:50:19,273 INFO L272 TraceCheckUtils]: 6: Hoare triple {27492#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:19,273 INFO L290 TraceCheckUtils]: 7: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:19,273 INFO L290 TraceCheckUtils]: 8: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:19,273 INFO L290 TraceCheckUtils]: 9: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:19,273 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27492#true} {27492#true} #64#return; {27492#true} is VALID [2022-04-15 14:50:19,273 INFO L272 TraceCheckUtils]: 11: Hoare triple {27492#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:19,273 INFO L290 TraceCheckUtils]: 12: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:19,273 INFO L290 TraceCheckUtils]: 13: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:19,273 INFO L290 TraceCheckUtils]: 14: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:19,273 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27492#true} {27492#true} #66#return; {27492#true} is VALID [2022-04-15 14:50:19,274 INFO L290 TraceCheckUtils]: 16: Hoare triple {27492#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:50:19,274 INFO L290 TraceCheckUtils]: 17: Hoare triple {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:50:19,274 INFO L290 TraceCheckUtils]: 18: Hoare triple {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:50:19,274 INFO L272 TraceCheckUtils]: 19: Hoare triple {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:19,275 INFO L290 TraceCheckUtils]: 20: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:19,275 INFO L290 TraceCheckUtils]: 21: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:19,275 INFO L290 TraceCheckUtils]: 22: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:19,275 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27492#true} {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:50:19,275 INFO L272 TraceCheckUtils]: 24: Hoare triple {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:19,275 INFO L290 TraceCheckUtils]: 25: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:19,276 INFO L290 TraceCheckUtils]: 26: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:19,276 INFO L290 TraceCheckUtils]: 27: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:19,276 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27492#true} {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:50:19,276 INFO L272 TraceCheckUtils]: 29: Hoare triple {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:19,276 INFO L290 TraceCheckUtils]: 30: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:19,276 INFO L290 TraceCheckUtils]: 31: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:19,277 INFO L290 TraceCheckUtils]: 32: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:19,277 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27492#true} {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:50:19,277 INFO L290 TraceCheckUtils]: 34: Hoare triple {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:50:19,278 INFO L290 TraceCheckUtils]: 35: Hoare triple {27545#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:50:19,278 INFO L290 TraceCheckUtils]: 36: Hoare triple {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:50:19,279 INFO L290 TraceCheckUtils]: 37: Hoare triple {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:50:19,279 INFO L272 TraceCheckUtils]: 38: Hoare triple {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:19,279 INFO L290 TraceCheckUtils]: 39: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:19,279 INFO L290 TraceCheckUtils]: 40: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:19,279 INFO L290 TraceCheckUtils]: 41: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:19,280 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27492#true} {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:50:19,280 INFO L272 TraceCheckUtils]: 43: Hoare triple {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:19,280 INFO L290 TraceCheckUtils]: 44: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:19,280 INFO L290 TraceCheckUtils]: 45: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:19,280 INFO L290 TraceCheckUtils]: 46: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:19,281 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27492#true} {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:50:19,281 INFO L272 TraceCheckUtils]: 48: Hoare triple {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:19,281 INFO L290 TraceCheckUtils]: 49: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:19,281 INFO L290 TraceCheckUtils]: 50: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:19,281 INFO L290 TraceCheckUtils]: 51: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:19,282 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27492#true} {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:50:19,282 INFO L290 TraceCheckUtils]: 53: Hoare triple {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:50:19,283 INFO L290 TraceCheckUtils]: 54: Hoare triple {27603#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-15 14:50:19,284 INFO L290 TraceCheckUtils]: 55: Hoare triple {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-15 14:50:19,284 INFO L290 TraceCheckUtils]: 56: Hoare triple {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(#t~post6 < 5);havoc #t~post6; {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-15 14:50:19,284 INFO L272 TraceCheckUtils]: 57: Hoare triple {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:19,284 INFO L290 TraceCheckUtils]: 58: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:19,284 INFO L290 TraceCheckUtils]: 59: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:19,284 INFO L290 TraceCheckUtils]: 60: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:19,288 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27492#true} {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #68#return; {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-15 14:50:19,288 INFO L272 TraceCheckUtils]: 62: Hoare triple {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:19,288 INFO L290 TraceCheckUtils]: 63: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:19,288 INFO L290 TraceCheckUtils]: 64: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:19,288 INFO L290 TraceCheckUtils]: 65: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:19,289 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27492#true} {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #70#return; {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-15 14:50:19,289 INFO L272 TraceCheckUtils]: 67: Hoare triple {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:19,289 INFO L290 TraceCheckUtils]: 68: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:19,289 INFO L290 TraceCheckUtils]: 69: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:19,289 INFO L290 TraceCheckUtils]: 70: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:19,290 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27492#true} {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #72#return; {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-15 14:50:19,290 INFO L290 TraceCheckUtils]: 72: Hoare triple {27661#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {27716#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:50:19,291 INFO L290 TraceCheckUtils]: 73: Hoare triple {27716#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)) (not (= main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-15 14:50:19,292 INFO L290 TraceCheckUtils]: 74: Hoare triple {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-15 14:50:19,292 INFO L290 TraceCheckUtils]: 75: Hoare triple {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-15 14:50:19,292 INFO L272 TraceCheckUtils]: 76: Hoare triple {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:19,293 INFO L290 TraceCheckUtils]: 77: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:19,293 INFO L290 TraceCheckUtils]: 78: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:19,293 INFO L290 TraceCheckUtils]: 79: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:19,293 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27492#true} {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #68#return; {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-15 14:50:19,293 INFO L272 TraceCheckUtils]: 81: Hoare triple {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:19,293 INFO L290 TraceCheckUtils]: 82: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:19,293 INFO L290 TraceCheckUtils]: 83: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:19,294 INFO L290 TraceCheckUtils]: 84: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:19,294 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27492#true} {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #70#return; {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-15 14:50:19,295 INFO L272 TraceCheckUtils]: 86: Hoare triple {27720#(and (= (- 2) (+ (* (- 1) main_~s~0) 1)) (< main_~b~0 main_~y~0) (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 3))) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27760#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:50:19,295 INFO L290 TraceCheckUtils]: 87: Hoare triple {27760#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27764#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:50:19,296 INFO L290 TraceCheckUtils]: 88: Hoare triple {27764#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27493#false} is VALID [2022-04-15 14:50:19,296 INFO L290 TraceCheckUtils]: 89: Hoare triple {27493#false} assume !false; {27493#false} is VALID [2022-04-15 14:50:19,296 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-15 14:50:19,296 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:50:20,012 INFO L290 TraceCheckUtils]: 89: Hoare triple {27493#false} assume !false; {27493#false} is VALID [2022-04-15 14:50:20,013 INFO L290 TraceCheckUtils]: 88: Hoare triple {27764#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27493#false} is VALID [2022-04-15 14:50:20,014 INFO L290 TraceCheckUtils]: 87: Hoare triple {27760#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27764#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:50:20,014 INFO L272 TraceCheckUtils]: 86: Hoare triple {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27760#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:50:20,015 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27492#true} {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:50:20,015 INFO L290 TraceCheckUtils]: 84: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:20,015 INFO L290 TraceCheckUtils]: 83: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:20,015 INFO L290 TraceCheckUtils]: 82: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:20,015 INFO L272 TraceCheckUtils]: 81: Hoare triple {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:20,016 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27492#true} {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:50:20,016 INFO L290 TraceCheckUtils]: 79: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:20,016 INFO L290 TraceCheckUtils]: 78: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:20,016 INFO L290 TraceCheckUtils]: 77: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:20,016 INFO L272 TraceCheckUtils]: 76: Hoare triple {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:20,016 INFO L290 TraceCheckUtils]: 75: Hoare triple {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:50:20,017 INFO L290 TraceCheckUtils]: 74: Hoare triple {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:50:20,099 INFO L290 TraceCheckUtils]: 73: Hoare triple {27820#(or (< main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {27780#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:50:20,100 INFO L290 TraceCheckUtils]: 72: Hoare triple {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(~a~0 != ~b~0); {27820#(or (< main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:50:20,100 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27492#true} {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #72#return; {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:50:20,100 INFO L290 TraceCheckUtils]: 70: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:20,101 INFO L290 TraceCheckUtils]: 69: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:20,101 INFO L290 TraceCheckUtils]: 68: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:20,101 INFO L272 TraceCheckUtils]: 67: Hoare triple {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:20,101 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27492#true} {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #70#return; {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:50:20,101 INFO L290 TraceCheckUtils]: 65: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:20,101 INFO L290 TraceCheckUtils]: 64: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:20,101 INFO L290 TraceCheckUtils]: 63: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:20,102 INFO L272 TraceCheckUtils]: 62: Hoare triple {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:20,102 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27492#true} {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #68#return; {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:50:20,102 INFO L290 TraceCheckUtils]: 60: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:20,102 INFO L290 TraceCheckUtils]: 59: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:20,102 INFO L290 TraceCheckUtils]: 58: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:20,102 INFO L272 TraceCheckUtils]: 57: Hoare triple {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:20,103 INFO L290 TraceCheckUtils]: 56: Hoare triple {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:50:20,103 INFO L290 TraceCheckUtils]: 55: Hoare triple {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:50:20,291 INFO L290 TraceCheckUtils]: 54: Hoare triple {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27824#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:50:20,292 INFO L290 TraceCheckUtils]: 53: Hoare triple {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !!(~a~0 != ~b~0); {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-15 14:50:20,292 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27492#true} {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #72#return; {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-15 14:50:20,292 INFO L290 TraceCheckUtils]: 51: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:20,292 INFO L290 TraceCheckUtils]: 50: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:20,292 INFO L290 TraceCheckUtils]: 49: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:20,293 INFO L272 TraceCheckUtils]: 48: Hoare triple {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:20,293 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27492#true} {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #70#return; {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-15 14:50:20,293 INFO L290 TraceCheckUtils]: 46: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:20,293 INFO L290 TraceCheckUtils]: 45: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:20,293 INFO L290 TraceCheckUtils]: 44: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:20,293 INFO L272 TraceCheckUtils]: 43: Hoare triple {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:20,294 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27492#true} {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #68#return; {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-15 14:50:20,294 INFO L290 TraceCheckUtils]: 41: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:20,294 INFO L290 TraceCheckUtils]: 40: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:20,294 INFO L290 TraceCheckUtils]: 39: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:20,294 INFO L272 TraceCheckUtils]: 38: Hoare triple {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:20,295 INFO L290 TraceCheckUtils]: 37: Hoare triple {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !!(#t~post6 < 5);havoc #t~post6; {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-15 14:50:20,295 INFO L290 TraceCheckUtils]: 36: Hoare triple {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-15 14:50:20,471 INFO L290 TraceCheckUtils]: 35: Hoare triple {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27879#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-15 14:50:20,472 INFO L290 TraceCheckUtils]: 34: Hoare triple {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !!(~a~0 != ~b~0); {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-15 14:50:20,473 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27492#true} {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #72#return; {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-15 14:50:20,473 INFO L290 TraceCheckUtils]: 32: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:20,473 INFO L290 TraceCheckUtils]: 31: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:20,473 INFO L290 TraceCheckUtils]: 30: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:20,473 INFO L272 TraceCheckUtils]: 29: Hoare triple {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:20,474 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27492#true} {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #70#return; {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-15 14:50:20,474 INFO L290 TraceCheckUtils]: 27: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:20,474 INFO L290 TraceCheckUtils]: 26: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:20,474 INFO L290 TraceCheckUtils]: 25: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:20,474 INFO L272 TraceCheckUtils]: 24: Hoare triple {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:20,475 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27492#true} {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #68#return; {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-15 14:50:20,475 INFO L290 TraceCheckUtils]: 22: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:20,475 INFO L290 TraceCheckUtils]: 21: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:20,475 INFO L290 TraceCheckUtils]: 20: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:20,475 INFO L272 TraceCheckUtils]: 19: Hoare triple {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:20,475 INFO L290 TraceCheckUtils]: 18: Hoare triple {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-15 14:50:20,476 INFO L290 TraceCheckUtils]: 17: Hoare triple {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-15 14:50:20,476 INFO L290 TraceCheckUtils]: 16: Hoare triple {27492#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27937#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-15 14:50:20,477 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27492#true} {27492#true} #66#return; {27492#true} is VALID [2022-04-15 14:50:20,477 INFO L290 TraceCheckUtils]: 14: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:20,477 INFO L290 TraceCheckUtils]: 13: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:20,477 INFO L290 TraceCheckUtils]: 12: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:20,477 INFO L272 TraceCheckUtils]: 11: Hoare triple {27492#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:20,477 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27492#true} {27492#true} #64#return; {27492#true} is VALID [2022-04-15 14:50:20,477 INFO L290 TraceCheckUtils]: 9: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:20,477 INFO L290 TraceCheckUtils]: 8: Hoare triple {27492#true} assume !(0 == ~cond); {27492#true} is VALID [2022-04-15 14:50:20,477 INFO L290 TraceCheckUtils]: 7: Hoare triple {27492#true} ~cond := #in~cond; {27492#true} is VALID [2022-04-15 14:50:20,477 INFO L272 TraceCheckUtils]: 6: Hoare triple {27492#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27492#true} is VALID [2022-04-15 14:50:20,477 INFO L290 TraceCheckUtils]: 5: Hoare triple {27492#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27492#true} is VALID [2022-04-15 14:50:20,477 INFO L272 TraceCheckUtils]: 4: Hoare triple {27492#true} call #t~ret7 := main(); {27492#true} is VALID [2022-04-15 14:50:20,477 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27492#true} {27492#true} #82#return; {27492#true} is VALID [2022-04-15 14:50:20,477 INFO L290 TraceCheckUtils]: 2: Hoare triple {27492#true} assume true; {27492#true} is VALID [2022-04-15 14:50:20,478 INFO L290 TraceCheckUtils]: 1: Hoare triple {27492#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27492#true} is VALID [2022-04-15 14:50:20,478 INFO L272 TraceCheckUtils]: 0: Hoare triple {27492#true} call ULTIMATE.init(); {27492#true} is VALID [2022-04-15 14:50:20,478 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-15 14:50:20,478 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:50:20,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [244278347] [2022-04-15 14:50:20,478 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:50:20,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1887165526] [2022-04-15 14:50:20,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1887165526] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:50:20,478 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:50:20,479 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-15 14:50:20,479 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:50:20,479 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [636883770] [2022-04-15 14:50:20,479 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [636883770] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:50:20,479 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:50:20,479 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 14:50:20,479 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [758646094] [2022-04-15 14:50:20,479 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:50:20,479 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-15 14:50:20,480 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:50:20,480 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-15 14:50:20,536 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-15 14:50:20,536 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 14:50:20,536 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:20,537 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 14:50:20,537 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-15 14:50:20,537 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-15 14:50:22,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:22,399 INFO L93 Difference]: Finished difference Result 291 states and 354 transitions. [2022-04-15 14:50:22,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 14:50:22,399 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-15 14:50:22,399 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:50:22,399 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-15 14:50:22,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-15 14:50:22,401 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-15 14:50:22,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-15 14:50:22,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-15 14:50:22,536 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-15 14:50:22,543 INFO L225 Difference]: With dead ends: 291 [2022-04-15 14:50:22,543 INFO L226 Difference]: Without dead ends: 285 [2022-04-15 14:50:22,544 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 180 GetRequests, 166 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-15 14:50:22,544 INFO L913 BasicCegarLoop]: 56 mSDtfsCounter, 10 mSDsluCounter, 187 mSDsCounter, 0 mSdLazyCounter, 289 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 243 SdHoareTripleChecker+Invalid, 299 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 289 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 14:50:22,544 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 243 Invalid, 299 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 289 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 14:50:22,545 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 285 states. [2022-04-15 14:50:22,857 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 285 to 269. [2022-04-15 14:50:22,857 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:50:22,858 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-15 14:50:22,858 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-15 14:50:22,858 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-15 14:50:22,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:22,863 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-15 14:50:22,863 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-15 14:50:22,864 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:22,864 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:22,864 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-15 14:50:22,865 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-15 14:50:22,871 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:50:22,871 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-15 14:50:22,871 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-15 14:50:22,872 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:50:22,872 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:50:22,872 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:50:22,872 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:50:22,872 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-15 14:50:22,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 269 states to 269 states and 319 transitions. [2022-04-15 14:50:22,879 INFO L78 Accepts]: Start accepts. Automaton has 269 states and 319 transitions. Word has length 90 [2022-04-15 14:50:22,879 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:50:22,879 INFO L478 AbstractCegarLoop]: Abstraction has 269 states and 319 transitions. [2022-04-15 14:50:22,880 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 14:50:22,880 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 269 states and 319 transitions. [2022-04-15 14:50:23,581 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-15 14:50:23,581 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 319 transitions. [2022-04-15 14:50:23,582 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-15 14:50:23,582 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:50:23,582 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:50:23,598 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Ended with exit code 0 [2022-04-15 14:50:23,782 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-04-15 14:50:23,782 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:50:23,783 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:50:23,783 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 15 times [2022-04-15 14:50:23,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:50:23,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [63273774] [2022-04-15 14:50:23,784 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:50:23,784 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 16 times [2022-04-15 14:50:23,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:50:23,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2141465764] [2022-04-15 14:50:23,784 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:50:23,784 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:50:23,806 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:50:23,806 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1457003169] [2022-04-15 14:50:23,806 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:50:23,806 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:50:23,806 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:50:23,810 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-15 14:50:23,839 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-15 14:50:23,872 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:50:23,872 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:50:23,873 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-15 14:50:24,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:50:24,012 INFO L286 TraceCheckSpWp]: Computing forward predicates...