/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_valuebound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:14:02,052 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:14:02,053 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:14:02,114 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:14:02,114 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:14:02,115 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:14:02,116 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:14:02,117 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:14:02,118 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:14:02,118 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:14:02,119 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:14:02,119 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:14:02,120 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:14:02,120 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:14:02,121 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:14:02,121 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:14:02,122 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:14:02,122 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:14:02,123 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:14:02,126 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:14:02,127 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:14:02,128 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:14:02,129 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:14:02,129 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:14:02,130 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:14:02,132 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:14:02,132 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:14:02,132 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:14:02,133 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:14:02,133 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:14:02,134 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:14:02,134 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:14:02,135 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:14:02,135 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:14:02,136 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:14:02,137 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:14:02,137 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:14:02,137 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:14:02,138 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:14:02,138 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:14:02,139 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:14:02,145 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:14:02,145 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:14:02,157 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:14:02,158 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:14:02,160 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:14:02,160 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:14:02,160 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:14:02,160 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:14:02,161 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:14:02,161 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:14:02,161 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:14:02,161 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:14:02,162 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:14:02,162 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:14:02,162 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:14:02,162 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:14:02,162 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:14:02,162 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:14:02,162 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:14:02,162 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:14:02,162 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:14:02,163 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:14:02,163 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:14:02,163 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:14:02,163 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 12:14:02,351 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:14:02,377 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:14:02,379 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:14:02,379 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:14:02,380 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:14:02,381 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound20.c [2022-04-28 12:14:02,439 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3a467b96c/c5da1de35ba14ef9b2bf75ba1b691f24/FLAGb8e24d872 [2022-04-28 12:14:02,730 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:14:02,730 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound20.c [2022-04-28 12:14:02,738 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3a467b96c/c5da1de35ba14ef9b2bf75ba1b691f24/FLAGb8e24d872 [2022-04-28 12:14:03,163 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3a467b96c/c5da1de35ba14ef9b2bf75ba1b691f24 [2022-04-28 12:14:03,165 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:14:03,166 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:14:03,177 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:14:03,178 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:14:03,180 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:14:03,181 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:14:03" (1/1) ... [2022-04-28 12:14:03,181 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@147d6427 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:03, skipping insertion in model container [2022-04-28 12:14:03,182 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:14:03" (1/1) ... [2022-04-28 12:14:03,186 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:14:03,198 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:14:03,331 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_valuebound20.c[489,502] [2022-04-28 12:14:03,347 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:14:03,354 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:14:03,363 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_valuebound20.c[489,502] [2022-04-28 12:14:03,375 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:14:03,384 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:14:03,384 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:03 WrapperNode [2022-04-28 12:14:03,384 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:14:03,385 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:14:03,385 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:14:03,385 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:14:03,398 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:03" (1/1) ... [2022-04-28 12:14:03,398 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:03" (1/1) ... [2022-04-28 12:14:03,403 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:03" (1/1) ... [2022-04-28 12:14:03,403 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:03" (1/1) ... [2022-04-28 12:14:03,408 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:03" (1/1) ... [2022-04-28 12:14:03,411 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:03" (1/1) ... [2022-04-28 12:14:03,412 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:03" (1/1) ... [2022-04-28 12:14:03,413 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:14:03,414 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:14:03,414 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:14:03,414 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:14:03,415 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:03" (1/1) ... [2022-04-28 12:14:03,424 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:14:03,432 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:03,442 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 12:14:03,450 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 12:14:03,475 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:14:03,476 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:14:03,476 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:14:03,476 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:14:03,476 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:14:03,476 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:14:03,476 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:14:03,476 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:14:03,476 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:14:03,477 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:14:03,477 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:14:03,477 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:14:03,477 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:14:03,477 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:14:03,477 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:14:03,477 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:14:03,477 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:14:03,477 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:14:03,478 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:14:03,478 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:14:03,534 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:14:03,535 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:14:03,701 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:14:03,714 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:14:03,714 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 12:14:03,715 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:14:03 BoogieIcfgContainer [2022-04-28 12:14:03,715 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:14:03,717 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:14:03,717 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:14:03,723 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:14:03,723 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:14:03" (1/3) ... [2022-04-28 12:14:03,724 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@59172711 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:14:03, skipping insertion in model container [2022-04-28 12:14:03,724 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:14:03" (2/3) ... [2022-04-28 12:14:03,724 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@59172711 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:14:03, skipping insertion in model container [2022-04-28 12:14:03,724 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:14:03" (3/3) ... [2022-04-28 12:14:03,725 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound20.c [2022-04-28 12:14:03,734 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:14:03,734 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:14:03,775 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:14:03,780 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@5c2e6c65, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@6963616 [2022-04-28 12:14:03,780 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:14:03,788 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:14:03,793 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:14:03,793 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:03,793 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:03,794 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:03,797 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:03,797 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 1 times [2022-04-28 12:14:03,802 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:03,802 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1145254895] [2022-04-28 12:14:03,809 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:03,810 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 2 times [2022-04-28 12:14:03,812 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:03,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2119197160] [2022-04-28 12:14:03,812 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:03,813 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:03,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:03,960 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:14:03,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:03,979 INFO L290 TraceCheckUtils]: 0: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-28 12:14:03,979 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 12:14:03,979 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-28 12:14:03,980 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:14:03,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:03,991 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:03,992 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:03,993 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:03,994 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-28 12:14:03,994 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:14:04,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:04,013 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:04,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:04,014 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:04,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-28 12:14:04,016 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:14:04,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:04,028 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:04,028 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:04,028 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:04,029 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-28 12:14:04,029 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 12:14:04,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:04,040 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:04,041 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:04,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:04,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-28 12:14:04,042 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:14:04,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-28 12:14:04,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 12:14:04,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-28 12:14:04,044 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-28 12:14:04,044 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#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; {40#true} is VALID [2022-04-28 12:14:04,044 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {40#true} is VALID [2022-04-28 12:14:04,044 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:04,046 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:04,046 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:04,046 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-28 12:14:04,047 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {41#false} is VALID [2022-04-28 12:14:04,047 INFO L272 TraceCheckUtils]: 12: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {40#true} is VALID [2022-04-28 12:14:04,047 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:04,047 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:04,047 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:04,048 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-28 12:14:04,048 INFO L272 TraceCheckUtils]: 17: Hoare triple {41#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-28 12:14:04,049 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:04,049 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:04,049 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:04,049 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-28 12:14:04,050 INFO L272 TraceCheckUtils]: 22: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-28 12:14:04,050 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:14:04,050 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:14:04,051 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:14:04,051 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-28 12:14:04,051 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41#false} is VALID [2022-04-28 12:14:04,052 INFO L290 TraceCheckUtils]: 28: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-28 12:14:04,054 INFO L272 TraceCheckUtils]: 29: Hoare triple {41#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {41#false} is VALID [2022-04-28 12:14:04,054 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-28 12:14:04,055 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-28 12:14:04,055 INFO L290 TraceCheckUtils]: 32: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-28 12:14:04,055 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:14:04,056 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:04,056 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2119197160] [2022-04-28 12:14:04,056 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2119197160] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:04,056 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:04,057 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:14:04,058 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:04,059 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1145254895] [2022-04-28 12:14:04,059 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1145254895] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:04,059 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:04,059 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:14:04,059 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1519572191] [2022-04-28 12:14:04,059 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:04,064 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:14:04,066 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:04,068 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:14:04,098 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:04,099 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:14:04,099 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:04,120 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:14:04,121 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:14:04,123 INFO L87 Difference]: Start difference. First operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:14:04,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:04,301 INFO L93 Difference]: Finished difference Result 67 states and 105 transitions. [2022-04-28 12:14:04,301 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:14:04,301 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:14:04,301 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:04,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:14:04,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-28 12:14:04,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:14:04,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-28 12:14:04,329 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 105 transitions. [2022-04-28 12:14:04,428 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:04,434 INFO L225 Difference]: With dead ends: 67 [2022-04-28 12:14:04,434 INFO L226 Difference]: Without dead ends: 32 [2022-04-28 12:14:04,436 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:14:04,438 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:04,439 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 39 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:14:04,449 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-28 12:14:04,462 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-28 12:14:04,462 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:04,463 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:14:04,464 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:14:04,465 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:14:04,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:04,469 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-28 12:14:04,469 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 12:14:04,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:04,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:04,470 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-28 12:14:04,471 INFO L87 Difference]: Start difference. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-28 12:14:04,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:04,474 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-28 12:14:04,474 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 12:14:04,474 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:04,474 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:04,475 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:04,475 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:04,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:14:04,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-28 12:14:04,478 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 33 [2022-04-28 12:14:04,478 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:04,478 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-28 12:14:04,478 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:14:04,478 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-28 12:14:04,519 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:04,519 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 12:14:04,520 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:14:04,520 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:04,520 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:04,520 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:14:04,520 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:04,521 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:04,521 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 1 times [2022-04-28 12:14:04,521 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:04,521 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [570382756] [2022-04-28 12:14:04,522 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:04,522 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 2 times [2022-04-28 12:14:04,522 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:04,522 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [171979815] [2022-04-28 12:14:04,522 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:04,522 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:04,559 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:04,559 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [214176889] [2022-04-28 12:14:04,560 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:04,560 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:04,560 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:04,588 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:14:04,651 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 12:14:04,710 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:14:04,710 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:04,711 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:14:04,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:04,724 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:06,705 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-28 12:14:06,706 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#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); {326#true} is VALID [2022-04-28 12:14:06,706 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:14:06,706 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #88#return; {326#true} is VALID [2022-04-28 12:14:06,706 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-28 12:14:06,706 INFO L290 TraceCheckUtils]: 5: Hoare triple {326#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; {326#true} is VALID [2022-04-28 12:14:06,706 INFO L272 TraceCheckUtils]: 6: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {326#true} is VALID [2022-04-28 12:14:06,706 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:14:06,706 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:14:06,707 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:14:06,707 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #66#return; {326#true} is VALID [2022-04-28 12:14:06,707 INFO L290 TraceCheckUtils]: 11: Hoare triple {326#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {326#true} is VALID [2022-04-28 12:14:06,707 INFO L272 TraceCheckUtils]: 12: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {326#true} is VALID [2022-04-28 12:14:06,707 INFO L290 TraceCheckUtils]: 13: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:14:06,707 INFO L290 TraceCheckUtils]: 14: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:14:06,707 INFO L290 TraceCheckUtils]: 15: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:14:06,707 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {326#true} {326#true} #68#return; {326#true} is VALID [2022-04-28 12:14:06,707 INFO L272 TraceCheckUtils]: 17: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-28 12:14:06,707 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:14:06,708 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:14:06,708 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:14:06,708 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {326#true} #70#return; {326#true} is VALID [2022-04-28 12:14:06,708 INFO L272 TraceCheckUtils]: 22: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-28 12:14:06,708 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:14:06,708 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:14:06,708 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:14:06,708 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {326#true} #72#return; {326#true} is VALID [2022-04-28 12:14:06,723 INFO L290 TraceCheckUtils]: 27: Hoare triple {326#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:14:06,724 INFO L290 TraceCheckUtils]: 28: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !false; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:14:06,724 INFO L272 TraceCheckUtils]: 29: Hoare triple {412#(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)); {419#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:06,725 INFO L290 TraceCheckUtils]: 30: Hoare triple {419#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {423#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:06,725 INFO L290 TraceCheckUtils]: 31: Hoare triple {423#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {327#false} is VALID [2022-04-28 12:14:06,725 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-28 12:14:06,726 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:14:06,726 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:14:06,726 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:06,726 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [171979815] [2022-04-28 12:14:06,726 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:06,727 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [214176889] [2022-04-28 12:14:06,727 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [214176889] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:06,727 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:06,727 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:06,728 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:06,728 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [570382756] [2022-04-28 12:14:06,728 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [570382756] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:06,728 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:06,728 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:06,728 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1990050668] [2022-04-28 12:14:06,728 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:06,729 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-28 12:14:06,729 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:06,730 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:14:06,758 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:06,758 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:14:06,759 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:06,760 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:14:06,763 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:14:06,763 INFO L87 Difference]: Start difference. First operand 32 states and 42 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:14:07,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:07,029 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-04-28 12:14:07,029 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:14:07,030 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-28 12:14:07,030 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:07,030 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:14:07,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:14:07,032 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:14:07,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:14:07,034 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:14:07,104 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:07,106 INFO L225 Difference]: With dead ends: 48 [2022-04-28 12:14:07,106 INFO L226 Difference]: Without dead ends: 46 [2022-04-28 12:14:07,107 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:14:07,108 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:07,108 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 143 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:14:07,109 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-28 12:14:07,118 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-04-28 12:14:07,118 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:07,119 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:07,119 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:07,120 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:07,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:07,123 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-28 12:14:07,123 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-28 12:14:07,124 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:07,124 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:07,124 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-28 12:14:07,125 INFO L87 Difference]: Start difference. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-28 12:14:07,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:07,128 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-28 12:14:07,128 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-28 12:14:07,129 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:07,129 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:07,129 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:07,129 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:07,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:07,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 62 transitions. [2022-04-28 12:14:07,132 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 62 transitions. Word has length 33 [2022-04-28 12:14:07,132 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:07,132 INFO L495 AbstractCegarLoop]: Abstraction has 45 states and 62 transitions. [2022-04-28 12:14:07,132 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:14:07,133 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 62 transitions. [2022-04-28 12:14:07,232 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:07,233 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-28 12:14:07,234 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 12:14:07,234 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:07,234 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:07,259 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 12:14:07,439 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:07,440 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:07,440 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:07,440 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 1 times [2022-04-28 12:14:07,440 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:07,440 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [379147238] [2022-04-28 12:14:07,441 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:07,441 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 2 times [2022-04-28 12:14:07,441 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:07,441 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1539229598] [2022-04-28 12:14:07,441 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:07,441 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:07,462 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:07,463 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1525401199] [2022-04-28 12:14:07,463 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:07,463 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:07,463 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:07,468 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:14:07,469 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 12:14:07,508 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:07,508 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:07,509 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:14:07,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:07,518 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:11,719 INFO L272 TraceCheckUtils]: 0: Hoare triple {709#true} call ULTIMATE.init(); {709#true} is VALID [2022-04-28 12:14:11,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {709#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); {709#true} is VALID [2022-04-28 12:14:11,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:11,720 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {709#true} {709#true} #88#return; {709#true} is VALID [2022-04-28 12:14:11,720 INFO L272 TraceCheckUtils]: 4: Hoare triple {709#true} call #t~ret6 := main(); {709#true} is VALID [2022-04-28 12:14:11,720 INFO L290 TraceCheckUtils]: 5: Hoare triple {709#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; {709#true} is VALID [2022-04-28 12:14:11,720 INFO L272 TraceCheckUtils]: 6: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {709#true} is VALID [2022-04-28 12:14:11,720 INFO L290 TraceCheckUtils]: 7: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:14:11,721 INFO L290 TraceCheckUtils]: 8: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:14:11,721 INFO L290 TraceCheckUtils]: 9: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:11,721 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {709#true} {709#true} #66#return; {709#true} is VALID [2022-04-28 12:14:11,721 INFO L290 TraceCheckUtils]: 11: Hoare triple {709#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {709#true} is VALID [2022-04-28 12:14:11,721 INFO L272 TraceCheckUtils]: 12: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {709#true} is VALID [2022-04-28 12:14:11,721 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:14:11,722 INFO L290 TraceCheckUtils]: 14: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:14:11,722 INFO L290 TraceCheckUtils]: 15: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:11,722 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {709#true} {709#true} #68#return; {709#true} is VALID [2022-04-28 12:14:11,722 INFO L272 TraceCheckUtils]: 17: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-28 12:14:11,722 INFO L290 TraceCheckUtils]: 18: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:14:11,722 INFO L290 TraceCheckUtils]: 19: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:14:11,722 INFO L290 TraceCheckUtils]: 20: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:11,723 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {709#true} {709#true} #70#return; {709#true} is VALID [2022-04-28 12:14:11,723 INFO L272 TraceCheckUtils]: 22: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-28 12:14:11,723 INFO L290 TraceCheckUtils]: 23: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:14:11,723 INFO L290 TraceCheckUtils]: 24: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:14:11,723 INFO L290 TraceCheckUtils]: 25: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:11,723 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {709#true} {709#true} #72#return; {709#true} is VALID [2022-04-28 12:14:11,725 INFO L290 TraceCheckUtils]: 27: Hoare triple {709#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:11,726 INFO L290 TraceCheckUtils]: 28: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:11,726 INFO L272 TraceCheckUtils]: 29: Hoare triple {795#(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)); {709#true} is VALID [2022-04-28 12:14:11,726 INFO L290 TraceCheckUtils]: 30: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:14:11,726 INFO L290 TraceCheckUtils]: 31: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:14:11,726 INFO L290 TraceCheckUtils]: 32: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:11,727 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {709#true} {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:11,728 INFO L272 TraceCheckUtils]: 34: Hoare triple {795#(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)); {817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:11,728 INFO L290 TraceCheckUtils]: 35: Hoare triple {817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:11,729 INFO L290 TraceCheckUtils]: 36: Hoare triple {821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {710#false} is VALID [2022-04-28 12:14:11,729 INFO L290 TraceCheckUtils]: 37: Hoare triple {710#false} assume !false; {710#false} is VALID [2022-04-28 12:14:11,729 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:14:11,729 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:14:11,729 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:11,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1539229598] [2022-04-28 12:14:11,730 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:11,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1525401199] [2022-04-28 12:14:11,730 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1525401199] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:11,730 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:11,730 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:11,730 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:11,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [379147238] [2022-04-28 12:14:11,730 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [379147238] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:11,731 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:11,731 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:11,731 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [246262713] [2022-04-28 12:14:11,731 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:11,731 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, (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 38 [2022-04-28 12:14:11,731 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:11,732 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:14:11,760 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:11,760 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:14:11,760 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:11,761 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:14:11,761 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:14:11,761 INFO L87 Difference]: Start difference. First operand 45 states and 62 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:14:11,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:11,991 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2022-04-28 12:14:11,991 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:14:11,992 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, (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 38 [2022-04-28 12:14:11,992 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:11,992 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:14:11,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:14:11,994 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:14:11,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:14:11,996 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:14:12,047 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:12,049 INFO L225 Difference]: With dead ends: 52 [2022-04-28 12:14:12,049 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 12:14:12,050 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 34 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:14:12,051 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:12,051 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 140 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:14:12,052 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 12:14:12,064 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-28 12:14:12,064 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:12,065 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:12,065 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:12,066 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:12,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:12,068 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-28 12:14:12,068 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-28 12:14:12,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:12,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:12,069 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-28 12:14:12,070 INFO L87 Difference]: Start difference. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-28 12:14:12,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:12,072 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-28 12:14:12,072 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-28 12:14:12,073 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:12,073 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:12,073 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:12,073 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:12,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:12,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 65 transitions. [2022-04-28 12:14:12,076 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 65 transitions. Word has length 38 [2022-04-28 12:14:12,076 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:12,076 INFO L495 AbstractCegarLoop]: Abstraction has 49 states and 65 transitions. [2022-04-28 12:14:12,076 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:14:12,076 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 65 transitions. [2022-04-28 12:14:12,142 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:12,142 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-28 12:14:12,143 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 12:14:12,143 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:12,143 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:12,184 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 12:14:12,357 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 12:14:12,358 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:12,358 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:12,358 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 1 times [2022-04-28 12:14:12,358 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:12,358 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2020951639] [2022-04-28 12:14:12,359 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:12,359 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 2 times [2022-04-28 12:14:12,359 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:12,359 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [249112922] [2022-04-28 12:14:12,359 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:12,360 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:12,377 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:12,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [689345286] [2022-04-28 12:14:12,377 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:12,377 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:12,378 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:12,380 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:14:12,416 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 12:14:12,440 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:12,440 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:12,441 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:14:12,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:12,454 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:16,643 INFO L272 TraceCheckUtils]: 0: Hoare triple {1131#true} call ULTIMATE.init(); {1131#true} is VALID [2022-04-28 12:14:16,643 INFO L290 TraceCheckUtils]: 1: Hoare triple {1131#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); {1131#true} is VALID [2022-04-28 12:14:16,643 INFO L290 TraceCheckUtils]: 2: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:14:16,643 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1131#true} {1131#true} #88#return; {1131#true} is VALID [2022-04-28 12:14:16,643 INFO L272 TraceCheckUtils]: 4: Hoare triple {1131#true} call #t~ret6 := main(); {1131#true} is VALID [2022-04-28 12:14:16,643 INFO L290 TraceCheckUtils]: 5: Hoare triple {1131#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; {1131#true} is VALID [2022-04-28 12:14:16,643 INFO L272 TraceCheckUtils]: 6: Hoare triple {1131#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:14:16,644 INFO L290 TraceCheckUtils]: 7: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:14:16,644 INFO L290 TraceCheckUtils]: 8: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:14:16,644 INFO L290 TraceCheckUtils]: 9: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:14:16,644 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1131#true} {1131#true} #66#return; {1131#true} is VALID [2022-04-28 12:14:16,644 INFO L290 TraceCheckUtils]: 11: Hoare triple {1131#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1131#true} is VALID [2022-04-28 12:14:16,644 INFO L272 TraceCheckUtils]: 12: Hoare triple {1131#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:14:16,644 INFO L290 TraceCheckUtils]: 13: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:14:16,644 INFO L290 TraceCheckUtils]: 14: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:14:16,644 INFO L290 TraceCheckUtils]: 15: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:14:16,644 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1131#true} {1131#true} #68#return; {1131#true} is VALID [2022-04-28 12:14:16,644 INFO L272 TraceCheckUtils]: 17: Hoare triple {1131#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:14:16,645 INFO L290 TraceCheckUtils]: 18: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:14:16,645 INFO L290 TraceCheckUtils]: 19: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:14:16,645 INFO L290 TraceCheckUtils]: 20: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:14:16,645 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1131#true} {1131#true} #70#return; {1131#true} is VALID [2022-04-28 12:14:16,645 INFO L272 TraceCheckUtils]: 22: Hoare triple {1131#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:14:16,645 INFO L290 TraceCheckUtils]: 23: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:14:16,645 INFO L290 TraceCheckUtils]: 24: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:14:16,645 INFO L290 TraceCheckUtils]: 25: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:14:16,645 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1131#true} {1131#true} #72#return; {1131#true} is VALID [2022-04-28 12:14:16,646 INFO L290 TraceCheckUtils]: 27: Hoare triple {1131#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:14:16,646 INFO L290 TraceCheckUtils]: 28: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:14:16,646 INFO L272 TraceCheckUtils]: 29: Hoare triple {1217#(and (= 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)); {1131#true} is VALID [2022-04-28 12:14:16,646 INFO L290 TraceCheckUtils]: 30: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:14:16,646 INFO L290 TraceCheckUtils]: 31: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:14:16,646 INFO L290 TraceCheckUtils]: 32: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:14:16,647 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1131#true} {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:14:16,647 INFO L272 TraceCheckUtils]: 34: Hoare triple {1217#(and (= 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)); {1131#true} is VALID [2022-04-28 12:14:16,647 INFO L290 TraceCheckUtils]: 35: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:14:16,647 INFO L290 TraceCheckUtils]: 36: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:14:16,648 INFO L290 TraceCheckUtils]: 37: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:14:16,648 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1131#true} {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:14:16,649 INFO L272 TraceCheckUtils]: 39: Hoare triple {1217#(and (= 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)); {1254#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:16,649 INFO L290 TraceCheckUtils]: 40: Hoare triple {1254#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1258#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:16,650 INFO L290 TraceCheckUtils]: 41: Hoare triple {1258#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1132#false} is VALID [2022-04-28 12:14:16,650 INFO L290 TraceCheckUtils]: 42: Hoare triple {1132#false} assume !false; {1132#false} is VALID [2022-04-28 12:14:16,650 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 12:14:16,650 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:14:16,650 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:16,650 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [249112922] [2022-04-28 12:14:16,650 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:16,650 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [689345286] [2022-04-28 12:14:16,650 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [689345286] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:16,651 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:16,651 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:16,651 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:16,651 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2020951639] [2022-04-28 12:14:16,651 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2020951639] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:16,651 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:16,651 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:16,651 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [956208777] [2022-04-28 12:14:16,651 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:16,652 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-28 12:14:16,652 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:16,652 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:14:16,677 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:16,678 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:14:16,678 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:16,678 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:14:16,678 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:14:16,679 INFO L87 Difference]: Start difference. First operand 49 states and 65 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:14:16,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:16,877 INFO L93 Difference]: Finished difference Result 74 states and 105 transitions. [2022-04-28 12:14:16,877 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:14:16,877 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-28 12:14:16,877 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:16,878 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:14:16,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:14:16,879 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:14:16,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:14:16,881 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:14:16,932 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:16,935 INFO L225 Difference]: With dead ends: 74 [2022-04-28 12:14:16,935 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 12:14:16,936 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:14:16,936 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:16,936 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 139 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:14:16,937 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 12:14:16,959 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-28 12:14:16,959 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:16,960 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:16,960 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:16,961 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:16,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:16,965 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-28 12:14:16,965 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-28 12:14:16,966 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:16,966 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:16,966 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-28 12:14:16,966 INFO L87 Difference]: Start difference. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-28 12:14:16,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:16,970 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-28 12:14:16,970 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-28 12:14:16,971 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:16,971 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:16,971 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:16,971 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:16,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:16,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 98 transitions. [2022-04-28 12:14:16,975 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 98 transitions. Word has length 43 [2022-04-28 12:14:16,975 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:16,975 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 98 transitions. [2022-04-28 12:14:16,975 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:14:16,975 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 98 transitions. [2022-04-28 12:14:17,083 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:17,084 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-28 12:14:17,084 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 12:14:17,084 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:17,084 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:17,125 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 12:14:17,285 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:17,285 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:17,286 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:17,286 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 1 times [2022-04-28 12:14:17,286 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:17,286 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [403421577] [2022-04-28 12:14:17,286 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:17,286 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 2 times [2022-04-28 12:14:17,287 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:17,287 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [850212114] [2022-04-28 12:14:17,287 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:17,287 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:17,303 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:17,303 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1144445984] [2022-04-28 12:14:17,303 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:17,303 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:17,303 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:17,320 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:14:17,328 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 12:14:17,384 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:17,384 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:17,385 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:14:17,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:17,393 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:17,501 INFO L272 TraceCheckUtils]: 0: Hoare triple {1694#true} call ULTIMATE.init(); {1694#true} is VALID [2022-04-28 12:14:17,501 INFO L290 TraceCheckUtils]: 1: Hoare triple {1694#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); {1694#true} is VALID [2022-04-28 12:14:17,502 INFO L290 TraceCheckUtils]: 2: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:17,502 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1694#true} {1694#true} #88#return; {1694#true} is VALID [2022-04-28 12:14:17,502 INFO L272 TraceCheckUtils]: 4: Hoare triple {1694#true} call #t~ret6 := main(); {1694#true} is VALID [2022-04-28 12:14:17,503 INFO L290 TraceCheckUtils]: 5: Hoare triple {1694#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; {1694#true} is VALID [2022-04-28 12:14:17,503 INFO L272 TraceCheckUtils]: 6: Hoare triple {1694#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:14:17,512 INFO L290 TraceCheckUtils]: 7: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:14:17,512 INFO L290 TraceCheckUtils]: 8: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:14:17,513 INFO L290 TraceCheckUtils]: 9: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:17,513 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1694#true} {1694#true} #66#return; {1694#true} is VALID [2022-04-28 12:14:17,513 INFO L290 TraceCheckUtils]: 11: Hoare triple {1694#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1694#true} is VALID [2022-04-28 12:14:17,513 INFO L272 TraceCheckUtils]: 12: Hoare triple {1694#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:14:17,513 INFO L290 TraceCheckUtils]: 13: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:14:17,513 INFO L290 TraceCheckUtils]: 14: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:14:17,513 INFO L290 TraceCheckUtils]: 15: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:17,513 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1694#true} {1694#true} #68#return; {1694#true} is VALID [2022-04-28 12:14:17,513 INFO L272 TraceCheckUtils]: 17: Hoare triple {1694#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:14:17,513 INFO L290 TraceCheckUtils]: 18: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:14:17,513 INFO L290 TraceCheckUtils]: 19: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:14:17,514 INFO L290 TraceCheckUtils]: 20: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:17,514 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1694#true} {1694#true} #70#return; {1694#true} is VALID [2022-04-28 12:14:17,514 INFO L272 TraceCheckUtils]: 22: Hoare triple {1694#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:14:17,514 INFO L290 TraceCheckUtils]: 23: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:14:17,514 INFO L290 TraceCheckUtils]: 24: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:14:17,514 INFO L290 TraceCheckUtils]: 25: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:17,514 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1694#true} {1694#true} #72#return; {1694#true} is VALID [2022-04-28 12:14:17,514 INFO L290 TraceCheckUtils]: 27: Hoare triple {1694#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1694#true} is VALID [2022-04-28 12:14:17,514 INFO L290 TraceCheckUtils]: 28: Hoare triple {1694#true} assume !false; {1694#true} is VALID [2022-04-28 12:14:17,514 INFO L272 TraceCheckUtils]: 29: Hoare triple {1694#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:14:17,514 INFO L290 TraceCheckUtils]: 30: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:14:17,514 INFO L290 TraceCheckUtils]: 31: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:14:17,515 INFO L290 TraceCheckUtils]: 32: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:17,515 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1694#true} {1694#true} #74#return; {1694#true} is VALID [2022-04-28 12:14:17,515 INFO L272 TraceCheckUtils]: 34: Hoare triple {1694#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:14:17,515 INFO L290 TraceCheckUtils]: 35: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:14:17,515 INFO L290 TraceCheckUtils]: 36: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:14:17,515 INFO L290 TraceCheckUtils]: 37: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:17,515 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1694#true} {1694#true} #76#return; {1694#true} is VALID [2022-04-28 12:14:17,515 INFO L272 TraceCheckUtils]: 39: Hoare triple {1694#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:14:17,515 INFO L290 TraceCheckUtils]: 40: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:14:17,515 INFO L290 TraceCheckUtils]: 41: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:14:17,515 INFO L290 TraceCheckUtils]: 42: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:14:17,515 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1694#true} {1694#true} #78#return; {1694#true} is VALID [2022-04-28 12:14:17,523 INFO L290 TraceCheckUtils]: 44: Hoare triple {1694#true} assume !(~a~0 != ~b~0); {1831#(= main_~b~0 main_~a~0)} is VALID [2022-04-28 12:14:17,523 INFO L272 TraceCheckUtils]: 45: Hoare triple {1831#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {1835#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:17,524 INFO L290 TraceCheckUtils]: 46: Hoare triple {1835#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1839#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:17,524 INFO L290 TraceCheckUtils]: 47: Hoare triple {1839#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1695#false} is VALID [2022-04-28 12:14:17,524 INFO L290 TraceCheckUtils]: 48: Hoare triple {1695#false} assume !false; {1695#false} is VALID [2022-04-28 12:14:17,524 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 12:14:17,525 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:14:17,525 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:17,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [850212114] [2022-04-28 12:14:17,525 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:17,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1144445984] [2022-04-28 12:14:17,525 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1144445984] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:17,525 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:17,525 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:17,525 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:17,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [403421577] [2022-04-28 12:14:17,525 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [403421577] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:17,525 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:17,525 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:17,526 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [889631304] [2022-04-28 12:14:17,526 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:17,526 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-28 12:14:17,526 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:17,526 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:14:17,554 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:17,554 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:14:17,554 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:17,554 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:14:17,554 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:14:17,555 INFO L87 Difference]: Start difference. First operand 70 states and 98 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:14:17,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:17,690 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-28 12:14:17,690 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:14:17,691 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-28 12:14:17,691 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:17,691 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:14:17,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 12:14:17,692 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:14:17,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 12:14:17,693 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-28 12:14:17,733 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:17,735 INFO L225 Difference]: With dead ends: 76 [2022-04-28 12:14:17,735 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 12:14:17,735 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:14:17,736 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 5 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:17,736 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 139 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:14:17,736 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 12:14:17,762 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-28 12:14:17,763 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:17,763 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:17,764 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:17,764 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:17,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:17,767 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-28 12:14:17,767 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-28 12:14:17,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:17,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:17,768 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-28 12:14:17,768 INFO L87 Difference]: Start difference. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-28 12:14:17,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:17,772 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-28 12:14:17,772 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-28 12:14:17,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:17,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:17,772 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:17,773 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:17,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:17,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 101 transitions. [2022-04-28 12:14:17,776 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 101 transitions. Word has length 49 [2022-04-28 12:14:17,776 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:17,776 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 101 transitions. [2022-04-28 12:14:17,776 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:14:17,777 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 101 transitions. [2022-04-28 12:14:17,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:17,876 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-28 12:14:17,877 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 12:14:17,877 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:17,877 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:17,896 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 12:14:18,091 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:18,091 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:18,092 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:18,092 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 1 times [2022-04-28 12:14:18,092 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:18,092 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1888480393] [2022-04-28 12:14:18,092 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:18,092 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 2 times [2022-04-28 12:14:18,092 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:18,093 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1942546442] [2022-04-28 12:14:18,093 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:18,093 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:18,110 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:18,111 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [275727601] [2022-04-28 12:14:18,111 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:18,111 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:18,111 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:18,112 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:14:18,113 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 12:14:18,150 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:18,150 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:18,150 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:14:18,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:18,160 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:20,534 INFO L272 TraceCheckUtils]: 0: Hoare triple {2295#true} call ULTIMATE.init(); {2295#true} is VALID [2022-04-28 12:14:20,534 INFO L290 TraceCheckUtils]: 1: Hoare triple {2295#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); {2295#true} is VALID [2022-04-28 12:14:20,534 INFO L290 TraceCheckUtils]: 2: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:20,534 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2295#true} {2295#true} #88#return; {2295#true} is VALID [2022-04-28 12:14:20,535 INFO L272 TraceCheckUtils]: 4: Hoare triple {2295#true} call #t~ret6 := main(); {2295#true} is VALID [2022-04-28 12:14:20,535 INFO L290 TraceCheckUtils]: 5: Hoare triple {2295#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; {2295#true} is VALID [2022-04-28 12:14:20,535 INFO L272 TraceCheckUtils]: 6: Hoare triple {2295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:14:20,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:14:20,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:14:20,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:20,535 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2295#true} {2295#true} #66#return; {2295#true} is VALID [2022-04-28 12:14:20,535 INFO L290 TraceCheckUtils]: 11: Hoare triple {2295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2295#true} is VALID [2022-04-28 12:14:20,535 INFO L272 TraceCheckUtils]: 12: Hoare triple {2295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:14:20,535 INFO L290 TraceCheckUtils]: 13: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:14:20,535 INFO L290 TraceCheckUtils]: 14: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:14:20,535 INFO L290 TraceCheckUtils]: 15: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:20,536 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2295#true} {2295#true} #68#return; {2295#true} is VALID [2022-04-28 12:14:20,536 INFO L272 TraceCheckUtils]: 17: Hoare triple {2295#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:14:20,536 INFO L290 TraceCheckUtils]: 18: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:14:20,536 INFO L290 TraceCheckUtils]: 19: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:14:20,536 INFO L290 TraceCheckUtils]: 20: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:20,536 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2295#true} {2295#true} #70#return; {2295#true} is VALID [2022-04-28 12:14:20,536 INFO L272 TraceCheckUtils]: 22: Hoare triple {2295#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:14:20,536 INFO L290 TraceCheckUtils]: 23: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:14:20,536 INFO L290 TraceCheckUtils]: 24: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:14:20,536 INFO L290 TraceCheckUtils]: 25: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:20,536 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2295#true} {2295#true} #72#return; {2295#true} is VALID [2022-04-28 12:14:20,537 INFO L290 TraceCheckUtils]: 27: Hoare triple {2295#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:20,537 INFO L290 TraceCheckUtils]: 28: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:20,537 INFO L272 TraceCheckUtils]: 29: Hoare triple {2381#(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)); {2295#true} is VALID [2022-04-28 12:14:20,537 INFO L290 TraceCheckUtils]: 30: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:14:20,537 INFO L290 TraceCheckUtils]: 31: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:14:20,538 INFO L290 TraceCheckUtils]: 32: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:20,538 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:20,538 INFO L272 TraceCheckUtils]: 34: Hoare triple {2381#(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)); {2295#true} is VALID [2022-04-28 12:14:20,538 INFO L290 TraceCheckUtils]: 35: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:14:20,538 INFO L290 TraceCheckUtils]: 36: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:14:20,539 INFO L290 TraceCheckUtils]: 37: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:20,539 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:20,539 INFO L272 TraceCheckUtils]: 39: Hoare triple {2381#(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)); {2295#true} is VALID [2022-04-28 12:14:20,539 INFO L290 TraceCheckUtils]: 40: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:14:20,540 INFO L290 TraceCheckUtils]: 41: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:14:20,540 INFO L290 TraceCheckUtils]: 42: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:14:20,540 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:20,541 INFO L290 TraceCheckUtils]: 44: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:20,541 INFO L290 TraceCheckUtils]: 45: Hoare triple {2381#(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; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:20,542 INFO L290 TraceCheckUtils]: 46: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:20,542 INFO L272 TraceCheckUtils]: 47: Hoare triple {2381#(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)); {2442#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:20,543 INFO L290 TraceCheckUtils]: 48: Hoare triple {2442#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2446#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:20,543 INFO L290 TraceCheckUtils]: 49: Hoare triple {2446#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2296#false} is VALID [2022-04-28 12:14:20,543 INFO L290 TraceCheckUtils]: 50: Hoare triple {2296#false} assume !false; {2296#false} is VALID [2022-04-28 12:14:20,543 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 12:14:20,543 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:14:20,543 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:20,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1942546442] [2022-04-28 12:14:20,543 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:20,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [275727601] [2022-04-28 12:14:20,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [275727601] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:20,544 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:20,544 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:20,544 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:20,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1888480393] [2022-04-28 12:14:20,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1888480393] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:20,544 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:20,544 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:20,544 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [31236650] [2022-04-28 12:14:20,544 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:20,545 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-28 12:14:20,545 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:20,545 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:14:20,571 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:20,572 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:14:20,572 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:20,572 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:14:20,572 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:14:20,572 INFO L87 Difference]: Start difference. First operand 74 states and 101 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:14:20,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:20,766 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-04-28 12:14:20,767 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:14:20,767 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-28 12:14:20,767 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:20,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:14:20,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 12:14:20,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:14:20,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 12:14:20,770 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-28 12:14:20,818 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:20,820 INFO L225 Difference]: With dead ends: 84 [2022-04-28 12:14:20,820 INFO L226 Difference]: Without dead ends: 81 [2022-04-28 12:14:20,820 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:14:20,821 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 6 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:20,821 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 146 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:14:20,822 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-28 12:14:20,846 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2022-04-28 12:14:20,846 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:20,846 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:14:20,846 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:14:20,847 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:14:20,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:20,849 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-28 12:14:20,849 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-28 12:14:20,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:20,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:20,850 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-28 12:14:20,850 INFO L87 Difference]: Start difference. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-28 12:14:20,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:20,853 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-28 12:14:20,853 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-28 12:14:20,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:20,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:20,853 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:20,853 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:20,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:14:20,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 102 transitions. [2022-04-28 12:14:20,856 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 102 transitions. Word has length 51 [2022-04-28 12:14:20,857 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:20,865 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 102 transitions. [2022-04-28 12:14:20,865 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:14:20,865 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 102 transitions. [2022-04-28 12:14:20,964 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:20,964 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-28 12:14:20,965 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-28 12:14:20,965 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:20,965 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:21,006 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 12:14:21,179 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:21,180 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:21,180 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:21,180 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 1 times [2022-04-28 12:14:21,180 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:21,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2051743548] [2022-04-28 12:14:21,180 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:21,180 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 2 times [2022-04-28 12:14:21,181 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:21,181 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1284691842] [2022-04-28 12:14:21,181 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:21,181 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:21,194 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:21,194 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [180440775] [2022-04-28 12:14:21,194 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:21,194 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:21,194 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:21,195 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:14:21,196 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 12:14:21,230 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:21,230 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:21,231 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 12:14:21,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:21,241 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:21,406 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-28 12:14:21,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {2942#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); {2942#true} is VALID [2022-04-28 12:14:21,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:21,406 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-28 12:14:21,406 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-28 12:14:21,406 INFO L290 TraceCheckUtils]: 5: Hoare triple {2942#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; {2942#true} is VALID [2022-04-28 12:14:21,406 INFO L272 TraceCheckUtils]: 6: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:21,407 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:21,407 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:21,407 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:21,407 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-28 12:14:21,407 INFO L290 TraceCheckUtils]: 11: Hoare triple {2942#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2942#true} is VALID [2022-04-28 12:14:21,407 INFO L272 TraceCheckUtils]: 12: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:21,407 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:21,407 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:21,407 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:21,408 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-28 12:14:21,408 INFO L272 TraceCheckUtils]: 17: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:21,408 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:21,408 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:21,408 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:21,408 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-28 12:14:21,408 INFO L272 TraceCheckUtils]: 22: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:21,408 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:21,408 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:21,408 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:21,409 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-28 12:14:21,409 INFO L290 TraceCheckUtils]: 27: Hoare triple {2942#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2942#true} is VALID [2022-04-28 12:14:21,409 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-28 12:14:21,409 INFO L272 TraceCheckUtils]: 29: Hoare triple {2942#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:21,409 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:21,409 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:21,409 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:21,409 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-28 12:14:21,409 INFO L272 TraceCheckUtils]: 34: Hoare triple {2942#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:21,410 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:21,411 INFO L290 TraceCheckUtils]: 36: Hoare triple {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:14:21,412 INFO L290 TraceCheckUtils]: 37: Hoare triple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:14:21,413 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} {2942#true} #76#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:21,413 INFO L272 TraceCheckUtils]: 39: Hoare triple {3063#(= 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)); {2942#true} is VALID [2022-04-28 12:14:21,414 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:21,414 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:21,414 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:21,418 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2942#true} {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:21,419 INFO L290 TraceCheckUtils]: 44: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:21,419 INFO L272 TraceCheckUtils]: 45: Hoare triple {3082#(= 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)); {2942#true} is VALID [2022-04-28 12:14:21,419 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:21,419 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:21,419 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:21,436 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2942#true} {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:21,437 INFO L272 TraceCheckUtils]: 50: Hoare triple {3082#(= 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)); {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:21,437 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:21,437 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-28 12:14:21,438 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-28 12:14:21,438 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 12:14:21,438 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:14:33,853 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-28 12:14:33,853 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-28 12:14:33,854 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:33,854 INFO L272 TraceCheckUtils]: 50: Hoare triple {3082#(= 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)); {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:33,855 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2942#true} {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:33,855 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:33,855 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:33,855 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:33,855 INFO L272 TraceCheckUtils]: 45: Hoare triple {3082#(= 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)); {2942#true} is VALID [2022-04-28 12:14:33,856 INFO L290 TraceCheckUtils]: 44: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:33,857 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2942#true} {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:33,857 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:33,857 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:33,857 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:33,857 INFO L272 TraceCheckUtils]: 39: Hoare triple {3063#(= 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)); {2942#true} is VALID [2022-04-28 12:14:33,858 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} {2942#true} #76#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:33,858 INFO L290 TraceCheckUtils]: 37: Hoare triple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:14:33,858 INFO L290 TraceCheckUtils]: 36: Hoare triple {3166#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:14:33,859 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3166#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:14:33,859 INFO L272 TraceCheckUtils]: 34: Hoare triple {2942#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:33,859 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-28 12:14:33,859 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:33,859 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:33,859 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:33,859 INFO L272 TraceCheckUtils]: 29: Hoare triple {2942#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:33,859 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-28 12:14:33,859 INFO L290 TraceCheckUtils]: 27: Hoare triple {2942#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2942#true} is VALID [2022-04-28 12:14:33,860 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-28 12:14:33,860 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:33,860 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:33,860 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:33,860 INFO L272 TraceCheckUtils]: 22: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:33,860 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-28 12:14:33,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:33,860 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:33,860 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:33,860 INFO L272 TraceCheckUtils]: 17: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:33,860 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-28 12:14:33,860 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:33,860 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:33,861 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:33,861 INFO L272 TraceCheckUtils]: 12: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:33,861 INFO L290 TraceCheckUtils]: 11: Hoare triple {2942#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2942#true} is VALID [2022-04-28 12:14:33,861 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-28 12:14:33,861 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:33,861 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:14:33,861 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:14:33,861 INFO L272 TraceCheckUtils]: 6: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:14:33,861 INFO L290 TraceCheckUtils]: 5: Hoare triple {2942#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; {2942#true} is VALID [2022-04-28 12:14:33,861 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-28 12:14:33,861 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-28 12:14:33,861 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:14:33,861 INFO L290 TraceCheckUtils]: 1: Hoare triple {2942#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); {2942#true} is VALID [2022-04-28 12:14:33,862 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-28 12:14:33,862 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 12:14:33,862 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:33,862 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1284691842] [2022-04-28 12:14:33,862 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:33,862 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [180440775] [2022-04-28 12:14:33,862 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [180440775] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:14:33,862 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:14:33,862 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:14:33,863 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:33,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2051743548] [2022-04-28 12:14:33,863 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2051743548] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:33,863 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:33,863 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:14:33,863 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [252503969] [2022-04-28 12:14:33,863 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:33,863 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, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-28 12:14:33,863 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:33,864 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, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:14:33,891 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:33,891 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:14:33,891 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:33,892 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:14:33,892 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:14:33,892 INFO L87 Difference]: Start difference. First operand 79 states and 102 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, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:14:34,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:34,419 INFO L93 Difference]: Finished difference Result 88 states and 112 transitions. [2022-04-28 12:14:34,419 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:14:34,419 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, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-28 12:14:34,419 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:34,420 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, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:14:34,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-28 12:14:34,421 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, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:14:34,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-28 12:14:34,423 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 52 transitions. [2022-04-28 12:14:34,467 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:34,469 INFO L225 Difference]: With dead ends: 88 [2022-04-28 12:14:34,469 INFO L226 Difference]: Without dead ends: 84 [2022-04-28 12:14:34,470 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:14:34,470 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 133 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 122 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:34,471 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 129 Invalid, 133 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:14:34,471 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-28 12:14:34,515 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-28 12:14:34,515 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:34,515 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:14:34,516 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:14:34,517 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:14:34,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:34,521 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-28 12:14:34,521 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-28 12:14:34,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:34,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:34,522 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-28 12:14:34,523 INFO L87 Difference]: Start difference. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-28 12:14:34,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:34,537 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-28 12:14:34,537 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-28 12:14:34,539 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:34,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:34,539 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:34,539 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:34,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:14:34,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 105 transitions. [2022-04-28 12:14:34,543 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 105 transitions. Word has length 54 [2022-04-28 12:14:34,543 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:34,543 INFO L495 AbstractCegarLoop]: Abstraction has 84 states and 105 transitions. [2022-04-28 12:14:34,544 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:14:34,544 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 105 transitions. [2022-04-28 12:14:34,657 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:34,657 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-28 12:14:34,657 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-28 12:14:34,657 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:34,658 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:34,674 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 12:14:34,858 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:34,859 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:34,859 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:34,860 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 3 times [2022-04-28 12:14:34,861 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:34,861 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [768138120] [2022-04-28 12:14:34,861 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:34,861 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 4 times [2022-04-28 12:14:34,861 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:34,861 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1081162882] [2022-04-28 12:14:34,861 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:34,861 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:34,886 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:34,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [133589384] [2022-04-28 12:14:34,886 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:14:34,887 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:34,887 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:34,901 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:14:34,902 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 12:14:34,943 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:14:34,943 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:34,944 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 12:14:34,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:34,959 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:35,225 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-28 12:14:35,227 INFO L290 TraceCheckUtils]: 1: Hoare triple {3792#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); {3792#true} is VALID [2022-04-28 12:14:35,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,230 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-28 12:14:35,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-28 12:14:35,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {3792#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; {3792#true} is VALID [2022-04-28 12:14:35,237 INFO L272 TraceCheckUtils]: 6: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:14:35,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,238 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,238 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-28 12:14:35,238 INFO L290 TraceCheckUtils]: 11: Hoare triple {3792#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3792#true} is VALID [2022-04-28 12:14:35,238 INFO L272 TraceCheckUtils]: 12: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:14:35,238 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,238 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,238 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,238 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-28 12:14:35,238 INFO L272 TraceCheckUtils]: 17: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:14:35,238 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,238 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,239 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,239 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-28 12:14:35,239 INFO L272 TraceCheckUtils]: 22: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:14:35,239 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,239 INFO L290 TraceCheckUtils]: 24: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,239 INFO L290 TraceCheckUtils]: 25: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,239 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3792#true} {3792#true} #72#return; {3792#true} is VALID [2022-04-28 12:14:35,240 INFO L290 TraceCheckUtils]: 27: Hoare triple {3792#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:35,240 INFO L290 TraceCheckUtils]: 28: Hoare triple {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:35,240 INFO L272 TraceCheckUtils]: 29: Hoare triple {3878#(and (= main_~r~0 0) (= 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)); {3792#true} is VALID [2022-04-28 12:14:35,240 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,240 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,241 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,241 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3792#true} {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:35,241 INFO L272 TraceCheckUtils]: 34: Hoare triple {3878#(and (= main_~r~0 0) (= 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)); {3792#true} is VALID [2022-04-28 12:14:35,241 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,241 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,242 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,242 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3792#true} {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:35,242 INFO L272 TraceCheckUtils]: 39: Hoare triple {3878#(and (= main_~r~0 0) (= 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)); {3792#true} is VALID [2022-04-28 12:14:35,242 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,242 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,242 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,243 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3792#true} {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:35,243 INFO L290 TraceCheckUtils]: 44: Hoare triple {3878#(and (= main_~r~0 0) (= 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); {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:35,244 INFO L290 TraceCheckUtils]: 45: Hoare triple {3878#(and (= main_~r~0 0) (= 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; {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-28 12:14:35,244 INFO L290 TraceCheckUtils]: 46: Hoare triple {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} assume !false; {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-28 12:14:35,249 INFO L272 TraceCheckUtils]: 47: Hoare triple {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:14:35,249 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,249 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,249 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,250 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3792#true} {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} #74#return; {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-28 12:14:35,250 INFO L272 TraceCheckUtils]: 52: Hoare triple {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:35,251 INFO L290 TraceCheckUtils]: 53: Hoare triple {3955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:35,251 INFO L290 TraceCheckUtils]: 54: Hoare triple {3959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-28 12:14:35,251 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-28 12:14:35,251 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:14:35,251 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:14:35,493 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-28 12:14:35,494 INFO L290 TraceCheckUtils]: 54: Hoare triple {3959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-28 12:14:35,495 INFO L290 TraceCheckUtils]: 53: Hoare triple {3955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:35,495 INFO L272 TraceCheckUtils]: 52: Hoare triple {3975#(= 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)); {3955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:35,496 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3792#true} {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:35,496 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,496 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,496 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,496 INFO L272 TraceCheckUtils]: 47: Hoare triple {3975#(= 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)); {3792#true} is VALID [2022-04-28 12:14:35,497 INFO L290 TraceCheckUtils]: 46: Hoare triple {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:35,679 INFO L290 TraceCheckUtils]: 45: Hoare triple {3997#(= (+ main_~a~0 (* (- 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; {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:35,680 INFO L290 TraceCheckUtils]: 44: Hoare triple {3997#(= (+ main_~a~0 (* (- 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); {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:14:35,681 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3792#true} {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #78#return; {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:14:35,681 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,681 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,681 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,681 INFO L272 TraceCheckUtils]: 39: Hoare triple {3997#(= (+ main_~a~0 (* (- 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)); {3792#true} is VALID [2022-04-28 12:14:35,682 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3792#true} {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #76#return; {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:14:35,682 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,682 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,682 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,682 INFO L272 TraceCheckUtils]: 34: Hoare triple {3997#(= (+ main_~a~0 (* (- 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)); {3792#true} is VALID [2022-04-28 12:14:35,683 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3792#true} {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #74#return; {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:14:35,683 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,683 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,683 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,683 INFO L272 TraceCheckUtils]: 29: Hoare triple {3997#(= (+ main_~a~0 (* (- 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)); {3792#true} is VALID [2022-04-28 12:14:35,683 INFO L290 TraceCheckUtils]: 28: Hoare triple {3997#(= (+ main_~a~0 (* (- 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 !false; {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:14:35,684 INFO L290 TraceCheckUtils]: 27: Hoare triple {3792#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:14:35,684 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3792#true} {3792#true} #72#return; {3792#true} is VALID [2022-04-28 12:14:35,684 INFO L290 TraceCheckUtils]: 25: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,684 INFO L290 TraceCheckUtils]: 24: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,684 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,684 INFO L272 TraceCheckUtils]: 22: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:14:35,684 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-28 12:14:35,684 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,684 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,684 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,684 INFO L272 TraceCheckUtils]: 17: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:14:35,684 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-28 12:14:35,684 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,684 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,685 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,685 INFO L272 TraceCheckUtils]: 12: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:14:35,685 INFO L290 TraceCheckUtils]: 11: Hoare triple {3792#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3792#true} is VALID [2022-04-28 12:14:35,685 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-28 12:14:35,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,685 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:14:35,685 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:14:35,685 INFO L272 TraceCheckUtils]: 6: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:14:35,685 INFO L290 TraceCheckUtils]: 5: Hoare triple {3792#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; {3792#true} is VALID [2022-04-28 12:14:35,685 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-28 12:14:35,685 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-28 12:14:35,685 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:14:35,685 INFO L290 TraceCheckUtils]: 1: Hoare triple {3792#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); {3792#true} is VALID [2022-04-28 12:14:35,685 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-28 12:14:35,686 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:14:35,686 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:35,686 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1081162882] [2022-04-28 12:14:35,686 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:35,686 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [133589384] [2022-04-28 12:14:35,686 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [133589384] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:14:35,686 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:14:35,686 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-28 12:14:35,686 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:35,686 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [768138120] [2022-04-28 12:14:35,686 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [768138120] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:35,686 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:35,686 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:14:35,686 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2051424489] [2022-04-28 12:14:35,686 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:35,687 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 56 [2022-04-28 12:14:35,687 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:35,687 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:14:35,718 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:35,719 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:14:35,719 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:35,719 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:14:35,719 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:14:35,719 INFO L87 Difference]: Start difference. First operand 84 states and 105 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:14:36,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:36,112 INFO L93 Difference]: Finished difference Result 118 states and 147 transitions. [2022-04-28 12:14:36,112 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:14:36,112 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 56 [2022-04-28 12:14:36,113 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:36,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:14:36,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 12:14:36,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:14:36,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 12:14:36,128 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-28 12:14:36,190 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:36,192 INFO L225 Difference]: With dead ends: 118 [2022-04-28 12:14:36,192 INFO L226 Difference]: Without dead ends: 116 [2022-04-28 12:14:36,192 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 104 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:14:36,193 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 8 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 125 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 128 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 125 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:36,193 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 170 Invalid, 128 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 125 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:14:36,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-28 12:14:36,235 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 112. [2022-04-28 12:14:36,236 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:36,236 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:14:36,236 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:14:36,237 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:14:36,240 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:36,240 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-28 12:14:36,240 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-28 12:14:36,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:36,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:36,240 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-28 12:14:36,241 INFO L87 Difference]: Start difference. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-28 12:14:36,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:36,244 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-28 12:14:36,244 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-28 12:14:36,244 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:36,244 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:36,244 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:36,244 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:36,245 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:14:36,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 138 transitions. [2022-04-28 12:14:36,248 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 138 transitions. Word has length 56 [2022-04-28 12:14:36,248 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:36,248 INFO L495 AbstractCegarLoop]: Abstraction has 112 states and 138 transitions. [2022-04-28 12:14:36,248 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:14:36,248 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 138 transitions. [2022-04-28 12:14:36,408 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:36,408 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 138 transitions. [2022-04-28 12:14:36,409 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 12:14:36,409 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:36,409 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:36,426 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 12:14:36,609 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:36,610 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:36,610 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:36,610 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 1 times [2022-04-28 12:14:36,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:36,610 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [349323873] [2022-04-28 12:14:36,610 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:36,610 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 2 times [2022-04-28 12:14:36,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:36,611 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1809483676] [2022-04-28 12:14:36,611 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:36,611 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:36,627 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:36,627 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [101752926] [2022-04-28 12:14:36,627 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:36,627 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:36,627 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:36,633 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:14:36,634 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 12:14:36,678 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:36,678 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:36,679 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 12:14:36,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:36,688 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:36,946 INFO L272 TraceCheckUtils]: 0: Hoare triple {4829#true} call ULTIMATE.init(); {4829#true} is VALID [2022-04-28 12:14:36,946 INFO L290 TraceCheckUtils]: 1: Hoare triple {4829#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); {4829#true} is VALID [2022-04-28 12:14:36,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:36,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4829#true} {4829#true} #88#return; {4829#true} is VALID [2022-04-28 12:14:36,946 INFO L272 TraceCheckUtils]: 4: Hoare triple {4829#true} call #t~ret6 := main(); {4829#true} is VALID [2022-04-28 12:14:36,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {4829#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; {4829#true} is VALID [2022-04-28 12:14:36,946 INFO L272 TraceCheckUtils]: 6: Hoare triple {4829#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4829#true} is VALID [2022-04-28 12:14:36,946 INFO L290 TraceCheckUtils]: 7: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:36,946 INFO L290 TraceCheckUtils]: 8: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:36,946 INFO L290 TraceCheckUtils]: 9: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:36,946 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4829#true} {4829#true} #66#return; {4829#true} is VALID [2022-04-28 12:14:36,946 INFO L290 TraceCheckUtils]: 11: Hoare triple {4829#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4829#true} is VALID [2022-04-28 12:14:36,946 INFO L272 TraceCheckUtils]: 12: Hoare triple {4829#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4829#true} is VALID [2022-04-28 12:14:36,947 INFO L290 TraceCheckUtils]: 13: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:36,947 INFO L290 TraceCheckUtils]: 14: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:36,947 INFO L290 TraceCheckUtils]: 15: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:36,947 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4829#true} {4829#true} #68#return; {4829#true} is VALID [2022-04-28 12:14:36,947 INFO L272 TraceCheckUtils]: 17: Hoare triple {4829#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4829#true} is VALID [2022-04-28 12:14:36,947 INFO L290 TraceCheckUtils]: 18: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:36,947 INFO L290 TraceCheckUtils]: 19: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:36,947 INFO L290 TraceCheckUtils]: 20: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:36,947 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4829#true} {4829#true} #70#return; {4829#true} is VALID [2022-04-28 12:14:36,947 INFO L272 TraceCheckUtils]: 22: Hoare triple {4829#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4829#true} is VALID [2022-04-28 12:14:36,947 INFO L290 TraceCheckUtils]: 23: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:36,947 INFO L290 TraceCheckUtils]: 24: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:36,947 INFO L290 TraceCheckUtils]: 25: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:36,947 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4829#true} {4829#true} #72#return; {4829#true} is VALID [2022-04-28 12:14:36,952 INFO L290 TraceCheckUtils]: 27: Hoare triple {4829#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:36,952 INFO L290 TraceCheckUtils]: 28: Hoare triple {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:36,952 INFO L272 TraceCheckUtils]: 29: Hoare triple {4915#(and (= main_~r~0 0) (= 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)); {4829#true} is VALID [2022-04-28 12:14:36,952 INFO L290 TraceCheckUtils]: 30: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:36,952 INFO L290 TraceCheckUtils]: 31: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:36,952 INFO L290 TraceCheckUtils]: 32: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:36,953 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4829#true} {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:36,953 INFO L272 TraceCheckUtils]: 34: Hoare triple {4915#(and (= main_~r~0 0) (= 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)); {4829#true} is VALID [2022-04-28 12:14:36,953 INFO L290 TraceCheckUtils]: 35: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:36,954 INFO L290 TraceCheckUtils]: 36: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:36,954 INFO L290 TraceCheckUtils]: 37: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:36,954 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4829#true} {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:36,954 INFO L272 TraceCheckUtils]: 39: Hoare triple {4915#(and (= main_~r~0 0) (= 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)); {4829#true} is VALID [2022-04-28 12:14:36,955 INFO L290 TraceCheckUtils]: 40: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:36,955 INFO L290 TraceCheckUtils]: 41: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:36,955 INFO L290 TraceCheckUtils]: 42: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:36,955 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4829#true} {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:36,956 INFO L290 TraceCheckUtils]: 44: Hoare triple {4915#(and (= main_~r~0 0) (= 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); {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:36,956 INFO L290 TraceCheckUtils]: 45: Hoare triple {4915#(and (= main_~r~0 0) (= 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; {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:14:36,957 INFO L290 TraceCheckUtils]: 46: Hoare triple {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} assume !false; {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:14:36,957 INFO L272 TraceCheckUtils]: 47: Hoare triple {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4829#true} is VALID [2022-04-28 12:14:36,957 INFO L290 TraceCheckUtils]: 48: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:36,957 INFO L290 TraceCheckUtils]: 49: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:36,957 INFO L290 TraceCheckUtils]: 50: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:36,958 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4829#true} {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #74#return; {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:14:36,958 INFO L272 TraceCheckUtils]: 52: Hoare triple {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4829#true} is VALID [2022-04-28 12:14:36,958 INFO L290 TraceCheckUtils]: 53: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:36,958 INFO L290 TraceCheckUtils]: 54: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:36,958 INFO L290 TraceCheckUtils]: 55: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:36,959 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4829#true} {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #76#return; {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:14:36,959 INFO L272 TraceCheckUtils]: 57: Hoare triple {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5007#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:36,960 INFO L290 TraceCheckUtils]: 58: Hoare triple {5007#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5011#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:36,960 INFO L290 TraceCheckUtils]: 59: Hoare triple {5011#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4830#false} is VALID [2022-04-28 12:14:36,960 INFO L290 TraceCheckUtils]: 60: Hoare triple {4830#false} assume !false; {4830#false} is VALID [2022-04-28 12:14:36,960 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 12:14:36,960 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:14:37,171 INFO L290 TraceCheckUtils]: 60: Hoare triple {4830#false} assume !false; {4830#false} is VALID [2022-04-28 12:14:37,172 INFO L290 TraceCheckUtils]: 59: Hoare triple {5011#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4830#false} is VALID [2022-04-28 12:14:37,172 INFO L290 TraceCheckUtils]: 58: Hoare triple {5007#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5011#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:37,173 INFO L272 TraceCheckUtils]: 57: Hoare triple {5027#(= 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)); {5007#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:37,173 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4829#true} {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:14:37,174 INFO L290 TraceCheckUtils]: 55: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:37,174 INFO L290 TraceCheckUtils]: 54: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:37,174 INFO L290 TraceCheckUtils]: 53: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:37,174 INFO L272 TraceCheckUtils]: 52: Hoare triple {5027#(= 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)); {4829#true} is VALID [2022-04-28 12:14:37,174 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4829#true} {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:14:37,175 INFO L290 TraceCheckUtils]: 50: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:37,175 INFO L290 TraceCheckUtils]: 49: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:37,175 INFO L290 TraceCheckUtils]: 48: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:37,175 INFO L272 TraceCheckUtils]: 47: Hoare triple {5027#(= 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)); {4829#true} is VALID [2022-04-28 12:14:37,175 INFO L290 TraceCheckUtils]: 46: Hoare triple {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:14:37,334 INFO L290 TraceCheckUtils]: 45: Hoare triple {5064#(= (+ (* (+ 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; {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:14:37,335 INFO L290 TraceCheckUtils]: 44: Hoare triple {5064#(= (+ (* (+ 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); {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:14:37,335 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4829#true} {5064#(= (+ (* (+ 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))} #78#return; {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:14:37,336 INFO L290 TraceCheckUtils]: 42: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:37,336 INFO L290 TraceCheckUtils]: 41: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:37,336 INFO L290 TraceCheckUtils]: 40: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:37,336 INFO L272 TraceCheckUtils]: 39: Hoare triple {5064#(= (+ (* (+ 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)); {4829#true} is VALID [2022-04-28 12:14:37,336 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4829#true} {5064#(= (+ (* (+ 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))} #76#return; {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:14:37,336 INFO L290 TraceCheckUtils]: 37: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:37,336 INFO L290 TraceCheckUtils]: 36: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:37,337 INFO L290 TraceCheckUtils]: 35: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:37,337 INFO L272 TraceCheckUtils]: 34: Hoare triple {5064#(= (+ (* (+ 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)); {4829#true} is VALID [2022-04-28 12:14:37,337 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4829#true} {5064#(= (+ (* (+ 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))} #74#return; {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:14:37,337 INFO L290 TraceCheckUtils]: 32: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:37,337 INFO L290 TraceCheckUtils]: 31: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:37,337 INFO L290 TraceCheckUtils]: 30: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:37,337 INFO L272 TraceCheckUtils]: 29: Hoare triple {5064#(= (+ (* (+ 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)); {4829#true} is VALID [2022-04-28 12:14:37,338 INFO L290 TraceCheckUtils]: 28: Hoare triple {5064#(= (+ (* (+ 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 !false; {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:14:37,338 INFO L290 TraceCheckUtils]: 27: Hoare triple {4829#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:14:37,338 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4829#true} {4829#true} #72#return; {4829#true} is VALID [2022-04-28 12:14:37,338 INFO L290 TraceCheckUtils]: 25: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:37,338 INFO L290 TraceCheckUtils]: 24: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:37,338 INFO L290 TraceCheckUtils]: 23: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:37,338 INFO L272 TraceCheckUtils]: 22: Hoare triple {4829#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4829#true} {4829#true} #70#return; {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L290 TraceCheckUtils]: 20: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L290 TraceCheckUtils]: 19: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L290 TraceCheckUtils]: 18: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L272 TraceCheckUtils]: 17: Hoare triple {4829#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4829#true} {4829#true} #68#return; {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L290 TraceCheckUtils]: 15: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L290 TraceCheckUtils]: 14: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L290 TraceCheckUtils]: 13: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L272 TraceCheckUtils]: 12: Hoare triple {4829#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L290 TraceCheckUtils]: 11: Hoare triple {4829#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4829#true} {4829#true} #66#return; {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L290 TraceCheckUtils]: 8: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L290 TraceCheckUtils]: 7: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L272 TraceCheckUtils]: 6: Hoare triple {4829#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L290 TraceCheckUtils]: 5: Hoare triple {4829#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; {4829#true} is VALID [2022-04-28 12:14:37,339 INFO L272 TraceCheckUtils]: 4: Hoare triple {4829#true} call #t~ret6 := main(); {4829#true} is VALID [2022-04-28 12:14:37,340 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4829#true} {4829#true} #88#return; {4829#true} is VALID [2022-04-28 12:14:37,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-28 12:14:37,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {4829#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); {4829#true} is VALID [2022-04-28 12:14:37,340 INFO L272 TraceCheckUtils]: 0: Hoare triple {4829#true} call ULTIMATE.init(); {4829#true} is VALID [2022-04-28 12:14:37,340 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 12:14:37,340 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:37,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1809483676] [2022-04-28 12:14:37,340 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:37,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [101752926] [2022-04-28 12:14:37,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [101752926] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:14:37,340 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:14:37,340 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-28 12:14:37,341 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:37,341 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [349323873] [2022-04-28 12:14:37,341 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [349323873] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:37,341 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:37,341 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:14:37,341 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [940846353] [2022-04-28 12:14:37,341 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:37,341 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-28 12:14:37,341 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:37,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:14:37,375 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:37,375 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:14:37,375 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:37,376 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:14:37,376 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:14:37,376 INFO L87 Difference]: Start difference. First operand 112 states and 138 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:14:37,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:37,801 INFO L93 Difference]: Finished difference Result 137 states and 178 transitions. [2022-04-28 12:14:37,801 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:14:37,801 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-28 12:14:37,801 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:37,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:14:37,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 12:14:37,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:14:37,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 12:14:37,804 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-28 12:14:37,869 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:37,872 INFO L225 Difference]: With dead ends: 137 [2022-04-28 12:14:37,872 INFO L226 Difference]: Without dead ends: 131 [2022-04-28 12:14:37,872 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:14:37,872 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 120 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:37,873 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 160 Invalid, 120 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:14:37,873 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-28 12:14:37,922 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-28 12:14:37,922 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:37,923 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:14:37,923 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:14:37,923 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:14:37,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:37,942 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-28 12:14:37,942 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-28 12:14:37,943 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:37,943 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:37,943 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-28 12:14:37,943 INFO L87 Difference]: Start difference. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-28 12:14:37,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:37,947 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-28 12:14:37,947 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-28 12:14:37,947 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:37,947 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:37,947 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:37,947 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:37,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:14:37,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 167 transitions. [2022-04-28 12:14:37,951 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 167 transitions. Word has length 61 [2022-04-28 12:14:37,951 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:37,951 INFO L495 AbstractCegarLoop]: Abstraction has 131 states and 167 transitions. [2022-04-28 12:14:37,951 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:14:37,951 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 167 transitions. [2022-04-28 12:14:38,148 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:38,149 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-28 12:14:38,149 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 12:14:38,149 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:38,149 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:38,167 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 12:14:38,363 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 12:14:38,363 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:38,364 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:38,364 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 1 times [2022-04-28 12:14:38,364 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:38,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [517251367] [2022-04-28 12:14:38,364 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:38,364 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 2 times [2022-04-28 12:14:38,364 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:38,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [741096461] [2022-04-28 12:14:38,365 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:38,365 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:38,377 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:38,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1905306965] [2022-04-28 12:14:38,377 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:38,377 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:38,377 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:38,379 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:14:38,380 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 12:14:38,421 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:38,422 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:38,423 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 12:14:38,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:38,435 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:38,755 INFO L272 TraceCheckUtils]: 0: Hoare triple {6002#true} call ULTIMATE.init(); {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L290 TraceCheckUtils]: 1: Hoare triple {6002#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); {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L290 TraceCheckUtils]: 2: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6002#true} {6002#true} #88#return; {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L272 TraceCheckUtils]: 4: Hoare triple {6002#true} call #t~ret6 := main(); {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L290 TraceCheckUtils]: 5: Hoare triple {6002#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; {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L272 TraceCheckUtils]: 6: Hoare triple {6002#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L290 TraceCheckUtils]: 7: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L290 TraceCheckUtils]: 8: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L290 TraceCheckUtils]: 9: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6002#true} {6002#true} #66#return; {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L290 TraceCheckUtils]: 11: Hoare triple {6002#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L272 TraceCheckUtils]: 12: Hoare triple {6002#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L290 TraceCheckUtils]: 13: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L290 TraceCheckUtils]: 14: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L290 TraceCheckUtils]: 15: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:38,756 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6002#true} {6002#true} #68#return; {6002#true} is VALID [2022-04-28 12:14:38,757 INFO L272 TraceCheckUtils]: 17: Hoare triple {6002#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6002#true} is VALID [2022-04-28 12:14:38,757 INFO L290 TraceCheckUtils]: 18: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:38,757 INFO L290 TraceCheckUtils]: 19: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:38,757 INFO L290 TraceCheckUtils]: 20: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:38,757 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6002#true} {6002#true} #70#return; {6002#true} is VALID [2022-04-28 12:14:38,757 INFO L272 TraceCheckUtils]: 22: Hoare triple {6002#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6002#true} is VALID [2022-04-28 12:14:38,757 INFO L290 TraceCheckUtils]: 23: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:38,757 INFO L290 TraceCheckUtils]: 24: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:38,757 INFO L290 TraceCheckUtils]: 25: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:38,757 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6002#true} {6002#true} #72#return; {6002#true} is VALID [2022-04-28 12:14:38,757 INFO L290 TraceCheckUtils]: 27: Hoare triple {6002#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:38,758 INFO L290 TraceCheckUtils]: 28: Hoare triple {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:38,758 INFO L272 TraceCheckUtils]: 29: Hoare triple {6088#(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)); {6002#true} is VALID [2022-04-28 12:14:38,758 INFO L290 TraceCheckUtils]: 30: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:38,758 INFO L290 TraceCheckUtils]: 31: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:38,758 INFO L290 TraceCheckUtils]: 32: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:38,759 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6002#true} {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:38,759 INFO L272 TraceCheckUtils]: 34: Hoare triple {6088#(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)); {6002#true} is VALID [2022-04-28 12:14:38,759 INFO L290 TraceCheckUtils]: 35: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:38,759 INFO L290 TraceCheckUtils]: 36: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:38,759 INFO L290 TraceCheckUtils]: 37: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:38,760 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6002#true} {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:38,760 INFO L272 TraceCheckUtils]: 39: Hoare triple {6088#(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)); {6002#true} is VALID [2022-04-28 12:14:38,760 INFO L290 TraceCheckUtils]: 40: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:38,761 INFO L290 TraceCheckUtils]: 41: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:38,761 INFO L290 TraceCheckUtils]: 42: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:38,761 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6002#true} {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:38,762 INFO L290 TraceCheckUtils]: 44: Hoare triple {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:38,762 INFO L290 TraceCheckUtils]: 45: Hoare triple {6088#(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; {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:14:38,762 INFO L290 TraceCheckUtils]: 46: Hoare triple {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !false; {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:14:38,762 INFO L272 TraceCheckUtils]: 47: Hoare triple {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6002#true} is VALID [2022-04-28 12:14:38,763 INFO L290 TraceCheckUtils]: 48: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:38,763 INFO L290 TraceCheckUtils]: 49: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:38,763 INFO L290 TraceCheckUtils]: 50: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:38,763 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6002#true} {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #74#return; {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:14:38,763 INFO L272 TraceCheckUtils]: 52: Hoare triple {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6002#true} is VALID [2022-04-28 12:14:38,763 INFO L290 TraceCheckUtils]: 53: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:38,763 INFO L290 TraceCheckUtils]: 54: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:38,763 INFO L290 TraceCheckUtils]: 55: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:38,764 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6002#true} {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #76#return; {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:14:38,764 INFO L272 TraceCheckUtils]: 57: Hoare triple {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6002#true} is VALID [2022-04-28 12:14:38,764 INFO L290 TraceCheckUtils]: 58: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:38,764 INFO L290 TraceCheckUtils]: 59: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:38,764 INFO L290 TraceCheckUtils]: 60: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:38,765 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6002#true} {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #78#return; {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:14:38,765 INFO L290 TraceCheckUtils]: 62: Hoare triple {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:14:38,766 INFO L290 TraceCheckUtils]: 63: Hoare triple {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6198#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:14:38,766 INFO L290 TraceCheckUtils]: 64: Hoare triple {6198#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {6198#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:14:38,767 INFO L272 TraceCheckUtils]: 65: Hoare triple {6198#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~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)); {6205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:38,767 INFO L290 TraceCheckUtils]: 66: Hoare triple {6205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:38,767 INFO L290 TraceCheckUtils]: 67: Hoare triple {6209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6003#false} is VALID [2022-04-28 12:14:38,767 INFO L290 TraceCheckUtils]: 68: Hoare triple {6003#false} assume !false; {6003#false} is VALID [2022-04-28 12:14:38,768 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 12:14:38,768 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:14:39,022 INFO L290 TraceCheckUtils]: 68: Hoare triple {6003#false} assume !false; {6003#false} is VALID [2022-04-28 12:14:39,023 INFO L290 TraceCheckUtils]: 67: Hoare triple {6209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6003#false} is VALID [2022-04-28 12:14:39,023 INFO L290 TraceCheckUtils]: 66: Hoare triple {6205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:39,023 INFO L272 TraceCheckUtils]: 65: Hoare triple {6225#(= (* 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)); {6205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:39,024 INFO L290 TraceCheckUtils]: 64: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:14:39,027 INFO L290 TraceCheckUtils]: 63: Hoare triple {6225#(= (* 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; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:14:39,027 INFO L290 TraceCheckUtils]: 62: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:14:39,027 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:14:39,028 INFO L290 TraceCheckUtils]: 60: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:39,028 INFO L290 TraceCheckUtils]: 59: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:39,028 INFO L290 TraceCheckUtils]: 58: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:39,028 INFO L272 TraceCheckUtils]: 57: Hoare triple {6225#(= (* 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)); {6002#true} is VALID [2022-04-28 12:14:39,028 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:14:39,028 INFO L290 TraceCheckUtils]: 55: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:39,028 INFO L290 TraceCheckUtils]: 54: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:39,028 INFO L290 TraceCheckUtils]: 53: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:39,028 INFO L272 TraceCheckUtils]: 52: Hoare triple {6225#(= (* 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)); {6002#true} is VALID [2022-04-28 12:14:39,029 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:14:39,029 INFO L290 TraceCheckUtils]: 50: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:39,029 INFO L290 TraceCheckUtils]: 49: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:39,029 INFO L290 TraceCheckUtils]: 48: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:39,029 INFO L272 TraceCheckUtils]: 47: Hoare triple {6225#(= (* 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)); {6002#true} is VALID [2022-04-28 12:14:39,029 INFO L290 TraceCheckUtils]: 46: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:14:39,032 INFO L290 TraceCheckUtils]: 45: Hoare triple {6225#(= (* 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; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:14:39,032 INFO L290 TraceCheckUtils]: 44: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:14:39,033 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:14:39,033 INFO L290 TraceCheckUtils]: 42: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:39,033 INFO L290 TraceCheckUtils]: 41: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:39,033 INFO L290 TraceCheckUtils]: 40: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:39,033 INFO L272 TraceCheckUtils]: 39: Hoare triple {6225#(= (* 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)); {6002#true} is VALID [2022-04-28 12:14:39,033 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:14:39,033 INFO L290 TraceCheckUtils]: 37: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:39,034 INFO L290 TraceCheckUtils]: 36: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:39,034 INFO L290 TraceCheckUtils]: 35: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:39,034 INFO L272 TraceCheckUtils]: 34: Hoare triple {6225#(= (* 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)); {6002#true} is VALID [2022-04-28 12:14:39,034 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:14:39,034 INFO L290 TraceCheckUtils]: 32: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:39,034 INFO L290 TraceCheckUtils]: 31: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:39,034 INFO L290 TraceCheckUtils]: 30: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:39,034 INFO L272 TraceCheckUtils]: 29: Hoare triple {6225#(= (* 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)); {6002#true} is VALID [2022-04-28 12:14:39,035 INFO L290 TraceCheckUtils]: 28: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:14:39,035 INFO L290 TraceCheckUtils]: 27: Hoare triple {6002#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:14:39,035 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6002#true} {6002#true} #72#return; {6002#true} is VALID [2022-04-28 12:14:39,035 INFO L290 TraceCheckUtils]: 25: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:39,035 INFO L290 TraceCheckUtils]: 24: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:39,035 INFO L290 TraceCheckUtils]: 23: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:39,035 INFO L272 TraceCheckUtils]: 22: Hoare triple {6002#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6002#true} is VALID [2022-04-28 12:14:39,035 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6002#true} {6002#true} #70#return; {6002#true} is VALID [2022-04-28 12:14:39,035 INFO L290 TraceCheckUtils]: 20: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:39,035 INFO L290 TraceCheckUtils]: 19: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:39,035 INFO L290 TraceCheckUtils]: 18: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L272 TraceCheckUtils]: 17: Hoare triple {6002#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6002#true} {6002#true} #68#return; {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L290 TraceCheckUtils]: 15: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L290 TraceCheckUtils]: 14: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L290 TraceCheckUtils]: 13: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L272 TraceCheckUtils]: 12: Hoare triple {6002#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L290 TraceCheckUtils]: 11: Hoare triple {6002#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6002#true} {6002#true} #66#return; {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L290 TraceCheckUtils]: 9: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L290 TraceCheckUtils]: 8: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L290 TraceCheckUtils]: 7: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L272 TraceCheckUtils]: 6: Hoare triple {6002#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L290 TraceCheckUtils]: 5: Hoare triple {6002#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; {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L272 TraceCheckUtils]: 4: Hoare triple {6002#true} call #t~ret6 := main(); {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6002#true} {6002#true} #88#return; {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L290 TraceCheckUtils]: 2: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L290 TraceCheckUtils]: 1: Hoare triple {6002#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); {6002#true} is VALID [2022-04-28 12:14:39,036 INFO L272 TraceCheckUtils]: 0: Hoare triple {6002#true} call ULTIMATE.init(); {6002#true} is VALID [2022-04-28 12:14:39,037 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 94 trivial. 0 not checked. [2022-04-28 12:14:39,037 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:39,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [741096461] [2022-04-28 12:14:39,037 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:39,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1905306965] [2022-04-28 12:14:39,037 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1905306965] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:14:39,037 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:14:39,037 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-28 12:14:39,037 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:39,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [517251367] [2022-04-28 12:14:39,037 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [517251367] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:39,038 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:39,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:39,038 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1621939587] [2022-04-28 12:14:39,038 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:39,038 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 69 [2022-04-28 12:14:39,038 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:39,038 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:14:39,070 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:39,070 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:14:39,070 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:39,070 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:14:39,070 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:14:39,071 INFO L87 Difference]: Start difference. First operand 131 states and 167 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:14:39,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:39,258 INFO L93 Difference]: Finished difference Result 137 states and 172 transitions. [2022-04-28 12:14:39,258 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:14:39,258 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 69 [2022-04-28 12:14:39,258 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:39,259 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:14:39,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 12:14:39,259 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:14:39,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 12:14:39,260 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-28 12:14:39,295 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:39,297 INFO L225 Difference]: With dead ends: 137 [2022-04-28 12:14:39,297 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 12:14:39,298 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 128 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:14:39,298 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 6 mSDsluCounter, 80 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:39,298 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 116 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:14:39,299 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 12:14:39,355 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-28 12:14:39,355 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:39,356 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:14:39,356 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:14:39,356 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:14:39,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:39,359 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-28 12:14:39,359 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-28 12:14:39,359 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:39,359 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:39,359 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 132 states. [2022-04-28 12:14:39,360 INFO L87 Difference]: Start difference. First operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 132 states. [2022-04-28 12:14:39,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:39,362 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-28 12:14:39,362 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-28 12:14:39,363 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:39,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:39,363 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:39,363 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:39,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:14:39,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 164 transitions. [2022-04-28 12:14:39,365 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 164 transitions. Word has length 69 [2022-04-28 12:14:39,366 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:39,366 INFO L495 AbstractCegarLoop]: Abstraction has 132 states and 164 transitions. [2022-04-28 12:14:39,366 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:14:39,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 164 transitions. [2022-04-28 12:14:39,565 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:39,565 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-28 12:14:39,566 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 12:14:39,566 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:39,566 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:39,589 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 12:14:39,768 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 12:14:39,768 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:39,768 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:39,768 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 5 times [2022-04-28 12:14:39,768 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:39,768 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1538999942] [2022-04-28 12:14:39,769 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:39,769 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 6 times [2022-04-28 12:14:39,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:39,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1863072045] [2022-04-28 12:14:39,782 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:39,782 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:39,797 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:39,798 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [932184860] [2022-04-28 12:14:39,798 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:14:39,798 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:39,798 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:39,799 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:14:39,800 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 12:14:39,860 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:14:39,860 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:39,861 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 12:14:39,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:39,875 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:40,368 INFO L272 TraceCheckUtils]: 0: Hoare triple {7227#true} call ULTIMATE.init(); {7227#true} is VALID [2022-04-28 12:14:40,368 INFO L290 TraceCheckUtils]: 1: Hoare triple {7227#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); {7227#true} is VALID [2022-04-28 12:14:40,368 INFO L290 TraceCheckUtils]: 2: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:14:40,368 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7227#true} {7227#true} #88#return; {7227#true} is VALID [2022-04-28 12:14:40,368 INFO L272 TraceCheckUtils]: 4: Hoare triple {7227#true} call #t~ret6 := main(); {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L290 TraceCheckUtils]: 5: Hoare triple {7227#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; {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L272 TraceCheckUtils]: 6: Hoare triple {7227#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L290 TraceCheckUtils]: 7: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L290 TraceCheckUtils]: 8: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L290 TraceCheckUtils]: 9: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7227#true} {7227#true} #66#return; {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L290 TraceCheckUtils]: 11: Hoare triple {7227#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L272 TraceCheckUtils]: 12: Hoare triple {7227#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L290 TraceCheckUtils]: 13: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L290 TraceCheckUtils]: 14: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L290 TraceCheckUtils]: 15: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7227#true} {7227#true} #68#return; {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L272 TraceCheckUtils]: 17: Hoare triple {7227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L290 TraceCheckUtils]: 18: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L290 TraceCheckUtils]: 19: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L290 TraceCheckUtils]: 20: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7227#true} {7227#true} #70#return; {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L272 TraceCheckUtils]: 22: Hoare triple {7227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7227#true} is VALID [2022-04-28 12:14:40,369 INFO L290 TraceCheckUtils]: 23: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:14:40,370 INFO L290 TraceCheckUtils]: 24: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:14:40,370 INFO L290 TraceCheckUtils]: 25: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:14:40,370 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7227#true} {7227#true} #72#return; {7227#true} is VALID [2022-04-28 12:14:40,370 INFO L290 TraceCheckUtils]: 27: Hoare triple {7227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:40,370 INFO L290 TraceCheckUtils]: 28: Hoare triple {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:40,370 INFO L272 TraceCheckUtils]: 29: Hoare triple {7313#(and (= main_~r~0 0) (= 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)); {7227#true} is VALID [2022-04-28 12:14:40,371 INFO L290 TraceCheckUtils]: 30: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:14:40,371 INFO L290 TraceCheckUtils]: 31: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:14:40,371 INFO L290 TraceCheckUtils]: 32: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:14:40,371 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7227#true} {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:40,372 INFO L272 TraceCheckUtils]: 34: Hoare triple {7313#(and (= main_~r~0 0) (= 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)); {7227#true} is VALID [2022-04-28 12:14:40,372 INFO L290 TraceCheckUtils]: 35: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:14:40,372 INFO L290 TraceCheckUtils]: 36: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:14:40,372 INFO L290 TraceCheckUtils]: 37: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:14:40,372 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7227#true} {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:40,373 INFO L272 TraceCheckUtils]: 39: Hoare triple {7313#(and (= main_~r~0 0) (= 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)); {7227#true} is VALID [2022-04-28 12:14:40,373 INFO L290 TraceCheckUtils]: 40: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:14:40,373 INFO L290 TraceCheckUtils]: 41: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:14:40,373 INFO L290 TraceCheckUtils]: 42: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:14:40,373 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7227#true} {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:40,374 INFO L290 TraceCheckUtils]: 44: Hoare triple {7313#(and (= main_~r~0 0) (= 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); {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:40,374 INFO L290 TraceCheckUtils]: 45: Hoare triple {7313#(and (= main_~r~0 0) (= 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; {7368#(and (= main_~s~0 1) (= 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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:14:40,375 INFO L290 TraceCheckUtils]: 46: Hoare triple {7368#(and (= main_~s~0 1) (= 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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {7368#(and (= main_~s~0 1) (= 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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:14:40,375 INFO L272 TraceCheckUtils]: 47: Hoare triple {7368#(and (= main_~s~0 1) (= 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) (= 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)); {7227#true} is VALID [2022-04-28 12:14:40,375 INFO L290 TraceCheckUtils]: 48: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:14:40,375 INFO L290 TraceCheckUtils]: 49: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:14:40,375 INFO L290 TraceCheckUtils]: 50: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:14:40,376 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7227#true} {7368#(and (= main_~s~0 1) (= 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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #74#return; {7368#(and (= main_~s~0 1) (= 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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:14:40,376 INFO L272 TraceCheckUtils]: 52: Hoare triple {7368#(and (= main_~s~0 1) (= 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) (= 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)); {7227#true} is VALID [2022-04-28 12:14:40,376 INFO L290 TraceCheckUtils]: 53: Hoare triple {7227#true} ~cond := #in~cond; {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:40,376 INFO L290 TraceCheckUtils]: 54: Hoare triple {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:14:40,377 INFO L290 TraceCheckUtils]: 55: Hoare triple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:14:40,377 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} {7368#(and (= main_~s~0 1) (= 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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #76#return; {7368#(and (= main_~s~0 1) (= 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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:14:40,378 INFO L272 TraceCheckUtils]: 57: Hoare triple {7368#(and (= main_~s~0 1) (= 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) (= 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)); {7227#true} is VALID [2022-04-28 12:14:40,378 INFO L290 TraceCheckUtils]: 58: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:14:40,378 INFO L290 TraceCheckUtils]: 59: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:14:40,378 INFO L290 TraceCheckUtils]: 60: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:14:40,378 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7227#true} {7368#(and (= main_~s~0 1) (= 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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #78#return; {7368#(and (= main_~s~0 1) (= 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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:14:40,379 INFO L290 TraceCheckUtils]: 62: Hoare triple {7368#(and (= main_~s~0 1) (= 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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {7368#(and (= main_~s~0 1) (= 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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:14:40,380 INFO L290 TraceCheckUtils]: 63: Hoare triple {7368#(and (= main_~s~0 1) (= 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) (= 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; {7425#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:14:40,380 INFO L290 TraceCheckUtils]: 64: Hoare triple {7425#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !false; {7425#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:14:40,380 INFO L272 TraceCheckUtils]: 65: Hoare triple {7425#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~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)); {7227#true} is VALID [2022-04-28 12:14:40,381 INFO L290 TraceCheckUtils]: 66: Hoare triple {7227#true} ~cond := #in~cond; {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:40,381 INFO L290 TraceCheckUtils]: 67: Hoare triple {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:14:40,381 INFO L290 TraceCheckUtils]: 68: Hoare triple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:14:40,382 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} {7425#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #74#return; {7444#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:40,383 INFO L272 TraceCheckUtils]: 70: Hoare triple {7444#(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)); {7448#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:40,383 INFO L290 TraceCheckUtils]: 71: Hoare triple {7448#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7452#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:40,384 INFO L290 TraceCheckUtils]: 72: Hoare triple {7452#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7228#false} is VALID [2022-04-28 12:14:40,384 INFO L290 TraceCheckUtils]: 73: Hoare triple {7228#false} assume !false; {7228#false} is VALID [2022-04-28 12:14:40,384 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 39 proven. 17 refuted. 0 times theorem prover too weak. 78 trivial. 0 not checked. [2022-04-28 12:14:40,384 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:17:02,442 INFO L290 TraceCheckUtils]: 73: Hoare triple {7228#false} assume !false; {7228#false} is VALID [2022-04-28 12:17:02,443 INFO L290 TraceCheckUtils]: 72: Hoare triple {7452#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7228#false} is VALID [2022-04-28 12:17:02,443 INFO L290 TraceCheckUtils]: 71: Hoare triple {7448#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7452#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:02,444 INFO L272 TraceCheckUtils]: 70: Hoare triple {7468#(= 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)); {7448#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:17:02,445 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} {7472#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #74#return; {7468#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:17:02,445 INFO L290 TraceCheckUtils]: 68: Hoare triple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:02,446 INFO L290 TraceCheckUtils]: 67: Hoare triple {7482#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:02,446 INFO L290 TraceCheckUtils]: 66: Hoare triple {7227#true} ~cond := #in~cond; {7482#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:17:02,446 INFO L272 TraceCheckUtils]: 65: Hoare triple {7472#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= 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)); {7227#true} is VALID [2022-04-28 12:17:02,446 INFO L290 TraceCheckUtils]: 64: Hoare triple {7472#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {7472#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:17:02,955 INFO L290 TraceCheckUtils]: 63: Hoare triple {7492#(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_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~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; {7472#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:17:02,956 INFO L290 TraceCheckUtils]: 62: Hoare triple {7492#(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_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} assume !!(~a~0 != ~b~0); {7492#(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_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-28 12:17:02,957 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7227#true} {7492#(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_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} #78#return; {7492#(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_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-28 12:17:02,957 INFO L290 TraceCheckUtils]: 60: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:17:02,957 INFO L290 TraceCheckUtils]: 59: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:17:02,957 INFO L290 TraceCheckUtils]: 58: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:17:02,957 INFO L272 TraceCheckUtils]: 57: Hoare triple {7492#(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_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7227#true} is VALID [2022-04-28 12:17:02,958 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} #76#return; {7492#(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_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-28 12:17:02,958 INFO L290 TraceCheckUtils]: 55: Hoare triple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:02,959 INFO L290 TraceCheckUtils]: 54: Hoare triple {7482#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:02,959 INFO L290 TraceCheckUtils]: 53: Hoare triple {7227#true} ~cond := #in~cond; {7482#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:17:02,959 INFO L272 TraceCheckUtils]: 52: Hoare triple {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7227#true} is VALID [2022-04-28 12:17:02,959 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7227#true} {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} #74#return; {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-28 12:17:02,960 INFO L290 TraceCheckUtils]: 50: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:17:02,960 INFO L290 TraceCheckUtils]: 49: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:17:02,960 INFO L290 TraceCheckUtils]: 48: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:17:02,960 INFO L272 TraceCheckUtils]: 47: Hoare triple {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7227#true} is VALID [2022-04-28 12:17:02,960 INFO L290 TraceCheckUtils]: 46: Hoare triple {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} assume !false; {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-28 12:17:04,962 WARN L290 TraceCheckUtils]: 45: Hoare triple {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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; {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is UNKNOWN [2022-04-28 12:17:04,963 INFO L290 TraceCheckUtils]: 44: Hoare triple {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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); {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:17:04,964 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7227#true} {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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)))))))} #78#return; {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:17:04,964 INFO L290 TraceCheckUtils]: 42: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:17:04,964 INFO L290 TraceCheckUtils]: 41: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:17:04,964 INFO L290 TraceCheckUtils]: 40: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:17:04,964 INFO L272 TraceCheckUtils]: 39: Hoare triple {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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)); {7227#true} is VALID [2022-04-28 12:17:04,965 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7227#true} {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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)))))))} #76#return; {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:17:04,965 INFO L290 TraceCheckUtils]: 37: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:17:04,965 INFO L290 TraceCheckUtils]: 36: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:17:04,965 INFO L290 TraceCheckUtils]: 35: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:17:04,965 INFO L272 TraceCheckUtils]: 34: Hoare triple {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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)); {7227#true} is VALID [2022-04-28 12:17:04,965 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7227#true} {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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)))))))} #74#return; {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:17:04,965 INFO L290 TraceCheckUtils]: 32: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:17:04,965 INFO L290 TraceCheckUtils]: 31: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:17:04,966 INFO L290 TraceCheckUtils]: 30: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:17:04,966 INFO L272 TraceCheckUtils]: 29: Hoare triple {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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)); {7227#true} is VALID [2022-04-28 12:17:04,966 INFO L290 TraceCheckUtils]: 28: Hoare triple {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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 !false; {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:17:04,967 INFO L290 TraceCheckUtils]: 27: Hoare triple {7227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:17:04,967 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7227#true} {7227#true} #72#return; {7227#true} is VALID [2022-04-28 12:17:04,967 INFO L290 TraceCheckUtils]: 25: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:17:04,967 INFO L290 TraceCheckUtils]: 24: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:17:04,967 INFO L290 TraceCheckUtils]: 23: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:17:04,967 INFO L272 TraceCheckUtils]: 22: Hoare triple {7227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7227#true} is VALID [2022-04-28 12:17:04,967 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7227#true} {7227#true} #70#return; {7227#true} is VALID [2022-04-28 12:17:04,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:17:04,967 INFO L290 TraceCheckUtils]: 19: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:17:04,967 INFO L290 TraceCheckUtils]: 18: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:17:04,967 INFO L272 TraceCheckUtils]: 17: Hoare triple {7227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7227#true} is VALID [2022-04-28 12:17:04,967 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7227#true} {7227#true} #68#return; {7227#true} is VALID [2022-04-28 12:17:04,967 INFO L290 TraceCheckUtils]: 15: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:17:04,967 INFO L290 TraceCheckUtils]: 14: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:17:04,967 INFO L290 TraceCheckUtils]: 13: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:17:04,968 INFO L272 TraceCheckUtils]: 12: Hoare triple {7227#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {7227#true} is VALID [2022-04-28 12:17:04,968 INFO L290 TraceCheckUtils]: 11: Hoare triple {7227#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7227#true} is VALID [2022-04-28 12:17:04,968 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7227#true} {7227#true} #66#return; {7227#true} is VALID [2022-04-28 12:17:04,968 INFO L290 TraceCheckUtils]: 9: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:17:04,968 INFO L290 TraceCheckUtils]: 8: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-28 12:17:04,968 INFO L290 TraceCheckUtils]: 7: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-28 12:17:04,968 INFO L272 TraceCheckUtils]: 6: Hoare triple {7227#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {7227#true} is VALID [2022-04-28 12:17:04,968 INFO L290 TraceCheckUtils]: 5: Hoare triple {7227#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; {7227#true} is VALID [2022-04-28 12:17:04,968 INFO L272 TraceCheckUtils]: 4: Hoare triple {7227#true} call #t~ret6 := main(); {7227#true} is VALID [2022-04-28 12:17:04,968 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7227#true} {7227#true} #88#return; {7227#true} is VALID [2022-04-28 12:17:04,968 INFO L290 TraceCheckUtils]: 2: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-28 12:17:04,968 INFO L290 TraceCheckUtils]: 1: Hoare triple {7227#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); {7227#true} is VALID [2022-04-28 12:17:04,968 INFO L272 TraceCheckUtils]: 0: Hoare triple {7227#true} call ULTIMATE.init(); {7227#true} is VALID [2022-04-28 12:17:04,969 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 42 proven. 14 refuted. 0 times theorem prover too weak. 78 trivial. 0 not checked. [2022-04-28 12:17:04,969 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:17:04,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1863072045] [2022-04-28 12:17:04,969 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:17:04,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [932184860] [2022-04-28 12:17:04,969 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [932184860] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:17:04,969 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:17:04,969 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 16 [2022-04-28 12:17:04,969 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:17:04,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1538999942] [2022-04-28 12:17:04,983 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1538999942] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:17:04,983 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:17:04,983 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:17:04,984 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1210165605] [2022-04-28 12:17:04,984 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:17:04,984 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), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-28 12:17:04,984 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:17:04,984 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), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:17:05,035 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:17:05,036 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:17:05,036 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:17:05,036 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:17:05,036 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:17:05,036 INFO L87 Difference]: Start difference. First operand 132 states and 164 transitions. Second operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:17:06,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:06,196 INFO L93 Difference]: Finished difference Result 166 states and 206 transitions. [2022-04-28 12:17:06,196 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:17:06,196 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), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-28 12:17:06,197 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:17:06,197 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), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:17:06,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2022-04-28 12:17:06,198 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), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:17:06,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2022-04-28 12:17:06,200 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 95 transitions. [2022-04-28 12:17:06,298 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:17:06,301 INFO L225 Difference]: With dead ends: 166 [2022-04-28 12:17:06,301 INFO L226 Difference]: Without dead ends: 164 [2022-04-28 12:17:06,301 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 131 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:17:06,301 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 18 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 385 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 403 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 385 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:17:06,302 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 184 Invalid, 403 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 385 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:17:06,302 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-28 12:17:06,401 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 150. [2022-04-28 12:17:06,401 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:17:06,401 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:17:06,402 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:17:06,402 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:17:06,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:06,405 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-28 12:17:06,405 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-28 12:17:06,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:17:06,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:17:06,406 INFO L74 IsIncluded]: Start isIncluded. First operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) Second operand 164 states. [2022-04-28 12:17:06,406 INFO L87 Difference]: Start difference. First operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) Second operand 164 states. [2022-04-28 12:17:06,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:17:06,409 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-28 12:17:06,409 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-28 12:17:06,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:17:06,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:17:06,410 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:17:06,410 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:17:06,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:17:06,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 183 transitions. [2022-04-28 12:17:06,413 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 183 transitions. Word has length 74 [2022-04-28 12:17:06,413 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:17:06,413 INFO L495 AbstractCegarLoop]: Abstraction has 150 states and 183 transitions. [2022-04-28 12:17:06,413 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:17:06,413 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 150 states and 183 transitions. [2022-04-28 12:17:06,657 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:17:06,658 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 183 transitions. [2022-04-28 12:17:06,658 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 12:17:06,658 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:17:06,658 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 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, 1, 1, 1, 1, 1, 1] [2022-04-28 12:17:06,679 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 12:17:06,859 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 12:17:06,859 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:17:06,859 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:17:06,859 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 3 times [2022-04-28 12:17:06,859 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:17:06,859 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [265153576] [2022-04-28 12:17:06,860 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:17:06,860 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 4 times [2022-04-28 12:17:06,860 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:17:06,860 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1314009200] [2022-04-28 12:17:06,860 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:17:06,860 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:17:06,880 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:17:06,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [490539172] [2022-04-28 12:17:06,880 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:17:06,880 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:17:06,880 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:17:06,881 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:17:06,882 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 12:17:06,923 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:17:06,924 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:17:06,924 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 12:17:06,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:17:06,941 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:17:36,031 INFO L272 TraceCheckUtils]: 0: Hoare triple {8650#true} call ULTIMATE.init(); {8650#true} is VALID [2022-04-28 12:17:36,031 INFO L290 TraceCheckUtils]: 1: Hoare triple {8650#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); {8650#true} is VALID [2022-04-28 12:17:36,032 INFO L290 TraceCheckUtils]: 2: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-28 12:17:36,032 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8650#true} {8650#true} #88#return; {8650#true} is VALID [2022-04-28 12:17:36,032 INFO L272 TraceCheckUtils]: 4: Hoare triple {8650#true} call #t~ret6 := main(); {8650#true} is VALID [2022-04-28 12:17:36,032 INFO L290 TraceCheckUtils]: 5: Hoare triple {8650#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; {8650#true} is VALID [2022-04-28 12:17:36,032 INFO L272 TraceCheckUtils]: 6: Hoare triple {8650#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {8650#true} is VALID [2022-04-28 12:17:36,032 INFO L290 TraceCheckUtils]: 7: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-28 12:17:36,032 INFO L290 TraceCheckUtils]: 8: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-28 12:17:36,032 INFO L290 TraceCheckUtils]: 9: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-28 12:17:36,032 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8650#true} {8650#true} #66#return; {8650#true} is VALID [2022-04-28 12:17:36,032 INFO L290 TraceCheckUtils]: 11: Hoare triple {8650#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8650#true} is VALID [2022-04-28 12:17:36,033 INFO L272 TraceCheckUtils]: 12: Hoare triple {8650#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {8650#true} is VALID [2022-04-28 12:17:36,033 INFO L290 TraceCheckUtils]: 13: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-28 12:17:36,033 INFO L290 TraceCheckUtils]: 14: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-28 12:17:36,033 INFO L290 TraceCheckUtils]: 15: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-28 12:17:36,033 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8650#true} {8650#true} #68#return; {8650#true} is VALID [2022-04-28 12:17:36,033 INFO L272 TraceCheckUtils]: 17: Hoare triple {8650#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8650#true} is VALID [2022-04-28 12:17:36,033 INFO L290 TraceCheckUtils]: 18: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-28 12:17:36,033 INFO L290 TraceCheckUtils]: 19: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-28 12:17:36,033 INFO L290 TraceCheckUtils]: 20: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-28 12:17:36,033 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8650#true} {8650#true} #70#return; {8650#true} is VALID [2022-04-28 12:17:36,033 INFO L272 TraceCheckUtils]: 22: Hoare triple {8650#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8650#true} is VALID [2022-04-28 12:17:36,033 INFO L290 TraceCheckUtils]: 23: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-28 12:17:36,034 INFO L290 TraceCheckUtils]: 24: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-28 12:17:36,034 INFO L290 TraceCheckUtils]: 25: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-28 12:17:36,034 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8650#true} {8650#true} #72#return; {8650#true} is VALID [2022-04-28 12:17:36,035 INFO L290 TraceCheckUtils]: 27: Hoare triple {8650#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:36,036 INFO L290 TraceCheckUtils]: 28: Hoare triple {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:36,036 INFO L272 TraceCheckUtils]: 29: Hoare triple {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8650#true} is VALID [2022-04-28 12:17:36,036 INFO L290 TraceCheckUtils]: 30: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-28 12:17:36,036 INFO L290 TraceCheckUtils]: 31: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-28 12:17:36,036 INFO L290 TraceCheckUtils]: 32: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-28 12:17:36,037 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8650#true} {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:36,037 INFO L272 TraceCheckUtils]: 34: Hoare triple {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8650#true} is VALID [2022-04-28 12:17:36,037 INFO L290 TraceCheckUtils]: 35: Hoare triple {8650#true} ~cond := #in~cond; {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:36,037 INFO L290 TraceCheckUtils]: 36: Hoare triple {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:36,037 INFO L290 TraceCheckUtils]: 37: Hoare triple {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:36,038 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:36,038 INFO L272 TraceCheckUtils]: 39: Hoare triple {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8650#true} is VALID [2022-04-28 12:17:36,038 INFO L290 TraceCheckUtils]: 40: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-28 12:17:36,038 INFO L290 TraceCheckUtils]: 41: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-28 12:17:36,038 INFO L290 TraceCheckUtils]: 42: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-28 12:17:36,039 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8650#true} {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:36,039 INFO L290 TraceCheckUtils]: 44: Hoare triple {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8790#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:36,040 INFO L290 TraceCheckUtils]: 45: Hoare triple {8790#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~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; {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:36,041 INFO L290 TraceCheckUtils]: 46: Hoare triple {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:36,041 INFO L272 TraceCheckUtils]: 47: Hoare triple {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 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)); {8650#true} is VALID [2022-04-28 12:17:36,041 INFO L290 TraceCheckUtils]: 48: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-28 12:17:36,041 INFO L290 TraceCheckUtils]: 49: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-28 12:17:36,041 INFO L290 TraceCheckUtils]: 50: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-28 12:17:36,042 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8650#true} {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #74#return; {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:36,042 INFO L272 TraceCheckUtils]: 52: Hoare triple {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 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)); {8650#true} is VALID [2022-04-28 12:17:36,042 INFO L290 TraceCheckUtils]: 53: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-28 12:17:36,042 INFO L290 TraceCheckUtils]: 54: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-28 12:17:36,042 INFO L290 TraceCheckUtils]: 55: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-28 12:17:36,042 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8650#true} {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #76#return; {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:36,042 INFO L272 TraceCheckUtils]: 57: Hoare triple {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 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)); {8650#true} is VALID [2022-04-28 12:17:36,043 INFO L290 TraceCheckUtils]: 58: Hoare triple {8650#true} ~cond := #in~cond; {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:36,043 INFO L290 TraceCheckUtils]: 59: Hoare triple {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:36,043 INFO L290 TraceCheckUtils]: 60: Hoare triple {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:36,044 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #78#return; {8843#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:36,045 INFO L290 TraceCheckUtils]: 62: Hoare triple {8843#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8843#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:17:36,046 INFO L290 TraceCheckUtils]: 63: Hoare triple {8843#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 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; {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:17:36,047 INFO L290 TraceCheckUtils]: 64: Hoare triple {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} assume !false; {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:17:36,047 INFO L272 TraceCheckUtils]: 65: Hoare triple {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8650#true} is VALID [2022-04-28 12:17:36,047 INFO L290 TraceCheckUtils]: 66: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-28 12:17:36,047 INFO L290 TraceCheckUtils]: 67: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-28 12:17:36,047 INFO L290 TraceCheckUtils]: 68: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-28 12:17:36,048 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8650#true} {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} #74#return; {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:17:36,049 INFO L272 TraceCheckUtils]: 70: Hoare triple {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8872#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:17:36,049 INFO L290 TraceCheckUtils]: 71: Hoare triple {8872#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8876#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:36,049 INFO L290 TraceCheckUtils]: 72: Hoare triple {8876#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8651#false} is VALID [2022-04-28 12:17:36,050 INFO L290 TraceCheckUtils]: 73: Hoare triple {8651#false} assume !false; {8651#false} is VALID [2022-04-28 12:17:36,050 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 27 proven. 29 refuted. 0 times theorem prover too weak. 78 trivial. 0 not checked. [2022-04-28 12:17:36,050 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:18:02,299 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:19:19,676 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:19:19,677 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1314009200] [2022-04-28 12:19:19,677 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:19:19,677 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [490539172] [2022-04-28 12:19:19,677 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [490539172] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:19:19,677 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:19:19,677 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-28 12:19:19,677 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:19:19,677 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [265153576] [2022-04-28 12:19:19,677 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [265153576] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:19:19,677 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:19:19,677 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:19:19,677 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [344568800] [2022-04-28 12:19:19,677 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:19:19,678 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-28 12:19:19,678 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:19:19,678 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:19:19,723 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:19,724 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:19:19,724 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:19,724 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:19:19,724 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=209, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:19:19,724 INFO L87 Difference]: Start difference. First operand 150 states and 183 transitions. Second operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:19:24,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:24,216 INFO L93 Difference]: Finished difference Result 184 states and 225 transitions. [2022-04-28 12:19:24,216 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:19:24,216 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-28 12:19:24,216 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:19:24,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:19:24,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 85 transitions. [2022-04-28 12:19:24,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:19:24,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 85 transitions. [2022-04-28 12:19:24,219 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 85 transitions. [2022-04-28 12:19:24,308 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:24,311 INFO L225 Difference]: With dead ends: 184 [2022-04-28 12:19:24,311 INFO L226 Difference]: Without dead ends: 182 [2022-04-28 12:19:24,311 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 88 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=76, Invalid=266, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:19:24,312 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 14 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 420 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 220 SdHoareTripleChecker+Invalid, 426 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 420 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:19:24,312 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 220 Invalid, 426 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 420 Invalid, 0 Unknown, 0 Unchecked, 2.0s Time] [2022-04-28 12:19:24,312 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-28 12:19:24,408 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 168. [2022-04-28 12:19:24,408 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:19:24,408 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:19:24,408 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:19:24,409 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:19:24,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:24,412 INFO L93 Difference]: Finished difference Result 182 states and 223 transitions. [2022-04-28 12:19:24,412 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 223 transitions. [2022-04-28 12:19:24,412 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:24,412 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:24,413 INFO L74 IsIncluded]: Start isIncluded. First operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) Second operand 182 states. [2022-04-28 12:19:24,413 INFO L87 Difference]: Start difference. First operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) Second operand 182 states. [2022-04-28 12:19:24,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:24,416 INFO L93 Difference]: Finished difference Result 182 states and 223 transitions. [2022-04-28 12:19:24,416 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 223 transitions. [2022-04-28 12:19:24,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:24,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:24,416 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:19:24,416 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:19:24,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:19:24,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 168 states to 168 states and 202 transitions. [2022-04-28 12:19:24,420 INFO L78 Accepts]: Start accepts. Automaton has 168 states and 202 transitions. Word has length 74 [2022-04-28 12:19:24,420 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:19:24,420 INFO L495 AbstractCegarLoop]: Abstraction has 168 states and 202 transitions. [2022-04-28 12:19:24,420 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:19:24,420 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 168 states and 202 transitions. [2022-04-28 12:19:24,703 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 202 edges. 202 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:24,703 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 202 transitions. [2022-04-28 12:19:24,704 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 12:19:24,704 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:19:24,704 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:19:24,728 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-28 12:19:24,915 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 12:19:24,915 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:19:24,916 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:19:24,916 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 5 times [2022-04-28 12:19:24,916 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:24,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1702500376] [2022-04-28 12:19:24,916 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:19:24,916 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 6 times [2022-04-28 12:19:24,917 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:19:24,917 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1395850592] [2022-04-28 12:19:24,917 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:19:24,917 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:19:24,927 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:19:24,927 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [730841389] [2022-04-28 12:19:24,928 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:19:24,928 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:19:24,928 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:19:24,928 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:19:24,930 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 12:19:24,983 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:19:24,984 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:19:24,985 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 12:19:25,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:19:25,016 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:19:25,304 INFO L272 TraceCheckUtils]: 0: Hoare triple {10053#true} call ULTIMATE.init(); {10053#true} is VALID [2022-04-28 12:19:25,304 INFO L290 TraceCheckUtils]: 1: Hoare triple {10053#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); {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L290 TraceCheckUtils]: 2: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10053#true} {10053#true} #88#return; {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L272 TraceCheckUtils]: 4: Hoare triple {10053#true} call #t~ret6 := main(); {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L290 TraceCheckUtils]: 5: Hoare triple {10053#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; {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L272 TraceCheckUtils]: 6: Hoare triple {10053#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L290 TraceCheckUtils]: 7: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L290 TraceCheckUtils]: 8: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L290 TraceCheckUtils]: 9: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10053#true} {10053#true} #66#return; {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L290 TraceCheckUtils]: 11: Hoare triple {10053#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L272 TraceCheckUtils]: 12: Hoare triple {10053#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L290 TraceCheckUtils]: 13: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L290 TraceCheckUtils]: 14: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L290 TraceCheckUtils]: 15: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10053#true} {10053#true} #68#return; {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L272 TraceCheckUtils]: 17: Hoare triple {10053#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L290 TraceCheckUtils]: 18: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:25,305 INFO L290 TraceCheckUtils]: 19: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:25,306 INFO L290 TraceCheckUtils]: 20: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:25,306 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10053#true} {10053#true} #70#return; {10053#true} is VALID [2022-04-28 12:19:25,306 INFO L272 TraceCheckUtils]: 22: Hoare triple {10053#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:25,306 INFO L290 TraceCheckUtils]: 23: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:25,306 INFO L290 TraceCheckUtils]: 24: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:25,306 INFO L290 TraceCheckUtils]: 25: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:25,306 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10053#true} {10053#true} #72#return; {10053#true} is VALID [2022-04-28 12:19:25,306 INFO L290 TraceCheckUtils]: 27: Hoare triple {10053#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:19:25,307 INFO L290 TraceCheckUtils]: 28: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:19:25,307 INFO L272 TraceCheckUtils]: 29: Hoare triple {10139#(and (= 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)); {10053#true} is VALID [2022-04-28 12:19:25,307 INFO L290 TraceCheckUtils]: 30: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:25,307 INFO L290 TraceCheckUtils]: 31: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:25,307 INFO L290 TraceCheckUtils]: 32: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:25,307 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10053#true} {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:19:25,307 INFO L272 TraceCheckUtils]: 34: Hoare triple {10139#(and (= 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)); {10053#true} is VALID [2022-04-28 12:19:25,307 INFO L290 TraceCheckUtils]: 35: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:25,308 INFO L290 TraceCheckUtils]: 36: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:25,308 INFO L290 TraceCheckUtils]: 37: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:25,308 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10053#true} {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:19:25,308 INFO L272 TraceCheckUtils]: 39: Hoare triple {10139#(and (= 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)); {10053#true} is VALID [2022-04-28 12:19:25,308 INFO L290 TraceCheckUtils]: 40: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:25,308 INFO L290 TraceCheckUtils]: 41: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:25,308 INFO L290 TraceCheckUtils]: 42: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:25,309 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {10053#true} {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #78#return; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:19:25,309 INFO L290 TraceCheckUtils]: 44: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:19:25,310 INFO L290 TraceCheckUtils]: 45: Hoare triple {10139#(and (= 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; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:19:25,310 INFO L290 TraceCheckUtils]: 46: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:19:25,310 INFO L272 TraceCheckUtils]: 47: Hoare triple {10139#(and (= 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)); {10053#true} is VALID [2022-04-28 12:19:25,310 INFO L290 TraceCheckUtils]: 48: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:25,310 INFO L290 TraceCheckUtils]: 49: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:25,310 INFO L290 TraceCheckUtils]: 50: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:25,311 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10053#true} {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:19:25,311 INFO L272 TraceCheckUtils]: 52: Hoare triple {10139#(and (= 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)); {10053#true} is VALID [2022-04-28 12:19:25,311 INFO L290 TraceCheckUtils]: 53: Hoare triple {10053#true} ~cond := #in~cond; {10218#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:19:25,312 INFO L290 TraceCheckUtils]: 54: Hoare triple {10218#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:25,312 INFO L290 TraceCheckUtils]: 55: Hoare triple {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:25,313 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:19:25,313 INFO L272 TraceCheckUtils]: 57: Hoare triple {10229#(and (= 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)); {10053#true} is VALID [2022-04-28 12:19:25,313 INFO L290 TraceCheckUtils]: 58: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:25,313 INFO L290 TraceCheckUtils]: 59: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:25,313 INFO L290 TraceCheckUtils]: 60: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:25,314 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10053#true} {10229#(and (= 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))} #78#return; {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:19:25,314 INFO L290 TraceCheckUtils]: 62: Hoare triple {10229#(and (= 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); {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:19:25,327 INFO L290 TraceCheckUtils]: 63: Hoare triple {10229#(and (= 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; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:25,328 INFO L290 TraceCheckUtils]: 64: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:25,328 INFO L272 TraceCheckUtils]: 65: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:25,328 INFO L290 TraceCheckUtils]: 66: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:25,328 INFO L290 TraceCheckUtils]: 67: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:25,328 INFO L290 TraceCheckUtils]: 68: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:25,329 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:25,329 INFO L272 TraceCheckUtils]: 70: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:25,329 INFO L290 TraceCheckUtils]: 71: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:25,329 INFO L290 TraceCheckUtils]: 72: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:25,329 INFO L290 TraceCheckUtils]: 73: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:25,329 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:25,330 INFO L272 TraceCheckUtils]: 75: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10288#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:19:25,330 INFO L290 TraceCheckUtils]: 76: Hoare triple {10288#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10292#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:19:25,331 INFO L290 TraceCheckUtils]: 77: Hoare triple {10292#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10054#false} is VALID [2022-04-28 12:19:25,331 INFO L290 TraceCheckUtils]: 78: Hoare triple {10054#false} assume !false; {10054#false} is VALID [2022-04-28 12:19:25,331 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 30 proven. 18 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-28 12:19:25,331 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:19:37,256 INFO L290 TraceCheckUtils]: 78: Hoare triple {10054#false} assume !false; {10054#false} is VALID [2022-04-28 12:19:37,257 INFO L290 TraceCheckUtils]: 77: Hoare triple {10292#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10054#false} is VALID [2022-04-28 12:19:37,257 INFO L290 TraceCheckUtils]: 76: Hoare triple {10288#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10292#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:19:37,258 INFO L272 TraceCheckUtils]: 75: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10288#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:19:37,259 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:37,259 INFO L290 TraceCheckUtils]: 73: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:37,259 INFO L290 TraceCheckUtils]: 72: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:37,259 INFO L290 TraceCheckUtils]: 71: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:37,259 INFO L272 TraceCheckUtils]: 70: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:37,259 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:37,260 INFO L290 TraceCheckUtils]: 68: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:37,260 INFO L290 TraceCheckUtils]: 67: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:37,260 INFO L290 TraceCheckUtils]: 66: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:37,260 INFO L272 TraceCheckUtils]: 65: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:37,260 INFO L290 TraceCheckUtils]: 64: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:37,591 INFO L290 TraceCheckUtils]: 63: Hoare triple {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:37,592 INFO L290 TraceCheckUtils]: 62: Hoare triple {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} assume !!(~a~0 != ~b~0); {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} is VALID [2022-04-28 12:19:37,592 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10053#true} {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} #78#return; {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} is VALID [2022-04-28 12:19:37,593 INFO L290 TraceCheckUtils]: 60: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:37,593 INFO L290 TraceCheckUtils]: 59: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:37,593 INFO L290 TraceCheckUtils]: 58: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:37,593 INFO L272 TraceCheckUtils]: 57: Hoare triple {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:37,594 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} is VALID [2022-04-28 12:19:37,594 INFO L290 TraceCheckUtils]: 55: Hoare triple {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:37,595 INFO L290 TraceCheckUtils]: 54: Hoare triple {10375#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:37,595 INFO L290 TraceCheckUtils]: 53: Hoare triple {10053#true} ~cond := #in~cond; {10375#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:19:37,595 INFO L272 TraceCheckUtils]: 52: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:37,596 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:37,596 INFO L290 TraceCheckUtils]: 50: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:37,596 INFO L290 TraceCheckUtils]: 49: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:37,596 INFO L290 TraceCheckUtils]: 48: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:37,596 INFO L272 TraceCheckUtils]: 47: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:37,596 INFO L290 TraceCheckUtils]: 46: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:37,597 INFO L290 TraceCheckUtils]: 45: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~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; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:37,597 INFO L290 TraceCheckUtils]: 44: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !!(~a~0 != ~b~0); {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:37,597 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #78#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:37,598 INFO L290 TraceCheckUtils]: 42: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:37,598 INFO L290 TraceCheckUtils]: 41: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:37,598 INFO L290 TraceCheckUtils]: 40: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:37,598 INFO L272 TraceCheckUtils]: 39: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:37,598 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:37,598 INFO L290 TraceCheckUtils]: 37: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:37,598 INFO L290 TraceCheckUtils]: 36: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:37,598 INFO L290 TraceCheckUtils]: 35: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:37,599 INFO L272 TraceCheckUtils]: 34: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:37,599 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:37,599 INFO L290 TraceCheckUtils]: 32: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:37,599 INFO L290 TraceCheckUtils]: 31: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:37,599 INFO L290 TraceCheckUtils]: 30: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:37,599 INFO L272 TraceCheckUtils]: 29: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:37,600 INFO L290 TraceCheckUtils]: 28: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:37,600 INFO L290 TraceCheckUtils]: 27: Hoare triple {10053#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 12:19:37,600 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10053#true} {10053#true} #72#return; {10053#true} is VALID [2022-04-28 12:19:37,600 INFO L290 TraceCheckUtils]: 25: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:37,600 INFO L290 TraceCheckUtils]: 24: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:37,600 INFO L290 TraceCheckUtils]: 23: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:37,600 INFO L272 TraceCheckUtils]: 22: Hoare triple {10053#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:37,600 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10053#true} {10053#true} #70#return; {10053#true} is VALID [2022-04-28 12:19:37,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:37,600 INFO L290 TraceCheckUtils]: 19: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L290 TraceCheckUtils]: 18: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L272 TraceCheckUtils]: 17: Hoare triple {10053#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10053#true} {10053#true} #68#return; {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L290 TraceCheckUtils]: 15: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L290 TraceCheckUtils]: 14: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L290 TraceCheckUtils]: 13: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L272 TraceCheckUtils]: 12: Hoare triple {10053#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L290 TraceCheckUtils]: 11: Hoare triple {10053#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10053#true} {10053#true} #66#return; {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L290 TraceCheckUtils]: 9: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L290 TraceCheckUtils]: 8: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L290 TraceCheckUtils]: 7: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L272 TraceCheckUtils]: 6: Hoare triple {10053#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L290 TraceCheckUtils]: 5: Hoare triple {10053#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; {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L272 TraceCheckUtils]: 4: Hoare triple {10053#true} call #t~ret6 := main(); {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10053#true} {10053#true} #88#return; {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L290 TraceCheckUtils]: 2: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {10053#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); {10053#true} is VALID [2022-04-28 12:19:37,601 INFO L272 TraceCheckUtils]: 0: Hoare triple {10053#true} call ULTIMATE.init(); {10053#true} is VALID [2022-04-28 12:19:37,602 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 27 proven. 14 refuted. 0 times theorem prover too weak. 125 trivial. 0 not checked. [2022-04-28 12:19:37,602 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:19:37,602 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1395850592] [2022-04-28 12:19:37,602 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:19:37,602 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [730841389] [2022-04-28 12:19:37,602 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [730841389] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:19:37,602 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:19:37,602 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-28 12:19:37,602 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:19:37,602 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1702500376] [2022-04-28 12:19:37,602 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1702500376] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:19:37,602 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:19:37,603 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:19:37,603 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1962896322] [2022-04-28 12:19:37,603 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:19:37,603 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 79 [2022-04-28 12:19:37,605 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:19:37,605 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:19:37,661 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:37,661 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:19:37,661 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:37,662 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:19:37,662 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:19:37,662 INFO L87 Difference]: Start difference. First operand 168 states and 202 transitions. Second operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:19:38,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:38,289 INFO L93 Difference]: Finished difference Result 182 states and 221 transitions. [2022-04-28 12:19:38,290 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:19:38,290 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 79 [2022-04-28 12:19:38,290 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:19:38,290 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:19:38,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-28 12:19:38,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:19:38,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-28 12:19:38,291 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 64 transitions. [2022-04-28 12:19:38,371 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:38,373 INFO L225 Difference]: With dead ends: 182 [2022-04-28 12:19:38,373 INFO L226 Difference]: Without dead ends: 169 [2022-04-28 12:19:38,374 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 159 GetRequests, 145 SyntacticMatches, 3 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=116, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:19:38,374 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 149 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 159 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 149 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:19:38,374 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 134 Invalid, 159 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 149 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:19:38,375 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states. [2022-04-28 12:19:38,460 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 149. [2022-04-28 12:19:38,460 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:19:38,461 INFO L82 GeneralOperation]: Start isEquivalent. First operand 169 states. Second operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:19:38,461 INFO L74 IsIncluded]: Start isIncluded. First operand 169 states. Second operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:19:38,461 INFO L87 Difference]: Start difference. First operand 169 states. Second operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:19:38,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:38,464 INFO L93 Difference]: Finished difference Result 169 states and 200 transitions. [2022-04-28 12:19:38,464 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 200 transitions. [2022-04-28 12:19:38,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:38,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:38,465 INFO L74 IsIncluded]: Start isIncluded. First operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 169 states. [2022-04-28 12:19:38,465 INFO L87 Difference]: Start difference. First operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 169 states. [2022-04-28 12:19:38,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:38,468 INFO L93 Difference]: Finished difference Result 169 states and 200 transitions. [2022-04-28 12:19:38,468 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 200 transitions. [2022-04-28 12:19:38,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:38,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:38,468 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:19:38,468 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:19:38,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:19:38,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 170 transitions. [2022-04-28 12:19:38,471 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 170 transitions. Word has length 79 [2022-04-28 12:19:38,471 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:19:38,471 INFO L495 AbstractCegarLoop]: Abstraction has 149 states and 170 transitions. [2022-04-28 12:19:38,471 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:19:38,471 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 149 states and 170 transitions. [2022-04-28 12:19:38,785 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 170 edges. 170 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:38,786 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 170 transitions. [2022-04-28 12:19:38,788 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 12:19:38,788 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:19:38,788 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:19:38,813 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 12:19:39,003 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 12:19:39,003 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:19:39,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:19:39,004 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 3 times [2022-04-28 12:19:39,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:39,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1452514910] [2022-04-28 12:19:39,004 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:19:39,005 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 4 times [2022-04-28 12:19:39,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:19:39,005 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [881608549] [2022-04-28 12:19:39,005 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:19:39,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:19:39,025 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:19:39,025 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1126287577] [2022-04-28 12:19:39,025 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:19:39,025 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:19:39,025 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:19:39,032 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:19:39,033 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 12:19:39,078 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:19:39,078 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:19:39,079 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-28 12:19:39,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:19:39,094 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:19:42,438 INFO L272 TraceCheckUtils]: 0: Hoare triple {11541#true} call ULTIMATE.init(); {11541#true} is VALID [2022-04-28 12:19:42,438 INFO L290 TraceCheckUtils]: 1: Hoare triple {11541#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); {11541#true} is VALID [2022-04-28 12:19:42,438 INFO L290 TraceCheckUtils]: 2: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:19:42,438 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11541#true} {11541#true} #88#return; {11541#true} is VALID [2022-04-28 12:19:42,438 INFO L272 TraceCheckUtils]: 4: Hoare triple {11541#true} call #t~ret6 := main(); {11541#true} is VALID [2022-04-28 12:19:42,438 INFO L290 TraceCheckUtils]: 5: Hoare triple {11541#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; {11541#true} is VALID [2022-04-28 12:19:42,439 INFO L272 TraceCheckUtils]: 6: Hoare triple {11541#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:19:42,439 INFO L290 TraceCheckUtils]: 7: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:19:42,439 INFO L290 TraceCheckUtils]: 8: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:19:42,439 INFO L290 TraceCheckUtils]: 9: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:19:42,439 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11541#true} {11541#true} #66#return; {11541#true} is VALID [2022-04-28 12:19:42,439 INFO L290 TraceCheckUtils]: 11: Hoare triple {11541#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11541#true} is VALID [2022-04-28 12:19:42,439 INFO L272 TraceCheckUtils]: 12: Hoare triple {11541#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:19:42,439 INFO L290 TraceCheckUtils]: 13: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:19:42,439 INFO L290 TraceCheckUtils]: 14: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:19:42,439 INFO L290 TraceCheckUtils]: 15: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:19:42,439 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11541#true} {11541#true} #68#return; {11541#true} is VALID [2022-04-28 12:19:42,439 INFO L272 TraceCheckUtils]: 17: Hoare triple {11541#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:19:42,439 INFO L290 TraceCheckUtils]: 18: Hoare triple {11541#true} ~cond := #in~cond; {11600#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:19:42,440 INFO L290 TraceCheckUtils]: 19: Hoare triple {11600#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11604#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:19:42,440 INFO L290 TraceCheckUtils]: 20: Hoare triple {11604#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11604#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:19:42,440 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11604#(not (= |assume_abort_if_not_#in~cond| 0))} {11541#true} #70#return; {11611#(<= 1 main_~x~0)} is VALID [2022-04-28 12:19:42,440 INFO L272 TraceCheckUtils]: 22: Hoare triple {11611#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:19:42,441 INFO L290 TraceCheckUtils]: 23: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:19:42,441 INFO L290 TraceCheckUtils]: 24: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:19:42,441 INFO L290 TraceCheckUtils]: 25: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:19:42,441 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11541#true} {11611#(<= 1 main_~x~0)} #72#return; {11611#(<= 1 main_~x~0)} is VALID [2022-04-28 12:19:42,441 INFO L290 TraceCheckUtils]: 27: Hoare triple {11611#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:19:42,442 INFO L290 TraceCheckUtils]: 28: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:19:42,442 INFO L272 TraceCheckUtils]: 29: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= 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)); {11541#true} is VALID [2022-04-28 12:19:42,442 INFO L290 TraceCheckUtils]: 30: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:19:42,442 INFO L290 TraceCheckUtils]: 31: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:19:42,442 INFO L290 TraceCheckUtils]: 32: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:19:42,443 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11541#true} {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #74#return; {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:19:42,443 INFO L272 TraceCheckUtils]: 34: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= 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)); {11541#true} is VALID [2022-04-28 12:19:42,443 INFO L290 TraceCheckUtils]: 35: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:19:42,443 INFO L290 TraceCheckUtils]: 36: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:19:42,443 INFO L290 TraceCheckUtils]: 37: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:19:42,443 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11541#true} {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #76#return; {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:19:42,444 INFO L272 TraceCheckUtils]: 39: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= 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)); {11541#true} is VALID [2022-04-28 12:19:42,444 INFO L290 TraceCheckUtils]: 40: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:19:42,444 INFO L290 TraceCheckUtils]: 41: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:19:42,444 INFO L290 TraceCheckUtils]: 42: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:19:42,444 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11541#true} {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #78#return; {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:19:42,445 INFO L290 TraceCheckUtils]: 44: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:19:42,445 INFO L290 TraceCheckUtils]: 45: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= 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; {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 12:19:42,446 INFO L290 TraceCheckUtils]: 46: Hoare triple {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 12:19:42,446 INFO L272 TraceCheckUtils]: 47: Hoare triple {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:19:42,446 INFO L290 TraceCheckUtils]: 48: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:19:42,446 INFO L290 TraceCheckUtils]: 49: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:19:42,446 INFO L290 TraceCheckUtils]: 50: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:19:42,446 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11541#true} {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} #74#return; {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 12:19:42,447 INFO L272 TraceCheckUtils]: 52: Hoare triple {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:19:42,447 INFO L290 TraceCheckUtils]: 53: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:19:42,447 INFO L290 TraceCheckUtils]: 54: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:19:42,447 INFO L290 TraceCheckUtils]: 55: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:19:42,447 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11541#true} {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} #76#return; {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 12:19:42,447 INFO L272 TraceCheckUtils]: 57: Hoare triple {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:19:42,448 INFO L290 TraceCheckUtils]: 58: Hoare triple {11541#true} ~cond := #in~cond; {11725#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:19:42,448 INFO L290 TraceCheckUtils]: 59: Hoare triple {11725#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:42,448 INFO L290 TraceCheckUtils]: 60: Hoare triple {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:42,449 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} #78#return; {11736#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 12:19:42,450 INFO L290 TraceCheckUtils]: 62: Hoare triple {11736#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !!(~a~0 != ~b~0); {11736#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 12:19:42,453 INFO L290 TraceCheckUtils]: 63: Hoare triple {11736#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~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; {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} is VALID [2022-04-28 12:19:42,453 INFO L290 TraceCheckUtils]: 64: Hoare triple {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} assume !false; {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} is VALID [2022-04-28 12:19:42,453 INFO L272 TraceCheckUtils]: 65: Hoare triple {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:19:42,453 INFO L290 TraceCheckUtils]: 66: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:19:42,453 INFO L290 TraceCheckUtils]: 67: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:19:42,454 INFO L290 TraceCheckUtils]: 68: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:19:42,454 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11541#true} {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} #74#return; {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} is VALID [2022-04-28 12:19:42,454 INFO L272 TraceCheckUtils]: 70: Hoare triple {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:19:42,454 INFO L290 TraceCheckUtils]: 71: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:19:42,454 INFO L290 TraceCheckUtils]: 72: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:19:42,454 INFO L290 TraceCheckUtils]: 73: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:19:42,455 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11541#true} {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} #76#return; {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} is VALID [2022-04-28 12:19:42,458 INFO L272 TraceCheckUtils]: 75: Hoare triple {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11780#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:19:42,458 INFO L290 TraceCheckUtils]: 76: Hoare triple {11780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:19:42,458 INFO L290 TraceCheckUtils]: 77: Hoare triple {11784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11542#false} is VALID [2022-04-28 12:19:42,458 INFO L290 TraceCheckUtils]: 78: Hoare triple {11542#false} assume !false; {11542#false} is VALID [2022-04-28 12:19:42,459 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 36 proven. 24 refuted. 0 times theorem prover too weak. 106 trivial. 0 not checked. [2022-04-28 12:19:42,459 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:20:14,195 INFO L290 TraceCheckUtils]: 78: Hoare triple {11542#false} assume !false; {11542#false} is VALID [2022-04-28 12:20:14,196 INFO L290 TraceCheckUtils]: 77: Hoare triple {11784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11542#false} is VALID [2022-04-28 12:20:14,196 INFO L290 TraceCheckUtils]: 76: Hoare triple {11780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:14,197 INFO L272 TraceCheckUtils]: 75: Hoare triple {11800#(= 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)); {11780#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:20:14,197 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11541#true} {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:20:14,197 INFO L290 TraceCheckUtils]: 73: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:20:14,197 INFO L290 TraceCheckUtils]: 72: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:20:14,198 INFO L290 TraceCheckUtils]: 71: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:20:14,198 INFO L272 TraceCheckUtils]: 70: Hoare triple {11800#(= 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)); {11541#true} is VALID [2022-04-28 12:20:14,198 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11541#true} {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:20:14,198 INFO L290 TraceCheckUtils]: 68: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:20:14,198 INFO L290 TraceCheckUtils]: 67: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:20:14,198 INFO L290 TraceCheckUtils]: 66: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:20:14,199 INFO L272 TraceCheckUtils]: 65: Hoare triple {11800#(= 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)); {11541#true} is VALID [2022-04-28 12:20:14,199 INFO L290 TraceCheckUtils]: 64: Hoare triple {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:20:14,406 INFO L290 TraceCheckUtils]: 63: Hoare triple {11837#(= (+ (* (+ 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; {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:20:14,406 INFO L290 TraceCheckUtils]: 62: Hoare triple {11837#(= (+ (* (+ 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); {11837#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:20:14,407 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} {11844#(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)))} #78#return; {11837#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:20:14,407 INFO L290 TraceCheckUtils]: 60: Hoare triple {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:14,408 INFO L290 TraceCheckUtils]: 59: Hoare triple {11854#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:14,408 INFO L290 TraceCheckUtils]: 58: Hoare triple {11541#true} ~cond := #in~cond; {11854#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:20:14,408 INFO L272 TraceCheckUtils]: 57: Hoare triple {11844#(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)); {11541#true} is VALID [2022-04-28 12:20:14,409 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11541#true} {11844#(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)))} #76#return; {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 12:20:14,409 INFO L290 TraceCheckUtils]: 55: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:20:14,409 INFO L290 TraceCheckUtils]: 54: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:20:14,409 INFO L290 TraceCheckUtils]: 53: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:20:14,409 INFO L272 TraceCheckUtils]: 52: Hoare triple {11844#(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)); {11541#true} is VALID [2022-04-28 12:20:14,410 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11541#true} {11844#(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)))} #74#return; {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 12:20:14,410 INFO L290 TraceCheckUtils]: 50: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:20:14,410 INFO L290 TraceCheckUtils]: 49: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:20:14,410 INFO L290 TraceCheckUtils]: 48: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:20:14,410 INFO L272 TraceCheckUtils]: 47: Hoare triple {11844#(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)); {11541#true} is VALID [2022-04-28 12:20:14,410 INFO L290 TraceCheckUtils]: 46: Hoare triple {11844#(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 !false; {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 12:20:15,782 INFO L290 TraceCheckUtils]: 45: Hoare triple {11894#(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_~b~0 (* (- 2) 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; {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 12:20:15,783 INFO L290 TraceCheckUtils]: 44: Hoare triple {11894#(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_~b~0 (* (- 2) main_~a~0))))} assume !!(~a~0 != ~b~0); {11894#(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_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-28 12:20:15,784 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11541#true} {11894#(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_~b~0 (* (- 2) main_~a~0))))} #78#return; {11894#(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_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-28 12:20:15,784 INFO L290 TraceCheckUtils]: 42: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:20:15,784 INFO L290 TraceCheckUtils]: 41: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:20:15,784 INFO L290 TraceCheckUtils]: 40: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:20:15,784 INFO L272 TraceCheckUtils]: 39: Hoare triple {11894#(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_~b~0 (* (- 2) main_~a~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:20:15,785 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11541#true} {11894#(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_~b~0 (* (- 2) main_~a~0))))} #76#return; {11894#(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_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-28 12:20:15,785 INFO L290 TraceCheckUtils]: 37: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:20:15,785 INFO L290 TraceCheckUtils]: 36: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:20:15,785 INFO L290 TraceCheckUtils]: 35: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:20:15,785 INFO L272 TraceCheckUtils]: 34: Hoare triple {11894#(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_~b~0 (* (- 2) main_~a~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:20:15,786 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11541#true} {11894#(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_~b~0 (* (- 2) main_~a~0))))} #74#return; {11894#(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_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-28 12:20:15,786 INFO L290 TraceCheckUtils]: 32: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:20:15,786 INFO L290 TraceCheckUtils]: 31: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:20:15,786 INFO L290 TraceCheckUtils]: 30: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:20:15,786 INFO L272 TraceCheckUtils]: 29: Hoare triple {11894#(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_~b~0 (* (- 2) main_~a~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:20:15,786 INFO L290 TraceCheckUtils]: 28: Hoare triple {11894#(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_~b~0 (* (- 2) main_~a~0))))} assume !false; {11894#(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_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-28 12:20:15,787 INFO L290 TraceCheckUtils]: 27: Hoare triple {11541#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11894#(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_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-28 12:20:15,787 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11541#true} {11541#true} #72#return; {11541#true} is VALID [2022-04-28 12:20:15,787 INFO L290 TraceCheckUtils]: 25: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:20:15,787 INFO L290 TraceCheckUtils]: 24: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:20:15,787 INFO L290 TraceCheckUtils]: 23: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:20:15,787 INFO L272 TraceCheckUtils]: 22: Hoare triple {11541#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:20:15,787 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11541#true} {11541#true} #70#return; {11541#true} is VALID [2022-04-28 12:20:15,787 INFO L290 TraceCheckUtils]: 20: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:20:15,787 INFO L290 TraceCheckUtils]: 19: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:20:15,787 INFO L290 TraceCheckUtils]: 18: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:20:15,787 INFO L272 TraceCheckUtils]: 17: Hoare triple {11541#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:20:15,787 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11541#true} {11541#true} #68#return; {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L290 TraceCheckUtils]: 15: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L290 TraceCheckUtils]: 14: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L290 TraceCheckUtils]: 13: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L272 TraceCheckUtils]: 12: Hoare triple {11541#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L290 TraceCheckUtils]: 11: Hoare triple {11541#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11541#true} {11541#true} #66#return; {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L290 TraceCheckUtils]: 9: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L290 TraceCheckUtils]: 8: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L290 TraceCheckUtils]: 7: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L272 TraceCheckUtils]: 6: Hoare triple {11541#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L290 TraceCheckUtils]: 5: Hoare triple {11541#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; {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L272 TraceCheckUtils]: 4: Hoare triple {11541#true} call #t~ret6 := main(); {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11541#true} {11541#true} #88#return; {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L290 TraceCheckUtils]: 1: Hoare triple {11541#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); {11541#true} is VALID [2022-04-28 12:20:15,788 INFO L272 TraceCheckUtils]: 0: Hoare triple {11541#true} call ULTIMATE.init(); {11541#true} is VALID [2022-04-28 12:20:15,789 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 34 proven. 17 refuted. 0 times theorem prover too weak. 115 trivial. 0 not checked. [2022-04-28 12:20:15,789 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:15,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [881608549] [2022-04-28 12:20:15,789 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:20:15,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1126287577] [2022-04-28 12:20:15,789 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1126287577] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:20:15,789 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:20:15,789 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 12:20:15,789 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:15,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1452514910] [2022-04-28 12:20:15,789 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1452514910] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:15,789 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:15,789 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:20:15,789 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [347675507] [2022-04-28 12:20:15,790 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:15,790 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-28 12:20:15,790 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:15,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:20:15,843 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:15,843 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:20:15,844 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:15,844 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:20:15,844 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:20:15,844 INFO L87 Difference]: Start difference. First operand 149 states and 170 transitions. Second operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:20:18,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:18,131 INFO L93 Difference]: Finished difference Result 171 states and 198 transitions. [2022-04-28 12:20:18,131 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:20:18,132 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-28 12:20:18,132 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:20:18,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:20:18,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 69 transitions. [2022-04-28 12:20:18,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:20:18,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 69 transitions. [2022-04-28 12:20:18,134 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 69 transitions. [2022-04-28 12:20:18,205 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:18,207 INFO L225 Difference]: With dead ends: 171 [2022-04-28 12:20:18,207 INFO L226 Difference]: Without dead ends: 169 [2022-04-28 12:20:18,208 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 140 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-28 12:20:18,208 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 21 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 342 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 359 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 342 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 12:20:18,208 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 148 Invalid, 359 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 342 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 12:20:18,209 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states. [2022-04-28 12:20:18,338 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 159. [2022-04-28 12:20:18,339 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:20:18,339 INFO L82 GeneralOperation]: Start isEquivalent. First operand 169 states. Second operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 12:20:18,339 INFO L74 IsIncluded]: Start isIncluded. First operand 169 states. Second operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 12:20:18,339 INFO L87 Difference]: Start difference. First operand 169 states. Second operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 12:20:18,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:18,343 INFO L93 Difference]: Finished difference Result 169 states and 196 transitions. [2022-04-28 12:20:18,343 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 196 transitions. [2022-04-28 12:20:18,343 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:18,343 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:18,344 INFO L74 IsIncluded]: Start isIncluded. First operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 169 states. [2022-04-28 12:20:18,344 INFO L87 Difference]: Start difference. First operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 169 states. [2022-04-28 12:20:18,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:18,346 INFO L93 Difference]: Finished difference Result 169 states and 196 transitions. [2022-04-28 12:20:18,346 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 196 transitions. [2022-04-28 12:20:18,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:18,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:18,347 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:20:18,347 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:20:18,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 12:20:18,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 159 states to 159 states and 183 transitions. [2022-04-28 12:20:18,349 INFO L78 Accepts]: Start accepts. Automaton has 159 states and 183 transitions. Word has length 79 [2022-04-28 12:20:18,350 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:20:18,350 INFO L495 AbstractCegarLoop]: Abstraction has 159 states and 183 transitions. [2022-04-28 12:20:18,350 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:20:18,350 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 159 states and 183 transitions. [2022-04-28 12:20:18,783 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:18,784 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 183 transitions. [2022-04-28 12:20:18,787 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-28 12:20:18,787 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:20:18,787 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:20:18,806 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 12:20:19,003 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 12:20:19,004 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:20:19,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:20:19,004 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 7 times [2022-04-28 12:20:19,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:19,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [839640548] [2022-04-28 12:20:19,004 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:20:19,004 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 8 times [2022-04-28 12:20:19,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:20:19,005 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [781104754] [2022-04-28 12:20:19,005 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:20:19,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:20:19,024 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:20:19,024 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [175227302] [2022-04-28 12:20:19,024 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:20:19,024 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:19,024 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:20:19,036 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:20:19,050 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 12:20:19,098 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:20:19,098 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:20:19,100 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-28 12:20:19,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:19,119 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:20:21,551 INFO L272 TraceCheckUtils]: 0: Hoare triple {13036#true} call ULTIMATE.init(); {13036#true} is VALID [2022-04-28 12:20:21,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {13036#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); {13036#true} is VALID [2022-04-28 12:20:21,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:21,551 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13036#true} {13036#true} #88#return; {13036#true} is VALID [2022-04-28 12:20:21,551 INFO L272 TraceCheckUtils]: 4: Hoare triple {13036#true} call #t~ret6 := main(); {13036#true} is VALID [2022-04-28 12:20:21,552 INFO L290 TraceCheckUtils]: 5: Hoare triple {13036#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; {13036#true} is VALID [2022-04-28 12:20:21,552 INFO L272 TraceCheckUtils]: 6: Hoare triple {13036#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:21,552 INFO L290 TraceCheckUtils]: 7: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:21,552 INFO L290 TraceCheckUtils]: 8: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:21,552 INFO L290 TraceCheckUtils]: 9: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:21,552 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13036#true} {13036#true} #66#return; {13036#true} is VALID [2022-04-28 12:20:21,552 INFO L290 TraceCheckUtils]: 11: Hoare triple {13036#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13036#true} is VALID [2022-04-28 12:20:21,552 INFO L272 TraceCheckUtils]: 12: Hoare triple {13036#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:21,552 INFO L290 TraceCheckUtils]: 13: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:21,552 INFO L290 TraceCheckUtils]: 14: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:21,552 INFO L290 TraceCheckUtils]: 15: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:21,552 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13036#true} {13036#true} #68#return; {13036#true} is VALID [2022-04-28 12:20:21,552 INFO L272 TraceCheckUtils]: 17: Hoare triple {13036#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:21,552 INFO L290 TraceCheckUtils]: 18: Hoare triple {13036#true} ~cond := #in~cond; {13095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:20:21,553 INFO L290 TraceCheckUtils]: 19: Hoare triple {13095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:21,553 INFO L290 TraceCheckUtils]: 20: Hoare triple {13099#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:21,553 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13099#(not (= |assume_abort_if_not_#in~cond| 0))} {13036#true} #70#return; {13106#(<= 1 main_~x~0)} is VALID [2022-04-28 12:20:21,553 INFO L272 TraceCheckUtils]: 22: Hoare triple {13106#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:21,554 INFO L290 TraceCheckUtils]: 23: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:21,554 INFO L290 TraceCheckUtils]: 24: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:21,554 INFO L290 TraceCheckUtils]: 25: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:21,554 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13036#true} {13106#(<= 1 main_~x~0)} #72#return; {13106#(<= 1 main_~x~0)} is VALID [2022-04-28 12:20:21,554 INFO L290 TraceCheckUtils]: 27: Hoare triple {13106#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:21,555 INFO L290 TraceCheckUtils]: 28: Hoare triple {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:21,555 INFO L272 TraceCheckUtils]: 29: Hoare triple {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:21,555 INFO L290 TraceCheckUtils]: 30: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:21,555 INFO L290 TraceCheckUtils]: 31: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:21,555 INFO L290 TraceCheckUtils]: 32: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:21,556 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13036#true} {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:21,556 INFO L272 TraceCheckUtils]: 34: Hoare triple {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:21,556 INFO L290 TraceCheckUtils]: 35: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:21,556 INFO L290 TraceCheckUtils]: 36: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:21,556 INFO L290 TraceCheckUtils]: 37: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:21,556 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13036#true} {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:21,556 INFO L272 TraceCheckUtils]: 39: Hoare triple {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:21,556 INFO L290 TraceCheckUtils]: 40: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:21,557 INFO L290 TraceCheckUtils]: 41: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:21,557 INFO L290 TraceCheckUtils]: 42: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:21,558 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13036#true} {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:21,558 INFO L290 TraceCheckUtils]: 44: Hoare triple {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:21,559 INFO L290 TraceCheckUtils]: 45: Hoare triple {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:20:21,559 INFO L290 TraceCheckUtils]: 46: Hoare triple {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:20:21,559 INFO L272 TraceCheckUtils]: 47: Hoare triple {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:21,559 INFO L290 TraceCheckUtils]: 48: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:21,559 INFO L290 TraceCheckUtils]: 49: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:21,559 INFO L290 TraceCheckUtils]: 50: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:21,560 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13036#true} {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:20:21,560 INFO L272 TraceCheckUtils]: 52: Hoare triple {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:21,560 INFO L290 TraceCheckUtils]: 53: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:21,560 INFO L290 TraceCheckUtils]: 54: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:21,560 INFO L290 TraceCheckUtils]: 55: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:21,561 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13036#true} {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:20:21,561 INFO L272 TraceCheckUtils]: 57: Hoare triple {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:21,561 INFO L290 TraceCheckUtils]: 58: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:21,561 INFO L290 TraceCheckUtils]: 59: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:21,561 INFO L290 TraceCheckUtils]: 60: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:21,562 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13036#true} {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #78#return; {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:20:21,562 INFO L290 TraceCheckUtils]: 62: Hoare triple {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:20:21,563 INFO L290 TraceCheckUtils]: 63: Hoare triple {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:20:21,564 INFO L290 TraceCheckUtils]: 64: Hoare triple {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !false; {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:20:21,564 INFO L272 TraceCheckUtils]: 65: Hoare triple {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:21,564 INFO L290 TraceCheckUtils]: 66: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:21,564 INFO L290 TraceCheckUtils]: 67: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:21,564 INFO L290 TraceCheckUtils]: 68: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:21,565 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13036#true} {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #74#return; {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:20:21,565 INFO L272 TraceCheckUtils]: 70: Hoare triple {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:21,565 INFO L290 TraceCheckUtils]: 71: Hoare triple {13036#true} ~cond := #in~cond; {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:21,565 INFO L290 TraceCheckUtils]: 72: Hoare triple {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:21,566 INFO L290 TraceCheckUtils]: 73: Hoare triple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:21,566 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #76#return; {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:20:21,566 INFO L272 TraceCheckUtils]: 75: Hoare triple {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:21,567 INFO L290 TraceCheckUtils]: 76: Hoare triple {13036#true} ~cond := #in~cond; {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:21,567 INFO L290 TraceCheckUtils]: 77: Hoare triple {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:21,567 INFO L290 TraceCheckUtils]: 78: Hoare triple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:21,568 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #78#return; {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:20:21,568 INFO L290 TraceCheckUtils]: 80: Hoare triple {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:20:21,575 INFO L290 TraceCheckUtils]: 81: Hoare triple {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13293#(and (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (+ main_~p~0 (div (+ (* (- 2) main_~p~0) 1) 3)) main_~x~0) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-28 12:20:21,575 INFO L290 TraceCheckUtils]: 82: Hoare triple {13293#(and (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (+ main_~p~0 (div (+ (* (- 2) main_~p~0) 1) 3)) main_~x~0) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (<= main_~x~0 (* main_~y~0 2)))} assume !false; {13293#(and (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (+ main_~p~0 (div (+ (* (- 2) main_~p~0) 1) 3)) main_~x~0) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-28 12:20:21,575 INFO L272 TraceCheckUtils]: 83: Hoare triple {13293#(and (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (+ main_~p~0 (div (+ (* (- 2) main_~p~0) 1) 3)) main_~x~0) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (<= main_~x~0 (* main_~y~0 2)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:21,575 INFO L290 TraceCheckUtils]: 84: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:21,575 INFO L290 TraceCheckUtils]: 85: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:21,575 INFO L290 TraceCheckUtils]: 86: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:21,576 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {13036#true} {13293#(and (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (+ main_~p~0 (div (+ (* (- 2) main_~p~0) 1) 3)) main_~x~0) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (<= main_~x~0 (* main_~y~0 2)))} #74#return; {13293#(and (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (+ main_~p~0 (div (+ (* (- 2) main_~p~0) 1) 3)) main_~x~0) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-28 12:20:21,580 INFO L272 TraceCheckUtils]: 88: Hoare triple {13293#(and (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (+ main_~p~0 (div (+ (* (- 2) main_~p~0) 1) 3)) main_~x~0) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (<= main_~x~0 (* main_~y~0 2)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13315#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:20:21,580 INFO L290 TraceCheckUtils]: 89: Hoare triple {13315#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13319#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:21,580 INFO L290 TraceCheckUtils]: 90: Hoare triple {13319#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13037#false} is VALID [2022-04-28 12:20:21,580 INFO L290 TraceCheckUtils]: 91: Hoare triple {13037#false} assume !false; {13037#false} is VALID [2022-04-28 12:20:21,581 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 66 proven. 38 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2022-04-28 12:20:21,581 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:20:49,693 INFO L290 TraceCheckUtils]: 91: Hoare triple {13037#false} assume !false; {13037#false} is VALID [2022-04-28 12:20:49,693 INFO L290 TraceCheckUtils]: 90: Hoare triple {13319#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13037#false} is VALID [2022-04-28 12:20:49,693 INFO L290 TraceCheckUtils]: 89: Hoare triple {13315#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13319#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:49,694 INFO L272 TraceCheckUtils]: 88: Hoare triple {13335#(= 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)); {13315#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:20:49,695 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {13036#true} {13335#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {13335#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:20:49,695 INFO L290 TraceCheckUtils]: 86: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:49,695 INFO L290 TraceCheckUtils]: 85: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:49,695 INFO L290 TraceCheckUtils]: 84: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:49,695 INFO L272 TraceCheckUtils]: 83: Hoare triple {13335#(= 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)); {13036#true} is VALID [2022-04-28 12:20:49,695 INFO L290 TraceCheckUtils]: 82: Hoare triple {13335#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {13335#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:20:49,913 INFO L290 TraceCheckUtils]: 81: Hoare triple {13357#(= (+ main_~a~0 (* (- 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; {13335#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:20:49,914 INFO L290 TraceCheckUtils]: 80: Hoare triple {13357#(= (+ main_~a~0 (* (- 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); {13357#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:20:49,915 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} {13364#(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)))))} #78#return; {13357#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:20:49,915 INFO L290 TraceCheckUtils]: 78: Hoare triple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:49,915 INFO L290 TraceCheckUtils]: 77: Hoare triple {13374#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:49,915 INFO L290 TraceCheckUtils]: 76: Hoare triple {13036#true} ~cond := #in~cond; {13374#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:20:49,915 INFO L272 TraceCheckUtils]: 75: Hoare triple {13364#(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)); {13036#true} is VALID [2022-04-28 12:20:49,916 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} {13036#true} #76#return; {13364#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:20:49,917 INFO L290 TraceCheckUtils]: 73: Hoare triple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:49,917 INFO L290 TraceCheckUtils]: 72: Hoare triple {13374#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:49,917 INFO L290 TraceCheckUtils]: 71: Hoare triple {13036#true} ~cond := #in~cond; {13374#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:20:49,917 INFO L272 TraceCheckUtils]: 70: Hoare triple {13036#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:49,917 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13036#true} {13036#true} #74#return; {13036#true} is VALID [2022-04-28 12:20:49,917 INFO L290 TraceCheckUtils]: 68: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:49,917 INFO L290 TraceCheckUtils]: 67: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:49,917 INFO L290 TraceCheckUtils]: 66: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L272 TraceCheckUtils]: 65: Hoare triple {13036#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L290 TraceCheckUtils]: 64: Hoare triple {13036#true} assume !false; {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L290 TraceCheckUtils]: 63: Hoare triple {13036#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L290 TraceCheckUtils]: 62: Hoare triple {13036#true} assume !!(~a~0 != ~b~0); {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13036#true} {13036#true} #78#return; {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L290 TraceCheckUtils]: 60: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L290 TraceCheckUtils]: 59: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L290 TraceCheckUtils]: 58: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L272 TraceCheckUtils]: 57: Hoare triple {13036#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13036#true} {13036#true} #76#return; {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L290 TraceCheckUtils]: 55: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L290 TraceCheckUtils]: 54: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L290 TraceCheckUtils]: 53: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L272 TraceCheckUtils]: 52: Hoare triple {13036#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13036#true} {13036#true} #74#return; {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L290 TraceCheckUtils]: 50: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L290 TraceCheckUtils]: 49: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L290 TraceCheckUtils]: 48: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L272 TraceCheckUtils]: 47: Hoare triple {13036#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:49,918 INFO L290 TraceCheckUtils]: 46: Hoare triple {13036#true} assume !false; {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L290 TraceCheckUtils]: 45: Hoare triple {13036#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L290 TraceCheckUtils]: 44: Hoare triple {13036#true} assume !!(~a~0 != ~b~0); {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13036#true} {13036#true} #78#return; {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L290 TraceCheckUtils]: 42: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L290 TraceCheckUtils]: 41: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L290 TraceCheckUtils]: 40: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L272 TraceCheckUtils]: 39: Hoare triple {13036#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13036#true} {13036#true} #76#return; {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L290 TraceCheckUtils]: 37: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L290 TraceCheckUtils]: 36: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L290 TraceCheckUtils]: 35: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L272 TraceCheckUtils]: 34: Hoare triple {13036#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13036#true} {13036#true} #74#return; {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L290 TraceCheckUtils]: 32: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L290 TraceCheckUtils]: 31: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L290 TraceCheckUtils]: 30: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L272 TraceCheckUtils]: 29: Hoare triple {13036#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L290 TraceCheckUtils]: 28: Hoare triple {13036#true} assume !false; {13036#true} is VALID [2022-04-28 12:20:49,919 INFO L290 TraceCheckUtils]: 27: Hoare triple {13036#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13036#true} {13036#true} #72#return; {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L290 TraceCheckUtils]: 25: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L290 TraceCheckUtils]: 24: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L290 TraceCheckUtils]: 23: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L272 TraceCheckUtils]: 22: Hoare triple {13036#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13036#true} {13036#true} #70#return; {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L290 TraceCheckUtils]: 20: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L290 TraceCheckUtils]: 19: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L290 TraceCheckUtils]: 18: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L272 TraceCheckUtils]: 17: Hoare triple {13036#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13036#true} {13036#true} #68#return; {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L290 TraceCheckUtils]: 15: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L290 TraceCheckUtils]: 14: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L290 TraceCheckUtils]: 13: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L272 TraceCheckUtils]: 12: Hoare triple {13036#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L290 TraceCheckUtils]: 11: Hoare triple {13036#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13036#true} {13036#true} #66#return; {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L290 TraceCheckUtils]: 9: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:49,920 INFO L290 TraceCheckUtils]: 8: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-28 12:20:49,921 INFO L290 TraceCheckUtils]: 7: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-28 12:20:49,921 INFO L272 TraceCheckUtils]: 6: Hoare triple {13036#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {13036#true} is VALID [2022-04-28 12:20:49,921 INFO L290 TraceCheckUtils]: 5: Hoare triple {13036#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; {13036#true} is VALID [2022-04-28 12:20:49,921 INFO L272 TraceCheckUtils]: 4: Hoare triple {13036#true} call #t~ret6 := main(); {13036#true} is VALID [2022-04-28 12:20:49,921 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13036#true} {13036#true} #88#return; {13036#true} is VALID [2022-04-28 12:20:49,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-28 12:20:49,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {13036#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); {13036#true} is VALID [2022-04-28 12:20:49,921 INFO L272 TraceCheckUtils]: 0: Hoare triple {13036#true} call ULTIMATE.init(); {13036#true} is VALID [2022-04-28 12:20:49,921 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 75 proven. 8 refuted. 0 times theorem prover too weak. 168 trivial. 0 not checked. [2022-04-28 12:20:49,921 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:49,921 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [781104754] [2022-04-28 12:20:49,921 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:20:49,921 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [175227302] [2022-04-28 12:20:49,921 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [175227302] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:20:49,922 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:20:49,922 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-28 12:20:49,922 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:49,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [839640548] [2022-04-28 12:20:49,922 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [839640548] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:49,922 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:49,922 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 12:20:49,922 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [358149545] [2022-04-28 12:20:49,922 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:49,922 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) Word has length 92 [2022-04-28 12:20:49,923 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:49,923 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 12:20:49,993 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:49,994 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 12:20:49,994 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:49,994 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 12:20:49,994 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:20:49,994 INFO L87 Difference]: Start difference. First operand 159 states and 183 transitions. Second operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 12:20:58,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:58,095 INFO L93 Difference]: Finished difference Result 189 states and 221 transitions. [2022-04-28 12:20:58,095 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 12:20:58,095 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) Word has length 92 [2022-04-28 12:20:58,095 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:20:58,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 12:20:58,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-28 12:20:58,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 12:20:58,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-28 12:20:58,097 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 79 transitions. [2022-04-28 12:20:58,189 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:58,192 INFO L225 Difference]: With dead ends: 189 [2022-04-28 12:20:58,192 INFO L226 Difference]: Without dead ends: 187 [2022-04-28 12:20:58,192 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 165 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 72 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-28 12:20:58,192 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 24 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 501 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 524 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 501 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:20:58,192 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 181 Invalid, 524 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 501 Invalid, 0 Unknown, 0 Unchecked, 4.1s Time] [2022-04-28 12:20:58,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 187 states. [2022-04-28 12:20:58,356 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 187 to 187. [2022-04-28 12:20:58,356 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:20:58,357 INFO L82 GeneralOperation]: Start isEquivalent. First operand 187 states. Second operand has 187 states, 113 states have (on average 1.0973451327433628) internal successors, (124), 118 states have internal predecessors, (124), 48 states have call successors, (48), 26 states have call predecessors, (48), 25 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 12:20:58,357 INFO L74 IsIncluded]: Start isIncluded. First operand 187 states. Second operand has 187 states, 113 states have (on average 1.0973451327433628) internal successors, (124), 118 states have internal predecessors, (124), 48 states have call successors, (48), 26 states have call predecessors, (48), 25 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 12:20:58,357 INFO L87 Difference]: Start difference. First operand 187 states. Second operand has 187 states, 113 states have (on average 1.0973451327433628) internal successors, (124), 118 states have internal predecessors, (124), 48 states have call successors, (48), 26 states have call predecessors, (48), 25 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 12:20:58,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:58,360 INFO L93 Difference]: Finished difference Result 187 states and 219 transitions. [2022-04-28 12:20:58,360 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 219 transitions. [2022-04-28 12:20:58,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:58,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:58,361 INFO L74 IsIncluded]: Start isIncluded. First operand has 187 states, 113 states have (on average 1.0973451327433628) internal successors, (124), 118 states have internal predecessors, (124), 48 states have call successors, (48), 26 states have call predecessors, (48), 25 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 187 states. [2022-04-28 12:20:58,361 INFO L87 Difference]: Start difference. First operand has 187 states, 113 states have (on average 1.0973451327433628) internal successors, (124), 118 states have internal predecessors, (124), 48 states have call successors, (48), 26 states have call predecessors, (48), 25 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 187 states. [2022-04-28 12:20:58,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:58,364 INFO L93 Difference]: Finished difference Result 187 states and 219 transitions. [2022-04-28 12:20:58,364 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 219 transitions. [2022-04-28 12:20:58,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:58,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:58,364 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:20:58,364 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:20:58,364 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 187 states, 113 states have (on average 1.0973451327433628) internal successors, (124), 118 states have internal predecessors, (124), 48 states have call successors, (48), 26 states have call predecessors, (48), 25 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 12:20:58,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 187 states to 187 states and 219 transitions. [2022-04-28 12:20:58,367 INFO L78 Accepts]: Start accepts. Automaton has 187 states and 219 transitions. Word has length 92 [2022-04-28 12:20:58,368 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:20:58,368 INFO L495 AbstractCegarLoop]: Abstraction has 187 states and 219 transitions. [2022-04-28 12:20:58,368 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 12:20:58,368 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 187 states and 219 transitions. [2022-04-28 12:20:58,867 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 219 edges. 219 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:58,867 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 219 transitions. [2022-04-28 12:20:58,868 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-28 12:20:58,868 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:20:58,868 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:20:58,887 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 12:20:59,068 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:59,069 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:20:59,069 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:20:59,069 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 9 times [2022-04-28 12:20:59,069 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:59,069 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [967325671] [2022-04-28 12:20:59,069 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:20:59,069 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 10 times [2022-04-28 12:20:59,070 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:20:59,070 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1297057558] [2022-04-28 12:20:59,070 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:20:59,070 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:20:59,078 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:20:59,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1400519686] [2022-04-28 12:20:59,078 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:20:59,079 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:59,079 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:20:59,082 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:20:59,082 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 12:20:59,121 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:20:59,121 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:20:59,122 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 56 conjunts are in the unsatisfiable core [2022-04-28 12:20:59,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:59,136 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:21:00,969 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:21:01,041 INFO L272 TraceCheckUtils]: 0: Hoare triple {14737#true} call ULTIMATE.init(); {14737#true} is VALID [2022-04-28 12:21:01,041 INFO L290 TraceCheckUtils]: 1: Hoare triple {14737#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); {14737#true} is VALID [2022-04-28 12:21:01,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:01,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14737#true} {14737#true} #88#return; {14737#true} is VALID [2022-04-28 12:21:01,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {14737#true} call #t~ret6 := main(); {14737#true} is VALID [2022-04-28 12:21:01,041 INFO L290 TraceCheckUtils]: 5: Hoare triple {14737#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; {14737#true} is VALID [2022-04-28 12:21:01,041 INFO L272 TraceCheckUtils]: 6: Hoare triple {14737#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:01,041 INFO L290 TraceCheckUtils]: 7: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:01,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:01,041 INFO L290 TraceCheckUtils]: 9: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:01,042 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14737#true} {14737#true} #66#return; {14737#true} is VALID [2022-04-28 12:21:01,042 INFO L290 TraceCheckUtils]: 11: Hoare triple {14737#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14737#true} is VALID [2022-04-28 12:21:01,042 INFO L272 TraceCheckUtils]: 12: Hoare triple {14737#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:01,042 INFO L290 TraceCheckUtils]: 13: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:01,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:01,042 INFO L290 TraceCheckUtils]: 15: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:01,042 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14737#true} {14737#true} #68#return; {14737#true} is VALID [2022-04-28 12:21:01,042 INFO L272 TraceCheckUtils]: 17: Hoare triple {14737#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:01,042 INFO L290 TraceCheckUtils]: 18: Hoare triple {14737#true} ~cond := #in~cond; {14796#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:21:01,042 INFO L290 TraceCheckUtils]: 19: Hoare triple {14796#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14800#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:21:01,043 INFO L290 TraceCheckUtils]: 20: Hoare triple {14800#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14800#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:21:01,043 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14800#(not (= |assume_abort_if_not_#in~cond| 0))} {14737#true} #70#return; {14807#(<= 1 main_~x~0)} is VALID [2022-04-28 12:21:01,043 INFO L272 TraceCheckUtils]: 22: Hoare triple {14807#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:01,043 INFO L290 TraceCheckUtils]: 23: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:01,043 INFO L290 TraceCheckUtils]: 24: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:01,043 INFO L290 TraceCheckUtils]: 25: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:01,044 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14737#true} {14807#(<= 1 main_~x~0)} #72#return; {14807#(<= 1 main_~x~0)} is VALID [2022-04-28 12:21:01,044 INFO L290 TraceCheckUtils]: 27: Hoare triple {14807#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:01,044 INFO L290 TraceCheckUtils]: 28: Hoare triple {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:01,044 INFO L272 TraceCheckUtils]: 29: Hoare triple {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:01,044 INFO L290 TraceCheckUtils]: 30: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:01,045 INFO L290 TraceCheckUtils]: 31: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:01,045 INFO L290 TraceCheckUtils]: 32: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:01,045 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14737#true} {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:01,045 INFO L272 TraceCheckUtils]: 34: Hoare triple {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:01,045 INFO L290 TraceCheckUtils]: 35: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:01,045 INFO L290 TraceCheckUtils]: 36: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:01,045 INFO L290 TraceCheckUtils]: 37: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:01,046 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14737#true} {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:01,046 INFO L272 TraceCheckUtils]: 39: Hoare triple {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:01,046 INFO L290 TraceCheckUtils]: 40: Hoare triple {14737#true} ~cond := #in~cond; {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:01,046 INFO L290 TraceCheckUtils]: 41: Hoare triple {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:01,047 INFO L290 TraceCheckUtils]: 42: Hoare triple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:01,047 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:01,048 INFO L290 TraceCheckUtils]: 44: Hoare triple {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {14880#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:01,048 INFO L290 TraceCheckUtils]: 45: Hoare triple {14880#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~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; {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:21:01,049 INFO L290 TraceCheckUtils]: 46: Hoare triple {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:21:01,049 INFO L272 TraceCheckUtils]: 47: Hoare triple {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 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)); {14737#true} is VALID [2022-04-28 12:21:01,049 INFO L290 TraceCheckUtils]: 48: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:01,049 INFO L290 TraceCheckUtils]: 49: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:01,049 INFO L290 TraceCheckUtils]: 50: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:01,050 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14737#true} {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #74#return; {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:21:01,050 INFO L272 TraceCheckUtils]: 52: Hoare triple {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 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)); {14737#true} is VALID [2022-04-28 12:21:01,050 INFO L290 TraceCheckUtils]: 53: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:01,050 INFO L290 TraceCheckUtils]: 54: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:01,050 INFO L290 TraceCheckUtils]: 55: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:01,050 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14737#true} {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #76#return; {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:21:01,050 INFO L272 TraceCheckUtils]: 57: Hoare triple {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:01,051 INFO L290 TraceCheckUtils]: 58: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:01,051 INFO L290 TraceCheckUtils]: 59: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:01,051 INFO L290 TraceCheckUtils]: 60: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:01,051 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14737#true} {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #78#return; {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:21:01,052 INFO L290 TraceCheckUtils]: 62: Hoare triple {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:21:01,052 INFO L290 TraceCheckUtils]: 63: Hoare triple {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-28 12:21:01,053 INFO L290 TraceCheckUtils]: 64: Hoare triple {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} assume !false; {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-28 12:21:01,053 INFO L272 TraceCheckUtils]: 65: Hoare triple {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:01,053 INFO L290 TraceCheckUtils]: 66: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:01,053 INFO L290 TraceCheckUtils]: 67: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:01,053 INFO L290 TraceCheckUtils]: 68: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:01,053 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14737#true} {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} #74#return; {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-28 12:21:01,054 INFO L272 TraceCheckUtils]: 70: Hoare triple {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:01,054 INFO L290 TraceCheckUtils]: 71: Hoare triple {14737#true} ~cond := #in~cond; {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:01,054 INFO L290 TraceCheckUtils]: 72: Hoare triple {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:01,054 INFO L290 TraceCheckUtils]: 73: Hoare triple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:01,055 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} #76#return; {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-28 12:21:01,055 INFO L272 TraceCheckUtils]: 75: Hoare triple {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:01,055 INFO L290 TraceCheckUtils]: 76: Hoare triple {14737#true} ~cond := #in~cond; {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:01,055 INFO L290 TraceCheckUtils]: 77: Hoare triple {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:01,056 INFO L290 TraceCheckUtils]: 78: Hoare triple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:01,056 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} #78#return; {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-28 12:21:01,057 INFO L290 TraceCheckUtils]: 80: Hoare triple {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} assume !!(~a~0 != ~b~0); {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-28 12:21:01,058 INFO L290 TraceCheckUtils]: 81: Hoare triple {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~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; {14994#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:01,059 INFO L290 TraceCheckUtils]: 82: Hoare triple {14994#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} assume !false; {14994#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:01,059 INFO L272 TraceCheckUtils]: 83: Hoare triple {14994#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:01,059 INFO L290 TraceCheckUtils]: 84: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:01,059 INFO L290 TraceCheckUtils]: 85: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:01,059 INFO L290 TraceCheckUtils]: 86: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:01,059 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {14737#true} {14994#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} #74#return; {14994#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:01,062 INFO L272 TraceCheckUtils]: 88: Hoare triple {14994#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15016#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:21:01,062 INFO L290 TraceCheckUtils]: 89: Hoare triple {15016#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15020#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:01,062 INFO L290 TraceCheckUtils]: 90: Hoare triple {15020#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14738#false} is VALID [2022-04-28 12:21:01,062 INFO L290 TraceCheckUtils]: 91: Hoare triple {14738#false} assume !false; {14738#false} is VALID [2022-04-28 12:21:01,063 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 65 proven. 54 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-04-28 12:21:01,063 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:21:36,230 INFO L290 TraceCheckUtils]: 91: Hoare triple {14738#false} assume !false; {14738#false} is VALID [2022-04-28 12:21:36,231 INFO L290 TraceCheckUtils]: 90: Hoare triple {15020#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14738#false} is VALID [2022-04-28 12:21:36,231 INFO L290 TraceCheckUtils]: 89: Hoare triple {15016#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15020#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:36,232 INFO L272 TraceCheckUtils]: 88: Hoare triple {15036#(= 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)); {15016#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:21:36,232 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {14737#true} {15036#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {15036#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:21:36,232 INFO L290 TraceCheckUtils]: 86: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:36,232 INFO L290 TraceCheckUtils]: 85: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:36,232 INFO L290 TraceCheckUtils]: 84: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:36,233 INFO L272 TraceCheckUtils]: 83: Hoare triple {15036#(= 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)); {14737#true} is VALID [2022-04-28 12:21:36,233 INFO L290 TraceCheckUtils]: 82: Hoare triple {15036#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {15036#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:21:36,435 INFO L290 TraceCheckUtils]: 81: Hoare triple {15058#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {15036#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:21:36,436 INFO L290 TraceCheckUtils]: 80: Hoare triple {15058#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {15058#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:21:36,437 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} {15065#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {15058#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:21:36,437 INFO L290 TraceCheckUtils]: 78: Hoare triple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:36,437 INFO L290 TraceCheckUtils]: 77: Hoare triple {15075#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:36,438 INFO L290 TraceCheckUtils]: 76: Hoare triple {14737#true} ~cond := #in~cond; {15075#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:21:36,438 INFO L272 TraceCheckUtils]: 75: Hoare triple {15065#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (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)); {14737#true} is VALID [2022-04-28 12:21:36,439 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} {14737#true} #76#return; {15065#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:21:36,439 INFO L290 TraceCheckUtils]: 73: Hoare triple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:36,439 INFO L290 TraceCheckUtils]: 72: Hoare triple {15075#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:36,440 INFO L290 TraceCheckUtils]: 71: Hoare triple {14737#true} ~cond := #in~cond; {15075#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:21:36,440 INFO L272 TraceCheckUtils]: 70: Hoare triple {14737#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14737#true} {14737#true} #74#return; {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L290 TraceCheckUtils]: 68: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L290 TraceCheckUtils]: 67: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L290 TraceCheckUtils]: 66: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L272 TraceCheckUtils]: 65: Hoare triple {14737#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L290 TraceCheckUtils]: 64: Hoare triple {14737#true} assume !false; {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L290 TraceCheckUtils]: 63: Hoare triple {14737#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L290 TraceCheckUtils]: 62: Hoare triple {14737#true} assume !!(~a~0 != ~b~0); {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14737#true} {14737#true} #78#return; {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L290 TraceCheckUtils]: 60: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L290 TraceCheckUtils]: 59: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L290 TraceCheckUtils]: 58: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L272 TraceCheckUtils]: 57: Hoare triple {14737#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14737#true} {14737#true} #76#return; {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L290 TraceCheckUtils]: 55: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:36,440 INFO L290 TraceCheckUtils]: 54: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L290 TraceCheckUtils]: 53: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L272 TraceCheckUtils]: 52: Hoare triple {14737#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14737#true} {14737#true} #74#return; {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L290 TraceCheckUtils]: 50: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L290 TraceCheckUtils]: 49: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L290 TraceCheckUtils]: 48: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L272 TraceCheckUtils]: 47: Hoare triple {14737#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L290 TraceCheckUtils]: 46: Hoare triple {14737#true} assume !false; {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L290 TraceCheckUtils]: 45: Hoare triple {14737#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L290 TraceCheckUtils]: 44: Hoare triple {14737#true} assume !!(~a~0 != ~b~0); {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {14737#true} {14737#true} #78#return; {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L290 TraceCheckUtils]: 42: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L290 TraceCheckUtils]: 41: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L290 TraceCheckUtils]: 40: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L272 TraceCheckUtils]: 39: Hoare triple {14737#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14737#true} {14737#true} #76#return; {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L290 TraceCheckUtils]: 37: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L290 TraceCheckUtils]: 36: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:36,441 INFO L290 TraceCheckUtils]: 35: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L272 TraceCheckUtils]: 34: Hoare triple {14737#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14737#true} {14737#true} #74#return; {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L290 TraceCheckUtils]: 32: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L290 TraceCheckUtils]: 31: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L290 TraceCheckUtils]: 30: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L272 TraceCheckUtils]: 29: Hoare triple {14737#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L290 TraceCheckUtils]: 28: Hoare triple {14737#true} assume !false; {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L290 TraceCheckUtils]: 27: Hoare triple {14737#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14737#true} {14737#true} #72#return; {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L290 TraceCheckUtils]: 25: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L290 TraceCheckUtils]: 24: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L290 TraceCheckUtils]: 23: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L272 TraceCheckUtils]: 22: Hoare triple {14737#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14737#true} {14737#true} #70#return; {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L290 TraceCheckUtils]: 20: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L290 TraceCheckUtils]: 19: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L290 TraceCheckUtils]: 18: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L272 TraceCheckUtils]: 17: Hoare triple {14737#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14737#true} {14737#true} #68#return; {14737#true} is VALID [2022-04-28 12:21:36,442 INFO L290 TraceCheckUtils]: 15: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:36,443 INFO L290 TraceCheckUtils]: 14: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:36,443 INFO L290 TraceCheckUtils]: 13: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:36,443 INFO L272 TraceCheckUtils]: 12: Hoare triple {14737#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:36,443 INFO L290 TraceCheckUtils]: 11: Hoare triple {14737#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14737#true} is VALID [2022-04-28 12:21:36,443 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14737#true} {14737#true} #66#return; {14737#true} is VALID [2022-04-28 12:21:36,443 INFO L290 TraceCheckUtils]: 9: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:36,443 INFO L290 TraceCheckUtils]: 8: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-28 12:21:36,443 INFO L290 TraceCheckUtils]: 7: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-28 12:21:36,443 INFO L272 TraceCheckUtils]: 6: Hoare triple {14737#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {14737#true} is VALID [2022-04-28 12:21:36,443 INFO L290 TraceCheckUtils]: 5: Hoare triple {14737#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; {14737#true} is VALID [2022-04-28 12:21:36,443 INFO L272 TraceCheckUtils]: 4: Hoare triple {14737#true} call #t~ret6 := main(); {14737#true} is VALID [2022-04-28 12:21:36,443 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14737#true} {14737#true} #88#return; {14737#true} is VALID [2022-04-28 12:21:36,443 INFO L290 TraceCheckUtils]: 2: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-28 12:21:36,443 INFO L290 TraceCheckUtils]: 1: Hoare triple {14737#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); {14737#true} is VALID [2022-04-28 12:21:36,443 INFO L272 TraceCheckUtils]: 0: Hoare triple {14737#true} call ULTIMATE.init(); {14737#true} is VALID [2022-04-28 12:21:36,444 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 75 proven. 8 refuted. 0 times theorem prover too weak. 168 trivial. 0 not checked. [2022-04-28 12:21:36,444 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:21:36,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1297057558] [2022-04-28 12:21:36,444 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:21:36,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1400519686] [2022-04-28 12:21:36,444 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1400519686] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:21:36,444 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:21:36,444 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-28 12:21:36,444 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:21:36,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [967325671] [2022-04-28 12:21:36,444 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [967325671] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:21:36,444 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:21:36,444 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 12:21:36,444 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1891031607] [2022-04-28 12:21:36,444 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:21:36,445 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) Word has length 92 [2022-04-28 12:21:36,445 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:21:36,445 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 12:21:36,497 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:36,498 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 12:21:36,498 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:36,498 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 12:21:36,498 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=247, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:21:36,498 INFO L87 Difference]: Start difference. First operand 187 states and 219 transitions. Second operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 12:21:38,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:38,681 INFO L93 Difference]: Finished difference Result 224 states and 261 transitions. [2022-04-28 12:21:38,681 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 12:21:38,681 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) Word has length 92 [2022-04-28 12:21:38,681 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:21:38,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 12:21:38,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-28 12:21:38,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 12:21:38,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-28 12:21:38,683 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 79 transitions. [2022-04-28 12:21:38,771 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:38,774 INFO L225 Difference]: With dead ends: 224 [2022-04-28 12:21:38,774 INFO L226 Difference]: Without dead ends: 222 [2022-04-28 12:21:38,774 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 164 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 75 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=76, Invalid=344, Unknown=0, NotChecked=0, Total=420 [2022-04-28 12:21:38,775 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 24 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 473 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 159 SdHoareTripleChecker+Invalid, 506 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 473 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:21:38,775 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 159 Invalid, 506 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 473 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 12:21:38,775 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 222 states. [2022-04-28 12:21:39,036 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 222 to 222. [2022-04-28 12:21:39,036 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:21:39,038 INFO L82 GeneralOperation]: Start isEquivalent. First operand 222 states. Second operand has 222 states, 136 states have (on average 1.1029411764705883) internal successors, (150), 140 states have internal predecessors, (150), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:21:39,038 INFO L74 IsIncluded]: Start isIncluded. First operand 222 states. Second operand has 222 states, 136 states have (on average 1.1029411764705883) internal successors, (150), 140 states have internal predecessors, (150), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:21:39,038 INFO L87 Difference]: Start difference. First operand 222 states. Second operand has 222 states, 136 states have (on average 1.1029411764705883) internal successors, (150), 140 states have internal predecessors, (150), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:21:39,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:39,042 INFO L93 Difference]: Finished difference Result 222 states and 259 transitions. [2022-04-28 12:21:39,042 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 259 transitions. [2022-04-28 12:21:39,043 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:39,043 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:39,043 INFO L74 IsIncluded]: Start isIncluded. First operand has 222 states, 136 states have (on average 1.1029411764705883) internal successors, (150), 140 states have internal predecessors, (150), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 222 states. [2022-04-28 12:21:39,043 INFO L87 Difference]: Start difference. First operand has 222 states, 136 states have (on average 1.1029411764705883) internal successors, (150), 140 states have internal predecessors, (150), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 222 states. [2022-04-28 12:21:39,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:39,047 INFO L93 Difference]: Finished difference Result 222 states and 259 transitions. [2022-04-28 12:21:39,047 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 259 transitions. [2022-04-28 12:21:39,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:39,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:39,047 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:21:39,047 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:21:39,048 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 222 states, 136 states have (on average 1.1029411764705883) internal successors, (150), 140 states have internal predecessors, (150), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:21:39,052 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 259 transitions. [2022-04-28 12:21:39,052 INFO L78 Accepts]: Start accepts. Automaton has 222 states and 259 transitions. Word has length 92 [2022-04-28 12:21:39,052 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:21:39,052 INFO L495 AbstractCegarLoop]: Abstraction has 222 states and 259 transitions. [2022-04-28 12:21:39,052 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 12:21:39,052 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 222 states and 259 transitions. [2022-04-28 12:21:39,618 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 259 edges. 259 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:39,618 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 259 transitions. [2022-04-28 12:21:39,619 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-28 12:21:39,619 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:21:39,619 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:21:39,635 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 12:21:39,839 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 12:21:39,839 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:21:39,839 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:21:39,840 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 11 times [2022-04-28 12:21:39,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:39,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [954337276] [2022-04-28 12:21:39,840 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:21:39,840 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 12 times [2022-04-28 12:21:39,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:21:39,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1153147025] [2022-04-28 12:21:39,840 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:21:39,840 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:21:39,849 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:21:39,849 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1221947703] [2022-04-28 12:21:39,849 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:21:39,849 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:21:39,849 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:21:39,857 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:21:39,858 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 12:21:39,900 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:21:39,900 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:21:39,901 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 12:21:39,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:21:39,937 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:21:56,016 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:22:00,306 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:22:06,693 INFO L272 TraceCheckUtils]: 0: Hoare triple {16648#true} call ULTIMATE.init(); {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {16648#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); {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16648#true} {16648#true} #88#return; {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L272 TraceCheckUtils]: 4: Hoare triple {16648#true} call #t~ret6 := main(); {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L290 TraceCheckUtils]: 5: Hoare triple {16648#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; {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L272 TraceCheckUtils]: 6: Hoare triple {16648#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L290 TraceCheckUtils]: 7: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L290 TraceCheckUtils]: 9: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16648#true} {16648#true} #66#return; {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L290 TraceCheckUtils]: 11: Hoare triple {16648#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L272 TraceCheckUtils]: 12: Hoare triple {16648#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L290 TraceCheckUtils]: 13: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L290 TraceCheckUtils]: 14: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L290 TraceCheckUtils]: 15: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-28 12:22:06,694 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16648#true} {16648#true} #68#return; {16648#true} is VALID [2022-04-28 12:22:06,695 INFO L272 TraceCheckUtils]: 17: Hoare triple {16648#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16648#true} is VALID [2022-04-28 12:22:06,695 INFO L290 TraceCheckUtils]: 18: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-28 12:22:06,695 INFO L290 TraceCheckUtils]: 19: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-28 12:22:06,695 INFO L290 TraceCheckUtils]: 20: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-28 12:22:06,695 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16648#true} {16648#true} #70#return; {16648#true} is VALID [2022-04-28 12:22:06,695 INFO L272 TraceCheckUtils]: 22: Hoare triple {16648#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16648#true} is VALID [2022-04-28 12:22:06,695 INFO L290 TraceCheckUtils]: 23: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-28 12:22:06,695 INFO L290 TraceCheckUtils]: 24: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-28 12:22:06,695 INFO L290 TraceCheckUtils]: 25: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-28 12:22:06,695 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16648#true} {16648#true} #72#return; {16648#true} is VALID [2022-04-28 12:22:06,695 INFO L290 TraceCheckUtils]: 27: Hoare triple {16648#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,696 INFO L290 TraceCheckUtils]: 28: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !false; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,696 INFO L272 TraceCheckUtils]: 29: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16648#true} is VALID [2022-04-28 12:22:06,696 INFO L290 TraceCheckUtils]: 30: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-28 12:22:06,696 INFO L290 TraceCheckUtils]: 31: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-28 12:22:06,696 INFO L290 TraceCheckUtils]: 32: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-28 12:22:06,697 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #74#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,697 INFO L272 TraceCheckUtils]: 34: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~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)); {16648#true} is VALID [2022-04-28 12:22:06,697 INFO L290 TraceCheckUtils]: 35: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-28 12:22:06,697 INFO L290 TraceCheckUtils]: 36: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-28 12:22:06,697 INFO L290 TraceCheckUtils]: 37: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-28 12:22:06,697 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #76#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,697 INFO L272 TraceCheckUtils]: 39: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~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)); {16648#true} is VALID [2022-04-28 12:22:06,697 INFO L290 TraceCheckUtils]: 40: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-28 12:22:06,697 INFO L290 TraceCheckUtils]: 41: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-28 12:22:06,698 INFO L290 TraceCheckUtils]: 42: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-28 12:22:06,698 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #78#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,698 INFO L290 TraceCheckUtils]: 44: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,699 INFO L290 TraceCheckUtils]: 45: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~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; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,699 INFO L290 TraceCheckUtils]: 46: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !false; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,699 INFO L272 TraceCheckUtils]: 47: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16648#true} is VALID [2022-04-28 12:22:06,699 INFO L290 TraceCheckUtils]: 48: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-28 12:22:06,699 INFO L290 TraceCheckUtils]: 49: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-28 12:22:06,699 INFO L290 TraceCheckUtils]: 50: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-28 12:22:06,700 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #74#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,700 INFO L272 TraceCheckUtils]: 52: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~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)); {16648#true} is VALID [2022-04-28 12:22:06,700 INFO L290 TraceCheckUtils]: 53: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-28 12:22:06,700 INFO L290 TraceCheckUtils]: 54: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-28 12:22:06,700 INFO L290 TraceCheckUtils]: 55: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-28 12:22:06,701 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #76#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,701 INFO L272 TraceCheckUtils]: 57: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~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)); {16648#true} is VALID [2022-04-28 12:22:06,701 INFO L290 TraceCheckUtils]: 58: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-28 12:22:06,701 INFO L290 TraceCheckUtils]: 59: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-28 12:22:06,701 INFO L290 TraceCheckUtils]: 60: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-28 12:22:06,701 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #78#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,702 INFO L290 TraceCheckUtils]: 62: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,702 INFO L290 TraceCheckUtils]: 63: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~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; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,702 INFO L290 TraceCheckUtils]: 64: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !false; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,703 INFO L272 TraceCheckUtils]: 65: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16648#true} is VALID [2022-04-28 12:22:06,703 INFO L290 TraceCheckUtils]: 66: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-28 12:22:06,703 INFO L290 TraceCheckUtils]: 67: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-28 12:22:06,703 INFO L290 TraceCheckUtils]: 68: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-28 12:22:06,703 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #74#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,703 INFO L272 TraceCheckUtils]: 70: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~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)); {16648#true} is VALID [2022-04-28 12:22:06,703 INFO L290 TraceCheckUtils]: 71: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-28 12:22:06,703 INFO L290 TraceCheckUtils]: 72: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-28 12:22:06,703 INFO L290 TraceCheckUtils]: 73: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-28 12:22:06,704 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #76#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,704 INFO L272 TraceCheckUtils]: 75: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~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)); {16648#true} is VALID [2022-04-28 12:22:06,704 INFO L290 TraceCheckUtils]: 76: Hoare triple {16648#true} ~cond := #in~cond; {16882#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:06,704 INFO L290 TraceCheckUtils]: 77: Hoare triple {16882#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:06,705 INFO L290 TraceCheckUtils]: 78: Hoare triple {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:06,705 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #78#return; {16893#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,706 INFO L290 TraceCheckUtils]: 80: Hoare triple {16893#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16893#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:06,707 INFO L290 TraceCheckUtils]: 81: Hoare triple {16893#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {16900#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 12:22:06,707 INFO L290 TraceCheckUtils]: 82: Hoare triple {16900#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !false; {16900#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 12:22:06,707 INFO L272 TraceCheckUtils]: 83: Hoare triple {16900#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= 1 (+ main_~q~0 main_~p~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16648#true} is VALID [2022-04-28 12:22:06,708 INFO L290 TraceCheckUtils]: 84: Hoare triple {16648#true} ~cond := #in~cond; {16882#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:06,708 INFO L290 TraceCheckUtils]: 85: Hoare triple {16882#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:06,708 INFO L290 TraceCheckUtils]: 86: Hoare triple {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:08,711 WARN L284 TraceCheckUtils]: 87: Hoare quadruple {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} {16900#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= 1 (+ main_~q~0 main_~p~0)))} #74#return; {16919#(or (and (<= 1 (+ (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~p~0)) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) 0) (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~r~0) 1)) (not (= main_~x~0 0))) (and (= main_~x~0 0) (not (= main_~r~0 0)) (= (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) 0) (<= 1 (+ main_~p~0 (div (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0))) (= (mod (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0) 0)))} is UNKNOWN [2022-04-28 12:22:08,717 INFO L272 TraceCheckUtils]: 88: Hoare triple {16919#(or (and (<= 1 (+ (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~p~0)) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) 0) (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~r~0) 1)) (not (= main_~x~0 0))) (and (= main_~x~0 0) (not (= main_~r~0 0)) (= (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) 0) (<= 1 (+ main_~p~0 (div (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0))) (= (mod (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0) 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16923#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:22:08,724 INFO L290 TraceCheckUtils]: 89: Hoare triple {16923#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16927#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:08,725 INFO L290 TraceCheckUtils]: 90: Hoare triple {16927#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16649#false} is VALID [2022-04-28 12:22:08,725 INFO L290 TraceCheckUtils]: 91: Hoare triple {16649#false} assume !false; {16649#false} is VALID [2022-04-28 12:22:08,725 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 70 proven. 11 refuted. 0 times theorem prover too weak. 170 trivial. 0 not checked. [2022-04-28 12:22:08,725 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:23:12,177 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:24:51,786 WARN L855 $PredicateComparison]: unable to prove that (forall ((v_main_~q~0_BEFORE_CALL_129 Int) (v_main_~p~0_BEFORE_CALL_131 Int) (v_main_~s~0_BEFORE_CALL_123 Int) (v_main_~r~0_BEFORE_CALL_128 Int)) (or (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (let ((.cse0 (+ (* v_main_~r~0_BEFORE_CALL_128 v_main_~q~0_BEFORE_CALL_129) 1))) (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (= (mod .cse0 v_main_~p~0_BEFORE_CALL_131) 0) (= .cse0 0)))) (not (= (+ (* (+ (* (- 1) v_main_~s~0_BEFORE_CALL_123) v_main_~r~0_BEFORE_CALL_128) v_main_~q~0_BEFORE_CALL_129) 1) (* (+ v_main_~p~0_BEFORE_CALL_131 (* (- 1) v_main_~q~0_BEFORE_CALL_129)) v_main_~s~0_BEFORE_CALL_123))))) is different from true [2022-04-28 12:26:42,837 WARN L232 SmtUtils]: Spent 6.24s on a formula simplification that was a NOOP. DAG size: 15 (called from [L 988] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2022-04-28 12:27:14,815 WARN L855 $PredicateComparison]: unable to prove that (or (forall ((v_main_~q~0_BEFORE_CALL_129 Int) (v_main_~p~0_BEFORE_CALL_131 Int) (v_main_~s~0_BEFORE_CALL_123 Int) (v_main_~r~0_BEFORE_CALL_128 Int)) (or (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (let ((.cse0 (+ (* v_main_~r~0_BEFORE_CALL_128 v_main_~q~0_BEFORE_CALL_129) 1))) (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (= (mod .cse0 v_main_~p~0_BEFORE_CALL_131) 0) (= .cse0 0)))) (not (= (+ (* (+ (* (- 1) v_main_~s~0_BEFORE_CALL_123) v_main_~r~0_BEFORE_CALL_128) v_main_~q~0_BEFORE_CALL_129) 1) (* (+ v_main_~p~0_BEFORE_CALL_131 (* (- 1) v_main_~q~0_BEFORE_CALL_129)) v_main_~s~0_BEFORE_CALL_123))))) (= c___VERIFIER_assert_~cond 0)) is different from true [2022-04-28 12:28:02,404 WARN L855 $PredicateComparison]: unable to prove that (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~q~0_BEFORE_CALL_129 Int) (v_main_~p~0_BEFORE_CALL_131 Int) (v_main_~s~0_BEFORE_CALL_123 Int) (v_main_~r~0_BEFORE_CALL_128 Int)) (let ((.cse0 (+ (* v_main_~r~0_BEFORE_CALL_128 v_main_~q~0_BEFORE_CALL_129) 1))) (or (not (= (+ (* (+ (* (- 1) v_main_~s~0_BEFORE_CALL_123) v_main_~r~0_BEFORE_CALL_128) v_main_~q~0_BEFORE_CALL_129) 1) (* (+ v_main_~p~0_BEFORE_CALL_131 (* (- 1) v_main_~q~0_BEFORE_CALL_129)) v_main_~s~0_BEFORE_CALL_123))) (= (mod .cse0 v_main_~p~0_BEFORE_CALL_131) 0) (= .cse0 0))))) is different from true [2022-04-28 12:28:12,584 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse0 (= (+ (* c_main_~p~0 c_main_~x~0) (* c_main_~r~0 c_main_~y~0)) c_main_~a~0))) (and (or (not (= (mod (+ (- 1) (* c_main_~p~0 c_main_~r~0)) c_main_~r~0) 0)) (= c_main_~r~0 0) .cse0) (or (= c_main_~p~0 0) (forall ((main_~q~0 Int)) (not (= (mod (+ (* (+ (* (- 1) c_main_~p~0) main_~q~0) c_main_~r~0) 1) c_main_~p~0) 0))) .cse0))) is different from true [2022-04-28 12:28:12,675 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:28:12,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1153147025] [2022-04-28 12:28:12,675 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:28:12,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1221947703] [2022-04-28 12:28:12,675 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1221947703] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:28:12,675 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:28:12,675 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-28 12:28:12,676 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:28:12,676 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [954337276] [2022-04-28 12:28:12,676 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [954337276] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:28:12,677 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:28:12,677 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:28:12,677 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [235390434] [2022-04-28 12:28:12,677 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:28:12,677 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 3 states have call successors, (10) Word has length 92 [2022-04-28 12:28:12,677 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:28:12,677 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:28:14,717 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:28:14,717 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:28:14,717 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:28:14,718 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:28:14,718 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=168, Unknown=7, NotChecked=116, Total=342 [2022-04-28 12:28:14,718 INFO L87 Difference]: Start difference. First operand 222 states and 259 transitions. Second operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 3 states have call successors, (10)