/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/egcd-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 10:45:52,156 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 10:45:52,165 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 10:45:52,227 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 10:45:52,227 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 10:45:52,229 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 10:45:52,232 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 10:45:52,233 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 10:45:52,234 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 10:45:52,235 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 10:45:52,236 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 10:45:52,237 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 10:45:52,237 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 10:45:52,238 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 10:45:52,238 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 10:45:52,239 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 10:45:52,240 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 10:45:52,241 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 10:45:52,242 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 10:45:52,243 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 10:45:52,244 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 10:45:52,251 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 10:45:52,253 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 10:45:52,256 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 10:45:52,258 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 10:45:52,262 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 10:45:52,262 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 10:45:52,263 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 10:45:52,263 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 10:45:52,264 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 10:45:52,264 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 10:45:52,265 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 10:45:52,265 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 10:45:52,266 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 10:45:52,266 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 10:45:52,267 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 10:45:52,267 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 10:45:52,268 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 10:45:52,268 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 10:45:52,268 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 10:45:52,269 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 10:45:52,271 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 10:45:52,271 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 10:45:52,278 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 10:45:52,278 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 10:45:52,286 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 10:45:52,286 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 10:45:52,287 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 10:45:52,287 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 10:45:52,287 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 10:45:52,287 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 10:45:52,287 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 10:45:52,288 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 10:45:52,288 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 10:45:52,288 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 10:45:52,288 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 10:45:52,288 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 10:45:52,288 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 10:45:52,289 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 10:45:52,289 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 10:45:52,289 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 10:45:52,289 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 10:45:52,289 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 10:45:52,289 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 10:45:52,289 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 10:45:52,290 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 10:45:52,509 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 10:45:52,528 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 10:45:52,530 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 10:45:52,531 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 10:45:52,531 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 10:45:52,532 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/egcd-ll.c [2022-04-28 10:45:52,587 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0163ed04c/dbbbc150e2c0402aa1cb382a2565281b/FLAGbf527d041 [2022-04-28 10:45:52,955 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 10:45:52,956 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/egcd-ll.c [2022-04-28 10:45:52,965 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0163ed04c/dbbbc150e2c0402aa1cb382a2565281b/FLAGbf527d041 [2022-04-28 10:45:52,974 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0163ed04c/dbbbc150e2c0402aa1cb382a2565281b [2022-04-28 10:45:52,976 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 10:45:52,977 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 10:45:52,978 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 10:45:52,978 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 10:45:52,981 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 10:45:52,982 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 10:45:52" (1/1) ... [2022-04-28 10:45:52,982 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6e766ab4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:45:52, skipping insertion in model container [2022-04-28 10:45:52,982 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 10:45:52" (1/1) ... [2022-04-28 10:45:52,988 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 10:45:53,000 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 10:45:53,137 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/egcd-ll.c[489,502] [2022-04-28 10:45:53,166 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 10:45:53,178 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 10:45:53,193 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/egcd-ll.c[489,502] [2022-04-28 10:45:53,206 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 10:45:53,217 INFO L208 MainTranslator]: Completed translation [2022-04-28 10:45:53,218 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:45:53 WrapperNode [2022-04-28 10:45:53,218 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 10:45:53,219 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 10:45:53,219 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 10:45:53,220 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 10:45:53,228 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:45:53" (1/1) ... [2022-04-28 10:45:53,228 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:45:53" (1/1) ... [2022-04-28 10:45:53,234 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:45:53" (1/1) ... [2022-04-28 10:45:53,234 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:45:53" (1/1) ... [2022-04-28 10:45:53,250 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:45:53" (1/1) ... [2022-04-28 10:45:53,253 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:45:53" (1/1) ... [2022-04-28 10:45:53,254 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:45:53" (1/1) ... [2022-04-28 10:45:53,255 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 10:45:53,256 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 10:45:53,256 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 10:45:53,256 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 10:45:53,259 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:45:53" (1/1) ... [2022-04-28 10:45:53,265 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 10:45:53,276 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:45:53,286 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 10:45:53,287 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 10:45:53,312 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 10:45:53,312 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 10:45:53,312 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 10:45:53,312 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 10:45:53,312 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 10:45:53,312 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 10:45:53,312 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 10:45:53,313 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 10:45:53,313 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 10:45:53,313 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 10:45:53,313 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 10:45:53,313 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 10:45:53,313 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 10:45:53,313 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 10:45:53,313 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 10:45:53,314 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 10:45:53,314 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 10:45:53,314 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 10:45:53,314 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 10:45:53,314 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 10:45:53,364 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 10:45:53,365 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 10:45:53,490 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 10:45:53,496 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 10:45:53,496 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 10:45:53,497 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 10:45:53 BoogieIcfgContainer [2022-04-28 10:45:53,498 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 10:45:53,499 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 10:45:53,499 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 10:45:53,502 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 10:45:53,502 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 10:45:52" (1/3) ... [2022-04-28 10:45:53,503 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5f42fc55 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 10:45:53, skipping insertion in model container [2022-04-28 10:45:53,503 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:45:53" (2/3) ... [2022-04-28 10:45:53,503 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5f42fc55 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 10:45:53, skipping insertion in model container [2022-04-28 10:45:53,503 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 10:45:53" (3/3) ... [2022-04-28 10:45:53,504 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll.c [2022-04-28 10:45:53,515 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 10:45:53,515 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 10:45:53,549 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 10:45:53,555 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@48fac540, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@302f6267 [2022-04-28 10:45:53,555 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 10:45:53,562 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 10:45:53,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 10:45:53,569 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:45:53,569 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:45:53,570 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:45:53,574 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:45:53,574 INFO L85 PathProgramCache]: Analyzing trace with hash -2012836591, now seen corresponding path program 1 times [2022-04-28 10:45:53,586 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:45:53,587 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1093844823] [2022-04-28 10:45:53,602 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:45:53,602 INFO L85 PathProgramCache]: Analyzing trace with hash -2012836591, now seen corresponding path program 2 times [2022-04-28 10:45:53,605 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:45:53,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1547602362] [2022-04-28 10:45:53,605 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:45:53,606 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:45:53,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:45:53,801 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:45:53,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:45:53,830 INFO L290 TraceCheckUtils]: 0: Hoare triple {50#(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); {37#true} is VALID [2022-04-28 10:45:53,830 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 10:45:53,830 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #81#return; {37#true} is VALID [2022-04-28 10:45:53,831 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 10:45:53,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:45:53,852 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 10:45:53,853 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 10:45:53,853 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 10:45:53,853 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #63#return; {38#false} is VALID [2022-04-28 10:45:53,854 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 10:45:53,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:45:53,864 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 10:45:53,865 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 10:45:53,865 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 10:45:53,866 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #65#return; {38#false} is VALID [2022-04-28 10:45:53,868 INFO L272 TraceCheckUtils]: 0: Hoare triple {37#true} call ULTIMATE.init(); {50#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:45:53,868 INFO L290 TraceCheckUtils]: 1: Hoare triple {50#(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); {37#true} is VALID [2022-04-28 10:45:53,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 10:45:53,868 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #81#return; {37#true} is VALID [2022-04-28 10:45:53,869 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-28 10:45:53,869 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {37#true} is VALID [2022-04-28 10:45:53,869 INFO L272 TraceCheckUtils]: 6: Hoare triple {37#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {37#true} is VALID [2022-04-28 10:45:53,870 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 10:45:53,872 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 10:45:53,873 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 10:45:53,873 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #63#return; {38#false} is VALID [2022-04-28 10:45:53,873 INFO L272 TraceCheckUtils]: 11: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37#true} is VALID [2022-04-28 10:45:53,873 INFO L290 TraceCheckUtils]: 12: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 10:45:53,874 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 10:45:53,874 INFO L290 TraceCheckUtils]: 14: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 10:45:53,874 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {38#false} {38#false} #65#return; {38#false} is VALID [2022-04-28 10:45:53,874 INFO L290 TraceCheckUtils]: 16: Hoare triple {38#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {38#false} is VALID [2022-04-28 10:45:53,875 INFO L290 TraceCheckUtils]: 17: Hoare triple {38#false} assume false; {38#false} is VALID [2022-04-28 10:45:53,875 INFO L272 TraceCheckUtils]: 18: Hoare triple {38#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {38#false} is VALID [2022-04-28 10:45:53,875 INFO L290 TraceCheckUtils]: 19: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-28 10:45:53,875 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-28 10:45:53,875 INFO L290 TraceCheckUtils]: 21: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-28 10:45:53,876 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:45:53,876 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:45:53,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1547602362] [2022-04-28 10:45:53,878 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1547602362] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:45:53,878 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:45:53,878 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 10:45:53,881 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:45:53,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1093844823] [2022-04-28 10:45:53,882 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1093844823] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:45:53,882 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:45:53,882 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 10:45:53,883 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1886036637] [2022-04-28 10:45:53,883 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:45:53,888 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-28 10:45:53,892 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:45:53,895 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:45:53,926 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:45:53,927 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 10:45:53,927 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:45:53,957 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 10:45:53,957 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 10:45:53,960 INFO L87 Difference]: Start difference. First operand has 34 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:45:54,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:45:54,160 INFO L93 Difference]: Finished difference Result 61 states and 93 transitions. [2022-04-28 10:45:54,160 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 10:45:54,160 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-28 10:45:54,160 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:45:54,161 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:45:54,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 93 transitions. [2022-04-28 10:45:54,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:45:54,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 93 transitions. [2022-04-28 10:45:54,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 93 transitions. [2022-04-28 10:45:54,285 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:45:54,293 INFO L225 Difference]: With dead ends: 61 [2022-04-28 10:45:54,293 INFO L226 Difference]: Without dead ends: 29 [2022-04-28 10:45:54,296 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 10:45:54,299 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 17 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 36 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 10:45:54,299 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 36 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 10:45:54,313 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-28 10:45:54,327 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-28 10:45:54,327 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:45:54,328 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 10:45:54,328 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 10:45:54,329 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 10:45:54,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:45:54,333 INFO L93 Difference]: Finished difference Result 29 states and 37 transitions. [2022-04-28 10:45:54,333 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2022-04-28 10:45:54,334 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:45:54,334 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:45:54,335 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 29 states. [2022-04-28 10:45:54,335 INFO L87 Difference]: Start difference. First operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 29 states. [2022-04-28 10:45:54,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:45:54,339 INFO L93 Difference]: Finished difference Result 29 states and 37 transitions. [2022-04-28 10:45:54,339 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2022-04-28 10:45:54,340 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:45:54,340 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:45:54,340 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:45:54,340 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:45:54,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 10:45:54,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 37 transitions. [2022-04-28 10:45:54,345 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 37 transitions. Word has length 22 [2022-04-28 10:45:54,345 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:45:54,345 INFO L495 AbstractCegarLoop]: Abstraction has 29 states and 37 transitions. [2022-04-28 10:45:54,345 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:45:54,345 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 37 transitions. [2022-04-28 10:45:54,395 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:45:54,395 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2022-04-28 10:45:54,396 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 10:45:54,397 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:45:54,397 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:45:54,398 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 10:45:54,398 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:45:54,399 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:45:54,399 INFO L85 PathProgramCache]: Analyzing trace with hash 1952740121, now seen corresponding path program 1 times [2022-04-28 10:45:54,399 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:45:54,400 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1769854518] [2022-04-28 10:45:54,401 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:45:54,401 INFO L85 PathProgramCache]: Analyzing trace with hash 1952740121, now seen corresponding path program 2 times [2022-04-28 10:45:54,401 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:45:54,401 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [379205448] [2022-04-28 10:45:54,401 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:45:54,402 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:45:54,432 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:45:54,433 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1884605624] [2022-04-28 10:45:54,433 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:45:54,433 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:45:54,433 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:45:54,435 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 10:45:54,436 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 10:45:54,487 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 10:45:54,488 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:45:54,503 INFO L263 TraceCheckSpWp]: Trace formula consists of 78 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 10:45:54,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:45:54,530 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:45:57,846 INFO L272 TraceCheckUtils]: 0: Hoare triple {291#true} call ULTIMATE.init(); {291#true} is VALID [2022-04-28 10:45:57,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {291#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); {291#true} is VALID [2022-04-28 10:45:57,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {291#true} assume true; {291#true} is VALID [2022-04-28 10:45:57,847 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {291#true} {291#true} #81#return; {291#true} is VALID [2022-04-28 10:45:57,847 INFO L272 TraceCheckUtils]: 4: Hoare triple {291#true} call #t~ret6 := main(); {291#true} is VALID [2022-04-28 10:45:57,848 INFO L290 TraceCheckUtils]: 5: Hoare triple {291#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {291#true} is VALID [2022-04-28 10:45:57,848 INFO L272 TraceCheckUtils]: 6: Hoare triple {291#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {291#true} is VALID [2022-04-28 10:45:57,848 INFO L290 TraceCheckUtils]: 7: Hoare triple {291#true} ~cond := #in~cond; {291#true} is VALID [2022-04-28 10:45:57,848 INFO L290 TraceCheckUtils]: 8: Hoare triple {291#true} assume !(0 == ~cond); {291#true} is VALID [2022-04-28 10:45:57,848 INFO L290 TraceCheckUtils]: 9: Hoare triple {291#true} assume true; {291#true} is VALID [2022-04-28 10:45:57,849 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {291#true} {291#true} #63#return; {291#true} is VALID [2022-04-28 10:45:57,850 INFO L272 TraceCheckUtils]: 11: Hoare triple {291#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {291#true} is VALID [2022-04-28 10:45:57,850 INFO L290 TraceCheckUtils]: 12: Hoare triple {291#true} ~cond := #in~cond; {291#true} is VALID [2022-04-28 10:45:57,850 INFO L290 TraceCheckUtils]: 13: Hoare triple {291#true} assume !(0 == ~cond); {291#true} is VALID [2022-04-28 10:45:57,850 INFO L290 TraceCheckUtils]: 14: Hoare triple {291#true} assume true; {291#true} is VALID [2022-04-28 10:45:57,854 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {291#true} {291#true} #65#return; {291#true} is VALID [2022-04-28 10:45:57,855 INFO L290 TraceCheckUtils]: 16: Hoare triple {291#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {344#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 10:45:57,857 INFO L290 TraceCheckUtils]: 17: Hoare triple {344#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !false; {344#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 10:45:57,858 INFO L272 TraceCheckUtils]: 18: Hoare triple {344#(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)); {351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:45:57,859 INFO L290 TraceCheckUtils]: 19: Hoare triple {351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:45:57,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {292#false} is VALID [2022-04-28 10:45:57,860 INFO L290 TraceCheckUtils]: 21: Hoare triple {292#false} assume !false; {292#false} is VALID [2022-04-28 10:45:57,860 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:45:57,860 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 10:45:57,860 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:45:57,861 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [379205448] [2022-04-28 10:45:57,861 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:45:57,861 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1884605624] [2022-04-28 10:45:57,862 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1884605624] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:45:57,862 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:45:57,862 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:45:57,863 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:45:57,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1769854518] [2022-04-28 10:45:57,863 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1769854518] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:45:57,864 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:45:57,864 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:45:57,864 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2074158702] [2022-04-28 10:45:57,864 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:45:57,865 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 22 [2022-04-28 10:45:57,866 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:45:57,866 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:45:57,885 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:45:57,886 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 10:45:57,886 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:45:57,887 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 10:45:57,888 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 10:45:57,889 INFO L87 Difference]: Start difference. First operand 29 states and 37 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:45:58,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:45:58,112 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-28 10:45:58,112 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 10:45:58,113 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 22 [2022-04-28 10:45:58,113 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:45:58,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:45:58,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 10:45:58,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:45:58,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 10:45:58,121 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-28 10:45:58,199 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:45:58,202 INFO L225 Difference]: With dead ends: 45 [2022-04-28 10:45:58,202 INFO L226 Difference]: Without dead ends: 43 [2022-04-28 10:45:58,202 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 18 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 10:45:58,204 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 7 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 123 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.0s IncrementalHoareTripleChecker+Time [2022-04-28 10:45:58,204 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 123 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 10:45:58,207 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-28 10:45:58,221 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2022-04-28 10:45:58,221 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:45:58,222 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 10:45:58,223 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 10:45:58,223 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 10:45:58,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:45:58,228 INFO L93 Difference]: Finished difference Result 43 states and 58 transitions. [2022-04-28 10:45:58,228 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 58 transitions. [2022-04-28 10:45:58,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:45:58,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:45:58,236 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 43 states. [2022-04-28 10:45:58,238 INFO L87 Difference]: Start difference. First operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 43 states. [2022-04-28 10:45:58,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:45:58,247 INFO L93 Difference]: Finished difference Result 43 states and 58 transitions. [2022-04-28 10:45:58,247 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 58 transitions. [2022-04-28 10:45:58,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:45:58,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:45:58,249 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:45:58,250 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:45:58,250 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 10:45:58,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 57 transitions. [2022-04-28 10:45:58,253 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 57 transitions. Word has length 22 [2022-04-28 10:45:58,253 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:45:58,253 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 57 transitions. [2022-04-28 10:45:58,253 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:45:58,253 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 57 transitions. [2022-04-28 10:45:58,319 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:45:58,319 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 57 transitions. [2022-04-28 10:45:58,320 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-28 10:45:58,320 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:45:58,320 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:45:58,345 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 10:45:58,539 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 10:45:58,540 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:45:58,540 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:45:58,540 INFO L85 PathProgramCache]: Analyzing trace with hash 652987931, now seen corresponding path program 1 times [2022-04-28 10:45:58,540 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:45:58,541 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1386310856] [2022-04-28 10:45:58,541 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:45:58,541 INFO L85 PathProgramCache]: Analyzing trace with hash 652987931, now seen corresponding path program 2 times [2022-04-28 10:45:58,541 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:45:58,541 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1413869522] [2022-04-28 10:45:58,542 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:45:58,542 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:45:58,570 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:45:58,570 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [898055620] [2022-04-28 10:45:58,571 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:45:58,571 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:45:58,571 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:45:58,572 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 10:45:58,595 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 10:45:58,627 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:45:58,627 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:45:58,628 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 10:45:58,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:45:58,639 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:45:58,809 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-28 10:45:58,809 INFO L290 TraceCheckUtils]: 1: Hoare triple {623#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); {623#true} is VALID [2022-04-28 10:45:58,809 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 10:45:58,810 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #81#return; {623#true} is VALID [2022-04-28 10:45:58,810 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-28 10:45:58,810 INFO L290 TraceCheckUtils]: 5: Hoare triple {623#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {623#true} is VALID [2022-04-28 10:45:58,810 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 10:45:58,810 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 10:45:58,810 INFO L290 TraceCheckUtils]: 8: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 10:45:58,811 INFO L290 TraceCheckUtils]: 9: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 10:45:58,811 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {623#true} {623#true} #63#return; {623#true} is VALID [2022-04-28 10:45:58,811 INFO L272 TraceCheckUtils]: 11: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 10:45:58,812 INFO L290 TraceCheckUtils]: 12: Hoare triple {623#true} ~cond := #in~cond; {664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 10:45:58,812 INFO L290 TraceCheckUtils]: 13: Hoare triple {664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 10:45:58,813 INFO L290 TraceCheckUtils]: 14: Hoare triple {668#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 10:45:58,814 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {668#(not (= |assume_abort_if_not_#in~cond| 0))} {623#true} #65#return; {675#(<= 1 main_~y~0)} is VALID [2022-04-28 10:45:58,814 INFO L290 TraceCheckUtils]: 16: Hoare triple {675#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:45:58,815 INFO L290 TraceCheckUtils]: 17: Hoare triple {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:45:58,815 INFO L272 TraceCheckUtils]: 18: Hoare triple {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {623#true} is VALID [2022-04-28 10:45:58,815 INFO L290 TraceCheckUtils]: 19: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 10:45:58,815 INFO L290 TraceCheckUtils]: 20: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 10:45:58,815 INFO L290 TraceCheckUtils]: 21: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 10:45:58,816 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {623#true} {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:45:58,817 INFO L272 TraceCheckUtils]: 23: Hoare triple {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {701#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:45:58,818 INFO L290 TraceCheckUtils]: 24: Hoare triple {701#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {705#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:45:58,818 INFO L290 TraceCheckUtils]: 25: Hoare triple {705#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-28 10:45:58,818 INFO L290 TraceCheckUtils]: 26: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-28 10:45:58,819 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 10:45:58,819 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 10:45:58,819 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:45:58,819 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1413869522] [2022-04-28 10:45:58,819 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:45:58,819 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [898055620] [2022-04-28 10:45:58,819 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [898055620] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:45:58,819 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:45:58,820 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 10:45:58,820 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:45:58,820 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1386310856] [2022-04-28 10:45:58,820 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1386310856] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:45:58,820 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:45:58,820 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 10:45:58,820 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [477884950] [2022-04-28 10:45:58,820 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:45:58,821 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-28 10:45:58,821 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:45:58,821 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 10:45:58,844 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:45:58,844 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 10:45:58,844 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:45:58,845 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 10:45:58,845 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-28 10:45:58,845 INFO L87 Difference]: Start difference. First operand 42 states and 57 transitions. Second operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 10:45:59,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:45:59,287 INFO L93 Difference]: Finished difference Result 49 states and 63 transitions. [2022-04-28 10:45:59,287 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 10:45:59,288 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-28 10:45:59,288 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:45:59,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 10:45:59,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-28 10:45:59,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 10:45:59,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-28 10:45:59,293 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 60 transitions. [2022-04-28 10:45:59,357 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:45:59,359 INFO L225 Difference]: With dead ends: 49 [2022-04-28 10:45:59,359 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 10:45:59,359 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-28 10:45:59,360 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 17 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:45:59,361 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 161 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 124 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:45:59,361 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 10:45:59,387 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-28 10:45:59,387 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:45:59,387 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 10:45:59,388 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 10:45:59,388 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 10:45:59,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:45:59,391 INFO L93 Difference]: Finished difference Result 47 states and 61 transitions. [2022-04-28 10:45:59,391 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 61 transitions. [2022-04-28 10:45:59,392 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:45:59,392 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:45:59,392 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-28 10:45:59,392 INFO L87 Difference]: Start difference. First operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-28 10:45:59,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:45:59,395 INFO L93 Difference]: Finished difference Result 47 states and 61 transitions. [2022-04-28 10:45:59,395 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 61 transitions. [2022-04-28 10:45:59,396 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:45:59,396 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:45:59,396 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:45:59,396 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:45:59,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 10:45:59,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 60 transitions. [2022-04-28 10:45:59,399 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 60 transitions. Word has length 27 [2022-04-28 10:45:59,399 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:45:59,399 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 60 transitions. [2022-04-28 10:45:59,399 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 10:45:59,400 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 60 transitions. [2022-04-28 10:45:59,477 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:45:59,477 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 60 transitions. [2022-04-28 10:45:59,478 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 10:45:59,478 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:45:59,478 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:45:59,503 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 10:45:59,697 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 10:45:59,698 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:45:59,698 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:45:59,698 INFO L85 PathProgramCache]: Analyzing trace with hash 1028398105, now seen corresponding path program 1 times [2022-04-28 10:45:59,698 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:45:59,698 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [759885838] [2022-04-28 10:45:59,699 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:45:59,699 INFO L85 PathProgramCache]: Analyzing trace with hash 1028398105, now seen corresponding path program 2 times [2022-04-28 10:45:59,699 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:45:59,699 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1549133137] [2022-04-28 10:45:59,699 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:45:59,699 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:45:59,714 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:45:59,715 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2105248933] [2022-04-28 10:45:59,715 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:45:59,715 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:45:59,715 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:45:59,716 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 10:45:59,719 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 10:45:59,796 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:45:59,797 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:45:59,797 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 10:45:59,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:45:59,807 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:46:00,042 INFO L272 TraceCheckUtils]: 0: Hoare triple {999#true} call ULTIMATE.init(); {999#true} is VALID [2022-04-28 10:46:00,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {999#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); {999#true} is VALID [2022-04-28 10:46:00,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 10:46:00,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {999#true} {999#true} #81#return; {999#true} is VALID [2022-04-28 10:46:00,043 INFO L272 TraceCheckUtils]: 4: Hoare triple {999#true} call #t~ret6 := main(); {999#true} is VALID [2022-04-28 10:46:00,043 INFO L290 TraceCheckUtils]: 5: Hoare triple {999#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {999#true} is VALID [2022-04-28 10:46:00,043 INFO L272 TraceCheckUtils]: 6: Hoare triple {999#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {999#true} is VALID [2022-04-28 10:46:00,044 INFO L290 TraceCheckUtils]: 7: Hoare triple {999#true} ~cond := #in~cond; {1025#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 10:46:00,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {1025#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1029#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 10:46:00,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {1029#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1029#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 10:46:00,045 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1029#(not (= |assume_abort_if_not_#in~cond| 0))} {999#true} #63#return; {1036#(<= 1 main_~x~0)} is VALID [2022-04-28 10:46:00,045 INFO L272 TraceCheckUtils]: 11: Hoare triple {1036#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {999#true} is VALID [2022-04-28 10:46:00,045 INFO L290 TraceCheckUtils]: 12: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-28 10:46:00,046 INFO L290 TraceCheckUtils]: 13: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-28 10:46:00,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 10:46:00,046 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {999#true} {1036#(<= 1 main_~x~0)} #65#return; {1036#(<= 1 main_~x~0)} is VALID [2022-04-28 10:46:00,047 INFO L290 TraceCheckUtils]: 16: Hoare triple {1036#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:46:00,047 INFO L290 TraceCheckUtils]: 17: Hoare triple {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:46:00,047 INFO L272 TraceCheckUtils]: 18: Hoare triple {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {999#true} is VALID [2022-04-28 10:46:00,050 INFO L290 TraceCheckUtils]: 19: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-28 10:46:00,050 INFO L290 TraceCheckUtils]: 20: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-28 10:46:00,050 INFO L290 TraceCheckUtils]: 21: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 10:46:00,051 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {999#true} {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #67#return; {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:46:00,051 INFO L272 TraceCheckUtils]: 23: Hoare triple {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {999#true} is VALID [2022-04-28 10:46:00,051 INFO L290 TraceCheckUtils]: 24: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-28 10:46:00,051 INFO L290 TraceCheckUtils]: 25: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-28 10:46:00,051 INFO L290 TraceCheckUtils]: 26: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 10:46:00,052 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {999#true} {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #69#return; {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:46:00,053 INFO L272 TraceCheckUtils]: 28: Hoare triple {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1092#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:46:00,054 INFO L290 TraceCheckUtils]: 29: Hoare triple {1092#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1096#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:00,054 INFO L290 TraceCheckUtils]: 30: Hoare triple {1096#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1000#false} is VALID [2022-04-28 10:46:00,054 INFO L290 TraceCheckUtils]: 31: Hoare triple {1000#false} assume !false; {1000#false} is VALID [2022-04-28 10:46:00,055 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 10:46:00,055 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:46:00,268 INFO L290 TraceCheckUtils]: 31: Hoare triple {1000#false} assume !false; {1000#false} is VALID [2022-04-28 10:46:00,268 INFO L290 TraceCheckUtils]: 30: Hoare triple {1096#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1000#false} is VALID [2022-04-28 10:46:00,269 INFO L290 TraceCheckUtils]: 29: Hoare triple {1092#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1096#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:00,272 INFO L272 TraceCheckUtils]: 28: Hoare triple {1112#(= 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)); {1092#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:46:00,274 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {999#true} {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #69#return; {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:46:00,286 INFO L290 TraceCheckUtils]: 26: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 10:46:00,286 INFO L290 TraceCheckUtils]: 25: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-28 10:46:00,286 INFO L290 TraceCheckUtils]: 24: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-28 10:46:00,286 INFO L272 TraceCheckUtils]: 23: Hoare triple {1112#(= 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)); {999#true} is VALID [2022-04-28 10:46:00,287 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {999#true} {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #67#return; {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:46:00,287 INFO L290 TraceCheckUtils]: 21: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 10:46:00,288 INFO L290 TraceCheckUtils]: 20: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-28 10:46:00,288 INFO L290 TraceCheckUtils]: 19: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-28 10:46:00,288 INFO L272 TraceCheckUtils]: 18: Hoare triple {1112#(= 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)); {999#true} is VALID [2022-04-28 10:46:00,288 INFO L290 TraceCheckUtils]: 17: Hoare triple {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:46:00,292 INFO L290 TraceCheckUtils]: 16: Hoare triple {999#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:46:00,292 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {999#true} {999#true} #65#return; {999#true} is VALID [2022-04-28 10:46:00,292 INFO L290 TraceCheckUtils]: 14: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 10:46:00,292 INFO L290 TraceCheckUtils]: 13: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-28 10:46:00,292 INFO L290 TraceCheckUtils]: 12: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-28 10:46:00,292 INFO L272 TraceCheckUtils]: 11: Hoare triple {999#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {999#true} is VALID [2022-04-28 10:46:00,292 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {999#true} {999#true} #63#return; {999#true} is VALID [2022-04-28 10:46:00,293 INFO L290 TraceCheckUtils]: 9: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 10:46:00,293 INFO L290 TraceCheckUtils]: 8: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-28 10:46:00,293 INFO L290 TraceCheckUtils]: 7: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-28 10:46:00,293 INFO L272 TraceCheckUtils]: 6: Hoare triple {999#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {999#true} is VALID [2022-04-28 10:46:00,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {999#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {999#true} is VALID [2022-04-28 10:46:00,293 INFO L272 TraceCheckUtils]: 4: Hoare triple {999#true} call #t~ret6 := main(); {999#true} is VALID [2022-04-28 10:46:00,293 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {999#true} {999#true} #81#return; {999#true} is VALID [2022-04-28 10:46:00,294 INFO L290 TraceCheckUtils]: 2: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 10:46:00,294 INFO L290 TraceCheckUtils]: 1: Hoare triple {999#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); {999#true} is VALID [2022-04-28 10:46:00,294 INFO L272 TraceCheckUtils]: 0: Hoare triple {999#true} call ULTIMATE.init(); {999#true} is VALID [2022-04-28 10:46:00,294 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 10:46:00,294 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:46:00,294 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1549133137] [2022-04-28 10:46:00,295 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:46:00,295 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2105248933] [2022-04-28 10:46:00,295 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2105248933] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 10:46:00,295 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 10:46:00,295 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 10:46:00,295 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:46:00,295 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [759885838] [2022-04-28 10:46:00,295 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [759885838] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:00,296 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:00,296 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:46:00,296 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [450223000] [2022-04-28 10:46:00,296 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:46:00,296 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 32 [2022-04-28 10:46:00,296 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:46:00,297 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 10:46:00,317 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:46:00,317 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 10:46:00,317 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:00,318 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 10:46:00,318 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:46:00,318 INFO L87 Difference]: Start difference. First operand 46 states and 60 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 10:46:00,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:00,660 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-28 10:46:00,660 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 10:46:00,660 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 32 [2022-04-28 10:46:00,661 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:46:00,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 10:46:00,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 10:46:00,663 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 10:46:00,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 10:46:00,664 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-28 10:46:00,726 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:46:00,729 INFO L225 Difference]: With dead ends: 71 [2022-04-28 10:46:00,729 INFO L226 Difference]: Without dead ends: 67 [2022-04-28 10:46:00,729 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 55 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 10:46:00,731 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 8 mSDsluCounter, 81 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:46:00,731 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 120 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:46:00,732 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-28 10:46:00,774 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 67. [2022-04-28 10:46:00,774 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:46:00,774 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 10:46:00,775 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 10:46:00,775 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 10:46:00,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:00,779 INFO L93 Difference]: Finished difference Result 67 states and 93 transitions. [2022-04-28 10:46:00,779 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 93 transitions. [2022-04-28 10:46:00,780 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:00,780 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:00,780 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 67 states. [2022-04-28 10:46:00,781 INFO L87 Difference]: Start difference. First operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 67 states. [2022-04-28 10:46:00,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:00,784 INFO L93 Difference]: Finished difference Result 67 states and 93 transitions. [2022-04-28 10:46:00,784 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 93 transitions. [2022-04-28 10:46:00,785 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:00,785 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:00,785 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:46:00,785 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:46:00,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 10:46:00,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 93 transitions. [2022-04-28 10:46:00,789 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 93 transitions. Word has length 32 [2022-04-28 10:46:00,789 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:46:00,789 INFO L495 AbstractCegarLoop]: Abstraction has 67 states and 93 transitions. [2022-04-28 10:46:00,789 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 10:46:00,789 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 93 transitions. [2022-04-28 10:46:00,909 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:46:00,909 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 93 transitions. [2022-04-28 10:46:00,910 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 10:46:00,910 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:46:00,910 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:46:00,936 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 10:46:01,119 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 10:46:01,120 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:46:01,120 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:46:01,120 INFO L85 PathProgramCache]: Analyzing trace with hash -134474469, now seen corresponding path program 1 times [2022-04-28 10:46:01,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:01,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [629256983] [2022-04-28 10:46:01,121 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:46:01,121 INFO L85 PathProgramCache]: Analyzing trace with hash -134474469, now seen corresponding path program 2 times [2022-04-28 10:46:01,121 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:46:01,121 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [470331625] [2022-04-28 10:46:01,121 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:46:01,121 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:46:01,149 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:46:01,149 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1388961962] [2022-04-28 10:46:01,149 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:46:01,149 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:46:01,149 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:46:01,151 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 10:46:01,174 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 10:46:01,191 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:46:01,191 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:46:01,192 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 10:46:01,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:01,207 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:46:01,325 INFO L272 TraceCheckUtils]: 0: Hoare triple {1611#true} call ULTIMATE.init(); {1611#true} is VALID [2022-04-28 10:46:01,326 INFO L290 TraceCheckUtils]: 1: Hoare triple {1611#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); {1611#true} is VALID [2022-04-28 10:46:01,326 INFO L290 TraceCheckUtils]: 2: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-28 10:46:01,326 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1611#true} {1611#true} #81#return; {1611#true} is VALID [2022-04-28 10:46:01,326 INFO L272 TraceCheckUtils]: 4: Hoare triple {1611#true} call #t~ret6 := main(); {1611#true} is VALID [2022-04-28 10:46:01,326 INFO L290 TraceCheckUtils]: 5: Hoare triple {1611#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1611#true} is VALID [2022-04-28 10:46:01,326 INFO L272 TraceCheckUtils]: 6: Hoare triple {1611#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1611#true} is VALID [2022-04-28 10:46:01,326 INFO L290 TraceCheckUtils]: 7: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-28 10:46:01,327 INFO L290 TraceCheckUtils]: 8: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-28 10:46:01,327 INFO L290 TraceCheckUtils]: 9: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-28 10:46:01,327 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1611#true} {1611#true} #63#return; {1611#true} is VALID [2022-04-28 10:46:01,327 INFO L272 TraceCheckUtils]: 11: Hoare triple {1611#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1611#true} is VALID [2022-04-28 10:46:01,327 INFO L290 TraceCheckUtils]: 12: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-28 10:46:01,327 INFO L290 TraceCheckUtils]: 13: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-28 10:46:01,327 INFO L290 TraceCheckUtils]: 14: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-28 10:46:01,327 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1611#true} {1611#true} #65#return; {1611#true} is VALID [2022-04-28 10:46:01,328 INFO L290 TraceCheckUtils]: 16: Hoare triple {1611#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1611#true} is VALID [2022-04-28 10:46:01,328 INFO L290 TraceCheckUtils]: 17: Hoare triple {1611#true} assume !false; {1611#true} is VALID [2022-04-28 10:46:01,328 INFO L272 TraceCheckUtils]: 18: Hoare triple {1611#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1611#true} is VALID [2022-04-28 10:46:01,328 INFO L290 TraceCheckUtils]: 19: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-28 10:46:01,328 INFO L290 TraceCheckUtils]: 20: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-28 10:46:01,328 INFO L290 TraceCheckUtils]: 21: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-28 10:46:01,328 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1611#true} {1611#true} #67#return; {1611#true} is VALID [2022-04-28 10:46:01,328 INFO L272 TraceCheckUtils]: 23: Hoare triple {1611#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1611#true} is VALID [2022-04-28 10:46:01,329 INFO L290 TraceCheckUtils]: 24: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-28 10:46:01,329 INFO L290 TraceCheckUtils]: 25: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-28 10:46:01,329 INFO L290 TraceCheckUtils]: 26: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-28 10:46:01,329 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1611#true} {1611#true} #69#return; {1611#true} is VALID [2022-04-28 10:46:01,329 INFO L272 TraceCheckUtils]: 28: Hoare triple {1611#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1611#true} is VALID [2022-04-28 10:46:01,329 INFO L290 TraceCheckUtils]: 29: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-28 10:46:01,329 INFO L290 TraceCheckUtils]: 30: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-28 10:46:01,329 INFO L290 TraceCheckUtils]: 31: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-28 10:46:01,330 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1611#true} {1611#true} #71#return; {1611#true} is VALID [2022-04-28 10:46:01,330 INFO L290 TraceCheckUtils]: 33: Hoare triple {1611#true} assume !(~a~0 != ~b~0); {1715#(= main_~b~0 main_~a~0)} is VALID [2022-04-28 10:46:01,331 INFO L272 TraceCheckUtils]: 34: Hoare triple {1715#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {1719#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:46:01,331 INFO L290 TraceCheckUtils]: 35: Hoare triple {1719#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1723#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:01,332 INFO L290 TraceCheckUtils]: 36: Hoare triple {1723#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1612#false} is VALID [2022-04-28 10:46:01,332 INFO L290 TraceCheckUtils]: 37: Hoare triple {1612#false} assume !false; {1612#false} is VALID [2022-04-28 10:46:01,332 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 10:46:01,332 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 10:46:01,332 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:46:01,332 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [470331625] [2022-04-28 10:46:01,332 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:46:01,333 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1388961962] [2022-04-28 10:46:01,333 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1388961962] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:01,333 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:01,333 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:46:01,333 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:46:01,333 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [629256983] [2022-04-28 10:46:01,333 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [629256983] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:01,333 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:01,333 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:46:01,334 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [125709279] [2022-04-28 10:46:01,334 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:46:01,334 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.75) 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), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 38 [2022-04-28 10:46:01,334 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:46:01,335 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.75) 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), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 10:46:01,356 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 10:46:01,356 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 10:46:01,356 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:01,357 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 10:46:01,357 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 10:46:01,357 INFO L87 Difference]: Start difference. First operand 67 states and 93 transitions. Second operand has 5 states, 4 states have (on average 3.75) 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), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 10:46:01,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:01,540 INFO L93 Difference]: Finished difference Result 73 states and 98 transitions. [2022-04-28 10:46:01,540 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 10:46:01,540 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.75) 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), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 38 [2022-04-28 10:46:01,540 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:46:01,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.75) 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), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 10:46:01,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-28 10:46:01,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.75) 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), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 10:46:01,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-28 10:46:01,542 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2022-04-28 10:46:01,588 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 10:46:01,590 INFO L225 Difference]: With dead ends: 73 [2022-04-28 10:46:01,590 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 10:46:01,590 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 10:46:01,591 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 5 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 119 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 10:46:01,591 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 119 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 10:46:01,592 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 10:46:01,644 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-28 10:46:01,645 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:46:01,646 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 10:46:01,646 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 10:46:01,647 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 10:46:01,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:01,653 INFO L93 Difference]: Finished difference Result 71 states and 96 transitions. [2022-04-28 10:46:01,653 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 96 transitions. [2022-04-28 10:46:01,654 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:01,654 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:01,655 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-28 10:46:01,655 INFO L87 Difference]: Start difference. First operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-28 10:46:01,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:01,659 INFO L93 Difference]: Finished difference Result 71 states and 96 transitions. [2022-04-28 10:46:01,659 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 96 transitions. [2022-04-28 10:46:01,659 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:01,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:01,660 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:46:01,660 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:46:01,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 10:46:01,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 96 transitions. [2022-04-28 10:46:01,665 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 96 transitions. Word has length 38 [2022-04-28 10:46:01,666 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:46:01,667 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 96 transitions. [2022-04-28 10:46:01,667 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.75) 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), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 10:46:01,667 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 96 transitions. [2022-04-28 10:46:01,789 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:46:01,789 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 96 transitions. [2022-04-28 10:46:01,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 10:46:01,790 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:46:01,790 INFO L195 NwaCegarLoop]: trace histogram [4, 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, 1, 1] [2022-04-28 10:46:01,815 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 10:46:01,999 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 10:46:01,999 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:46:02,000 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:46:02,000 INFO L85 PathProgramCache]: Analyzing trace with hash 251096952, now seen corresponding path program 1 times [2022-04-28 10:46:02,000 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:02,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1210976891] [2022-04-28 10:46:02,001 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:46:02,001 INFO L85 PathProgramCache]: Analyzing trace with hash 251096952, now seen corresponding path program 2 times [2022-04-28 10:46:02,001 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:46:02,001 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [769799630] [2022-04-28 10:46:02,001 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:46:02,001 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:46:02,015 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:46:02,015 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2140778550] [2022-04-28 10:46:02,015 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:46:02,015 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:46:02,016 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:46:02,016 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 10:46:02,040 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 10:46:02,065 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:46:02,065 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:46:02,066 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 10:46:02,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:02,077 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:46:06,263 INFO L272 TraceCheckUtils]: 0: Hoare triple {2161#true} call ULTIMATE.init(); {2161#true} is VALID [2022-04-28 10:46:06,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {2161#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); {2161#true} is VALID [2022-04-28 10:46:06,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-28 10:46:06,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2161#true} {2161#true} #81#return; {2161#true} is VALID [2022-04-28 10:46:06,264 INFO L272 TraceCheckUtils]: 4: Hoare triple {2161#true} call #t~ret6 := main(); {2161#true} is VALID [2022-04-28 10:46:06,264 INFO L290 TraceCheckUtils]: 5: Hoare triple {2161#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2161#true} is VALID [2022-04-28 10:46:06,264 INFO L272 TraceCheckUtils]: 6: Hoare triple {2161#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2161#true} is VALID [2022-04-28 10:46:06,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-28 10:46:06,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-28 10:46:06,265 INFO L290 TraceCheckUtils]: 9: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-28 10:46:06,265 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2161#true} {2161#true} #63#return; {2161#true} is VALID [2022-04-28 10:46:06,265 INFO L272 TraceCheckUtils]: 11: Hoare triple {2161#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2161#true} is VALID [2022-04-28 10:46:06,265 INFO L290 TraceCheckUtils]: 12: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-28 10:46:06,265 INFO L290 TraceCheckUtils]: 13: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-28 10:46:06,265 INFO L290 TraceCheckUtils]: 14: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-28 10:46:06,265 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2161#true} {2161#true} #65#return; {2161#true} is VALID [2022-04-28 10:46:06,266 INFO L290 TraceCheckUtils]: 16: Hoare triple {2161#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:06,266 INFO L290 TraceCheckUtils]: 17: Hoare triple {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:06,266 INFO L272 TraceCheckUtils]: 18: Hoare triple {2214#(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)); {2161#true} is VALID [2022-04-28 10:46:06,266 INFO L290 TraceCheckUtils]: 19: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-28 10:46:06,267 INFO L290 TraceCheckUtils]: 20: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-28 10:46:06,267 INFO L290 TraceCheckUtils]: 21: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-28 10:46:06,267 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2161#true} {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #67#return; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:06,268 INFO L272 TraceCheckUtils]: 23: Hoare triple {2214#(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)); {2161#true} is VALID [2022-04-28 10:46:06,268 INFO L290 TraceCheckUtils]: 24: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-28 10:46:06,268 INFO L290 TraceCheckUtils]: 25: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-28 10:46:06,268 INFO L290 TraceCheckUtils]: 26: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-28 10:46:06,269 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2161#true} {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #69#return; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:06,269 INFO L272 TraceCheckUtils]: 28: Hoare triple {2214#(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)); {2161#true} is VALID [2022-04-28 10:46:06,269 INFO L290 TraceCheckUtils]: 29: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-28 10:46:06,269 INFO L290 TraceCheckUtils]: 30: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-28 10:46:06,269 INFO L290 TraceCheckUtils]: 31: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-28 10:46:06,270 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2161#true} {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #71#return; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:06,270 INFO L290 TraceCheckUtils]: 33: Hoare triple {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:06,271 INFO L290 TraceCheckUtils]: 34: Hoare triple {2214#(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; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:06,271 INFO L290 TraceCheckUtils]: 35: Hoare triple {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:06,272 INFO L272 TraceCheckUtils]: 36: Hoare triple {2214#(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)); {2275#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:46:06,273 INFO L290 TraceCheckUtils]: 37: Hoare triple {2275#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2279#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:06,273 INFO L290 TraceCheckUtils]: 38: Hoare triple {2279#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2162#false} is VALID [2022-04-28 10:46:06,273 INFO L290 TraceCheckUtils]: 39: Hoare triple {2162#false} assume !false; {2162#false} is VALID [2022-04-28 10:46:06,273 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 10:46:06,273 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 10:46:06,274 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:46:06,274 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [769799630] [2022-04-28 10:46:06,274 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:46:06,274 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2140778550] [2022-04-28 10:46:06,274 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2140778550] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:06,274 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:06,274 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:46:06,274 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:46:06,274 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1210976891] [2022-04-28 10:46:06,275 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1210976891] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:06,275 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:06,275 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:46:06,275 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1231314354] [2022-04-28 10:46:06,275 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:46:06,275 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 40 [2022-04-28 10:46:06,276 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:46:06,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 10:46:06,302 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:46:06,302 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 10:46:06,303 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:06,303 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 10:46:06,303 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 10:46:06,303 INFO L87 Difference]: Start difference. First operand 71 states and 96 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 10:46:06,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:06,510 INFO L93 Difference]: Finished difference Result 81 states and 104 transitions. [2022-04-28 10:46:06,510 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 10:46:06,511 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 40 [2022-04-28 10:46:06,511 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:46:06,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 10:46:06,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 10:46:06,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 10:46:06,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 10:46:06,513 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-28 10:46:06,561 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:46:06,563 INFO L225 Difference]: With dead ends: 81 [2022-04-28 10:46:06,564 INFO L226 Difference]: Without dead ends: 78 [2022-04-28 10:46:06,564 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 35 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 10:46:06,565 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 6 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 126 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 10:46:06,565 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 126 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 10:46:06,565 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2022-04-28 10:46:06,617 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 76. [2022-04-28 10:46:06,617 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:46:06,617 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 10:46:06,618 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 10:46:06,618 INFO L87 Difference]: Start difference. First operand 78 states. Second operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 10:46:06,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:06,622 INFO L93 Difference]: Finished difference Result 78 states and 100 transitions. [2022-04-28 10:46:06,622 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 100 transitions. [2022-04-28 10:46:06,622 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:06,622 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:06,622 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 78 states. [2022-04-28 10:46:06,623 INFO L87 Difference]: Start difference. First operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 78 states. [2022-04-28 10:46:06,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:06,626 INFO L93 Difference]: Finished difference Result 78 states and 100 transitions. [2022-04-28 10:46:06,626 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 100 transitions. [2022-04-28 10:46:06,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:06,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:06,627 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:46:06,627 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:46:06,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 10:46:06,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 97 transitions. [2022-04-28 10:46:06,631 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 97 transitions. Word has length 40 [2022-04-28 10:46:06,631 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:46:06,631 INFO L495 AbstractCegarLoop]: Abstraction has 76 states and 97 transitions. [2022-04-28 10:46:06,631 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 10:46:06,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 97 transitions. [2022-04-28 10:46:06,744 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:46:06,744 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 97 transitions. [2022-04-28 10:46:06,745 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 10:46:06,745 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:46:06,745 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:46:06,762 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 10:46:06,945 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 10:46:06,946 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:46:06,946 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:46:06,946 INFO L85 PathProgramCache]: Analyzing trace with hash -1098226535, now seen corresponding path program 1 times [2022-04-28 10:46:06,946 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:06,946 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [655536809] [2022-04-28 10:46:06,947 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:46:06,947 INFO L85 PathProgramCache]: Analyzing trace with hash -1098226535, now seen corresponding path program 2 times [2022-04-28 10:46:06,947 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:46:06,947 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1437757342] [2022-04-28 10:46:06,947 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:46:06,947 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:46:06,969 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:46:06,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [247017594] [2022-04-28 10:46:06,970 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:46:06,970 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:46:06,970 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:46:06,972 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 10:46:06,977 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 10:46:07,010 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:46:07,010 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:46:07,011 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 10:46:07,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:07,021 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:46:07,188 INFO L272 TraceCheckUtils]: 0: Hoare triple {2757#true} call ULTIMATE.init(); {2757#true} is VALID [2022-04-28 10:46:07,189 INFO L290 TraceCheckUtils]: 1: Hoare triple {2757#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); {2757#true} is VALID [2022-04-28 10:46:07,189 INFO L290 TraceCheckUtils]: 2: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 10:46:07,189 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2757#true} {2757#true} #81#return; {2757#true} is VALID [2022-04-28 10:46:07,189 INFO L272 TraceCheckUtils]: 4: Hoare triple {2757#true} call #t~ret6 := main(); {2757#true} is VALID [2022-04-28 10:46:07,189 INFO L290 TraceCheckUtils]: 5: Hoare triple {2757#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2757#true} is VALID [2022-04-28 10:46:07,189 INFO L272 TraceCheckUtils]: 6: Hoare triple {2757#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2757#true} is VALID [2022-04-28 10:46:07,189 INFO L290 TraceCheckUtils]: 7: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 10:46:07,199 INFO L290 TraceCheckUtils]: 8: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 10:46:07,199 INFO L290 TraceCheckUtils]: 9: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 10:46:07,199 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2757#true} {2757#true} #63#return; {2757#true} is VALID [2022-04-28 10:46:07,200 INFO L272 TraceCheckUtils]: 11: Hoare triple {2757#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2757#true} is VALID [2022-04-28 10:46:07,200 INFO L290 TraceCheckUtils]: 12: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 10:46:07,200 INFO L290 TraceCheckUtils]: 13: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 10:46:07,200 INFO L290 TraceCheckUtils]: 14: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 10:46:07,200 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2757#true} {2757#true} #65#return; {2757#true} is VALID [2022-04-28 10:46:07,200 INFO L290 TraceCheckUtils]: 16: Hoare triple {2757#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2757#true} is VALID [2022-04-28 10:46:07,200 INFO L290 TraceCheckUtils]: 17: Hoare triple {2757#true} assume !false; {2757#true} is VALID [2022-04-28 10:46:07,200 INFO L272 TraceCheckUtils]: 18: Hoare triple {2757#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2757#true} is VALID [2022-04-28 10:46:07,200 INFO L290 TraceCheckUtils]: 19: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 10:46:07,200 INFO L290 TraceCheckUtils]: 20: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 10:46:07,201 INFO L290 TraceCheckUtils]: 21: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 10:46:07,201 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2757#true} {2757#true} #67#return; {2757#true} is VALID [2022-04-28 10:46:07,201 INFO L272 TraceCheckUtils]: 23: Hoare triple {2757#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2757#true} is VALID [2022-04-28 10:46:07,206 INFO L290 TraceCheckUtils]: 24: Hoare triple {2757#true} ~cond := #in~cond; {2834#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:07,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {2834#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:46:07,207 INFO L290 TraceCheckUtils]: 26: Hoare triple {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:46:07,208 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} {2757#true} #69#return; {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:46:07,208 INFO L272 TraceCheckUtils]: 28: Hoare triple {2845#(= 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)); {2757#true} is VALID [2022-04-28 10:46:07,208 INFO L290 TraceCheckUtils]: 29: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 10:46:07,208 INFO L290 TraceCheckUtils]: 30: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 10:46:07,208 INFO L290 TraceCheckUtils]: 31: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 10:46:07,209 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2757#true} {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #71#return; {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:46:07,210 INFO L290 TraceCheckUtils]: 33: Hoare triple {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:46:07,210 INFO L272 TraceCheckUtils]: 34: Hoare triple {2864#(= 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)); {2757#true} is VALID [2022-04-28 10:46:07,210 INFO L290 TraceCheckUtils]: 35: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 10:46:07,210 INFO L290 TraceCheckUtils]: 36: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 10:46:07,210 INFO L290 TraceCheckUtils]: 37: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 10:46:07,211 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2757#true} {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #73#return; {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:46:07,212 INFO L272 TraceCheckUtils]: 39: Hoare triple {2864#(= 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)); {2883#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:46:07,212 INFO L290 TraceCheckUtils]: 40: Hoare triple {2883#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2887#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:07,213 INFO L290 TraceCheckUtils]: 41: Hoare triple {2887#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2758#false} is VALID [2022-04-28 10:46:07,213 INFO L290 TraceCheckUtils]: 42: Hoare triple {2758#false} assume !false; {2758#false} is VALID [2022-04-28 10:46:07,213 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 10:46:07,213 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:46:24,447 INFO L290 TraceCheckUtils]: 42: Hoare triple {2758#false} assume !false; {2758#false} is VALID [2022-04-28 10:46:24,448 INFO L290 TraceCheckUtils]: 41: Hoare triple {2887#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2758#false} is VALID [2022-04-28 10:46:24,448 INFO L290 TraceCheckUtils]: 40: Hoare triple {2883#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2887#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:24,449 INFO L272 TraceCheckUtils]: 39: Hoare triple {2864#(= 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)); {2883#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:46:24,450 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2757#true} {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #73#return; {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:46:24,450 INFO L290 TraceCheckUtils]: 37: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 10:46:24,450 INFO L290 TraceCheckUtils]: 36: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 10:46:24,450 INFO L290 TraceCheckUtils]: 35: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 10:46:24,450 INFO L272 TraceCheckUtils]: 34: Hoare triple {2864#(= 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)); {2757#true} is VALID [2022-04-28 10:46:24,451 INFO L290 TraceCheckUtils]: 33: Hoare triple {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:46:24,452 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2757#true} {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #71#return; {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:46:24,452 INFO L290 TraceCheckUtils]: 31: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 10:46:24,452 INFO L290 TraceCheckUtils]: 30: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 10:46:24,452 INFO L290 TraceCheckUtils]: 29: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 10:46:24,452 INFO L272 TraceCheckUtils]: 28: Hoare triple {2845#(= 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)); {2757#true} is VALID [2022-04-28 10:46:24,453 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} {2757#true} #69#return; {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:46:24,454 INFO L290 TraceCheckUtils]: 26: Hoare triple {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:46:24,454 INFO L290 TraceCheckUtils]: 25: Hoare triple {2948#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:46:24,455 INFO L290 TraceCheckUtils]: 24: Hoare triple {2757#true} ~cond := #in~cond; {2948#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:46:24,455 INFO L272 TraceCheckUtils]: 23: Hoare triple {2757#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2757#true} is VALID [2022-04-28 10:46:24,455 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2757#true} {2757#true} #67#return; {2757#true} is VALID [2022-04-28 10:46:24,455 INFO L290 TraceCheckUtils]: 21: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 10:46:24,455 INFO L290 TraceCheckUtils]: 20: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 10:46:24,455 INFO L290 TraceCheckUtils]: 19: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 10:46:24,455 INFO L272 TraceCheckUtils]: 18: Hoare triple {2757#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2757#true} is VALID [2022-04-28 10:46:24,455 INFO L290 TraceCheckUtils]: 17: Hoare triple {2757#true} assume !false; {2757#true} is VALID [2022-04-28 10:46:24,455 INFO L290 TraceCheckUtils]: 16: Hoare triple {2757#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2757#true} is VALID [2022-04-28 10:46:24,455 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2757#true} {2757#true} #65#return; {2757#true} is VALID [2022-04-28 10:46:24,455 INFO L290 TraceCheckUtils]: 14: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 10:46:24,455 INFO L290 TraceCheckUtils]: 13: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 10:46:24,456 INFO L290 TraceCheckUtils]: 12: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 10:46:24,456 INFO L272 TraceCheckUtils]: 11: Hoare triple {2757#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2757#true} is VALID [2022-04-28 10:46:24,456 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2757#true} {2757#true} #63#return; {2757#true} is VALID [2022-04-28 10:46:24,456 INFO L290 TraceCheckUtils]: 9: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 10:46:24,456 INFO L290 TraceCheckUtils]: 8: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 10:46:24,456 INFO L290 TraceCheckUtils]: 7: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 10:46:24,456 INFO L272 TraceCheckUtils]: 6: Hoare triple {2757#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2757#true} is VALID [2022-04-28 10:46:24,456 INFO L290 TraceCheckUtils]: 5: Hoare triple {2757#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2757#true} is VALID [2022-04-28 10:46:24,456 INFO L272 TraceCheckUtils]: 4: Hoare triple {2757#true} call #t~ret6 := main(); {2757#true} is VALID [2022-04-28 10:46:24,457 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2757#true} {2757#true} #81#return; {2757#true} is VALID [2022-04-28 10:46:24,457 INFO L290 TraceCheckUtils]: 2: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 10:46:24,457 INFO L290 TraceCheckUtils]: 1: Hoare triple {2757#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); {2757#true} is VALID [2022-04-28 10:46:24,457 INFO L272 TraceCheckUtils]: 0: Hoare triple {2757#true} call ULTIMATE.init(); {2757#true} is VALID [2022-04-28 10:46:24,457 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 10:46:24,457 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:46:24,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1437757342] [2022-04-28 10:46:24,458 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:46:24,458 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [247017594] [2022-04-28 10:46:24,458 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [247017594] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:46:24,458 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:46:24,458 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 10:46:24,458 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:46:24,458 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [655536809] [2022-04-28 10:46:24,458 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [655536809] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:24,458 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:24,458 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 10:46:24,459 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [394049971] [2022-04-28 10:46:24,459 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:46:24,459 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 43 [2022-04-28 10:46:24,459 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:46:24,459 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 10:46:24,487 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 10:46:24,487 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 10:46:24,487 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:24,487 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 10:46:24,488 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:46:24,488 INFO L87 Difference]: Start difference. First operand 76 states and 97 transitions. Second operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 10:46:24,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:24,905 INFO L93 Difference]: Finished difference Result 85 states and 107 transitions. [2022-04-28 10:46:24,905 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 10:46:24,905 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 43 [2022-04-28 10:46:24,906 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:46:24,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 10:46:24,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-04-28 10:46:24,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 10:46:24,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-04-28 10:46:24,908 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 47 transitions. [2022-04-28 10:46:24,957 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 10:46:24,959 INFO L225 Difference]: With dead ends: 85 [2022-04-28 10:46:24,959 INFO L226 Difference]: Without dead ends: 81 [2022-04-28 10:46:24,959 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 77 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 10:46:24,960 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 14 mSDsluCounter, 79 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:46:24,961 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 105 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:46:24,962 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-28 10:46:25,043 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2022-04-28 10:46:25,043 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:46:25,044 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 10:46:25,044 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 10:46:25,044 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 10:46:25,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:25,047 INFO L93 Difference]: Finished difference Result 81 states and 100 transitions. [2022-04-28 10:46:25,047 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 100 transitions. [2022-04-28 10:46:25,048 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:25,048 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:25,048 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 81 states. [2022-04-28 10:46:25,048 INFO L87 Difference]: Start difference. First operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 81 states. [2022-04-28 10:46:25,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:25,053 INFO L93 Difference]: Finished difference Result 81 states and 100 transitions. [2022-04-28 10:46:25,053 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 100 transitions. [2022-04-28 10:46:25,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:25,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:25,055 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:46:25,055 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:46:25,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 10:46:25,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 100 transitions. [2022-04-28 10:46:25,058 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 100 transitions. Word has length 43 [2022-04-28 10:46:25,058 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:46:25,058 INFO L495 AbstractCegarLoop]: Abstraction has 81 states and 100 transitions. [2022-04-28 10:46:25,058 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 10:46:25,058 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 100 transitions. [2022-04-28 10:46:25,188 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:46:25,188 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 100 transitions. [2022-04-28 10:46:25,189 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 10:46:25,189 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:46:25,189 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:46:25,209 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 10:46:25,403 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 10:46:25,404 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:46:25,404 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:46:25,404 INFO L85 PathProgramCache]: Analyzing trace with hash -17648356, now seen corresponding path program 3 times [2022-04-28 10:46:25,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:25,404 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1661649520] [2022-04-28 10:46:25,405 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:46:25,405 INFO L85 PathProgramCache]: Analyzing trace with hash -17648356, now seen corresponding path program 4 times [2022-04-28 10:46:25,405 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:46:25,405 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1318299206] [2022-04-28 10:46:25,405 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:46:25,405 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:46:25,422 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:46:25,422 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [50399029] [2022-04-28 10:46:25,422 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:46:25,422 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:46:25,423 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:46:25,423 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 10:46:25,430 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 10:46:25,464 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:46:25,465 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:46:25,465 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 10:46:25,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:25,477 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:46:25,989 INFO L272 TraceCheckUtils]: 0: Hoare triple {3523#true} call ULTIMATE.init(); {3523#true} is VALID [2022-04-28 10:46:25,989 INFO L290 TraceCheckUtils]: 1: Hoare triple {3523#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); {3523#true} is VALID [2022-04-28 10:46:25,990 INFO L290 TraceCheckUtils]: 2: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 10:46:25,990 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3523#true} {3523#true} #81#return; {3523#true} is VALID [2022-04-28 10:46:25,990 INFO L272 TraceCheckUtils]: 4: Hoare triple {3523#true} call #t~ret6 := main(); {3523#true} is VALID [2022-04-28 10:46:25,990 INFO L290 TraceCheckUtils]: 5: Hoare triple {3523#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3523#true} is VALID [2022-04-28 10:46:25,990 INFO L272 TraceCheckUtils]: 6: Hoare triple {3523#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3523#true} is VALID [2022-04-28 10:46:25,990 INFO L290 TraceCheckUtils]: 7: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 10:46:25,990 INFO L290 TraceCheckUtils]: 8: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 10:46:25,990 INFO L290 TraceCheckUtils]: 9: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 10:46:25,990 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3523#true} {3523#true} #63#return; {3523#true} is VALID [2022-04-28 10:46:25,991 INFO L272 TraceCheckUtils]: 11: Hoare triple {3523#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3523#true} is VALID [2022-04-28 10:46:25,995 INFO L290 TraceCheckUtils]: 12: Hoare triple {3523#true} ~cond := #in~cond; {3564#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 10:46:25,995 INFO L290 TraceCheckUtils]: 13: Hoare triple {3564#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3568#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 10:46:25,996 INFO L290 TraceCheckUtils]: 14: Hoare triple {3568#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3568#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 10:46:25,996 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3568#(not (= |assume_abort_if_not_#in~cond| 0))} {3523#true} #65#return; {3575#(<= 1 main_~y~0)} is VALID [2022-04-28 10:46:26,002 INFO L290 TraceCheckUtils]: 16: Hoare triple {3575#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:26,002 INFO L290 TraceCheckUtils]: 17: Hoare triple {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !false; {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:26,002 INFO L272 TraceCheckUtils]: 18: Hoare triple {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3523#true} is VALID [2022-04-28 10:46:26,002 INFO L290 TraceCheckUtils]: 19: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 10:46:26,003 INFO L290 TraceCheckUtils]: 20: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 10:46:26,003 INFO L290 TraceCheckUtils]: 21: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 10:46:26,003 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3523#true} {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #67#return; {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:26,004 INFO L272 TraceCheckUtils]: 23: Hoare triple {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3523#true} is VALID [2022-04-28 10:46:26,004 INFO L290 TraceCheckUtils]: 24: Hoare triple {3523#true} ~cond := #in~cond; {3604#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:26,004 INFO L290 TraceCheckUtils]: 25: Hoare triple {3604#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:46:26,005 INFO L290 TraceCheckUtils]: 26: Hoare triple {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:46:26,006 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #69#return; {3615#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:26,006 INFO L272 TraceCheckUtils]: 28: Hoare triple {3615#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3523#true} is VALID [2022-04-28 10:46:26,006 INFO L290 TraceCheckUtils]: 29: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 10:46:26,006 INFO L290 TraceCheckUtils]: 30: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 10:46:26,006 INFO L290 TraceCheckUtils]: 31: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 10:46:26,007 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3523#true} {3615#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} #71#return; {3615#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:26,007 INFO L290 TraceCheckUtils]: 33: Hoare triple {3615#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3615#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:26,008 INFO L290 TraceCheckUtils]: 34: Hoare triple {3615#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} is VALID [2022-04-28 10:46:26,009 INFO L290 TraceCheckUtils]: 35: Hoare triple {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} assume !false; {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} is VALID [2022-04-28 10:46:26,009 INFO L272 TraceCheckUtils]: 36: Hoare triple {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3523#true} is VALID [2022-04-28 10:46:26,009 INFO L290 TraceCheckUtils]: 37: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 10:46:26,009 INFO L290 TraceCheckUtils]: 38: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 10:46:26,009 INFO L290 TraceCheckUtils]: 39: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 10:46:26,010 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3523#true} {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} #67#return; {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} is VALID [2022-04-28 10:46:26,010 INFO L272 TraceCheckUtils]: 41: Hoare triple {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3659#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:46:26,011 INFO L290 TraceCheckUtils]: 42: Hoare triple {3659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:26,011 INFO L290 TraceCheckUtils]: 43: Hoare triple {3663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3524#false} is VALID [2022-04-28 10:46:26,011 INFO L290 TraceCheckUtils]: 44: Hoare triple {3524#false} assume !false; {3524#false} is VALID [2022-04-28 10:46:26,012 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 13 proven. 10 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 10:46:26,012 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:46:54,660 INFO L290 TraceCheckUtils]: 44: Hoare triple {3524#false} assume !false; {3524#false} is VALID [2022-04-28 10:46:54,661 INFO L290 TraceCheckUtils]: 43: Hoare triple {3663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3524#false} is VALID [2022-04-28 10:46:54,661 INFO L290 TraceCheckUtils]: 42: Hoare triple {3659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:54,662 INFO L272 TraceCheckUtils]: 41: Hoare triple {3679#(= 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)); {3659#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:46:54,663 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3523#true} {3679#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {3679#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:46:54,663 INFO L290 TraceCheckUtils]: 39: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 10:46:54,663 INFO L290 TraceCheckUtils]: 38: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 10:46:54,663 INFO L290 TraceCheckUtils]: 37: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 10:46:54,663 INFO L272 TraceCheckUtils]: 36: Hoare triple {3679#(= 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)); {3523#true} is VALID [2022-04-28 10:46:54,663 INFO L290 TraceCheckUtils]: 35: Hoare triple {3679#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3679#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:46:54,804 INFO L290 TraceCheckUtils]: 34: Hoare triple {3701#(= (+ main_~a~0 (* (- 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; {3679#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:46:54,805 INFO L290 TraceCheckUtils]: 33: Hoare triple {3701#(= (+ main_~a~0 (* (- 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); {3701#(= (+ main_~a~0 (* (- 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 10:46:54,805 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3523#true} {3701#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #71#return; {3701#(= (+ main_~a~0 (* (- 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 10:46:54,805 INFO L290 TraceCheckUtils]: 31: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 10:46:54,805 INFO L290 TraceCheckUtils]: 30: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 10:46:54,806 INFO L290 TraceCheckUtils]: 29: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 10:46:54,806 INFO L272 TraceCheckUtils]: 28: Hoare triple {3701#(= (+ main_~a~0 (* (- 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)); {3523#true} is VALID [2022-04-28 10:46:54,807 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} {3723#(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)))))} #69#return; {3701#(= (+ main_~a~0 (* (- 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 10:46:54,807 INFO L290 TraceCheckUtils]: 26: Hoare triple {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:46:54,808 INFO L290 TraceCheckUtils]: 25: Hoare triple {3733#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:46:54,813 INFO L290 TraceCheckUtils]: 24: Hoare triple {3523#true} ~cond := #in~cond; {3733#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:46:54,813 INFO L272 TraceCheckUtils]: 23: Hoare triple {3723#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3523#true} is VALID [2022-04-28 10:46:54,814 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3523#true} {3723#(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)))))} #67#return; {3723#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 10:46:54,814 INFO L290 TraceCheckUtils]: 21: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 10:46:54,814 INFO L290 TraceCheckUtils]: 20: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 10:46:54,814 INFO L290 TraceCheckUtils]: 19: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 10:46:54,814 INFO L272 TraceCheckUtils]: 18: Hoare triple {3723#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3523#true} is VALID [2022-04-28 10:46:54,815 INFO L290 TraceCheckUtils]: 17: Hoare triple {3723#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {3723#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 10:46:54,815 INFO L290 TraceCheckUtils]: 16: Hoare triple {3523#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3723#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 10:46:54,816 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3523#true} {3523#true} #65#return; {3523#true} is VALID [2022-04-28 10:46:54,816 INFO L290 TraceCheckUtils]: 14: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 10:46:54,816 INFO L290 TraceCheckUtils]: 13: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 10:46:54,816 INFO L290 TraceCheckUtils]: 12: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 10:46:54,816 INFO L272 TraceCheckUtils]: 11: Hoare triple {3523#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3523#true} is VALID [2022-04-28 10:46:54,816 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3523#true} {3523#true} #63#return; {3523#true} is VALID [2022-04-28 10:46:54,816 INFO L290 TraceCheckUtils]: 9: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 10:46:54,816 INFO L290 TraceCheckUtils]: 8: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 10:46:54,816 INFO L290 TraceCheckUtils]: 7: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 10:46:54,817 INFO L272 TraceCheckUtils]: 6: Hoare triple {3523#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3523#true} is VALID [2022-04-28 10:46:54,817 INFO L290 TraceCheckUtils]: 5: Hoare triple {3523#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3523#true} is VALID [2022-04-28 10:46:54,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {3523#true} call #t~ret6 := main(); {3523#true} is VALID [2022-04-28 10:46:54,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3523#true} {3523#true} #81#return; {3523#true} is VALID [2022-04-28 10:46:54,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 10:46:54,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {3523#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); {3523#true} is VALID [2022-04-28 10:46:54,817 INFO L272 TraceCheckUtils]: 0: Hoare triple {3523#true} call ULTIMATE.init(); {3523#true} is VALID [2022-04-28 10:46:54,817 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 10 proven. 10 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 10:46:54,818 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:46:54,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1318299206] [2022-04-28 10:46:54,818 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:46:54,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [50399029] [2022-04-28 10:46:54,818 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [50399029] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:46:54,818 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:46:54,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-28 10:46:54,818 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:46:54,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1661649520] [2022-04-28 10:46:54,819 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1661649520] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:54,819 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:54,819 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 10:46:54,819 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [825267901] [2022-04-28 10:46:54,819 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:46:54,819 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 45 [2022-04-28 10:46:54,819 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:46:54,820 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 10:46:54,857 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 10:46:54,857 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 10:46:54,857 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:54,857 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 10:46:54,857 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=197, Unknown=0, NotChecked=0, Total=240 [2022-04-28 10:46:54,858 INFO L87 Difference]: Start difference. First operand 81 states and 100 transitions. Second operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 10:46:56,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:56,106 INFO L93 Difference]: Finished difference Result 115 states and 142 transitions. [2022-04-28 10:46:56,106 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 10:46:56,107 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 45 [2022-04-28 10:46:56,107 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:46:56,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 10:46:56,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2022-04-28 10:46:56,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 10:46:56,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2022-04-28 10:46:56,110 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 70 transitions. [2022-04-28 10:46:56,189 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:46:56,191 INFO L225 Difference]: With dead ends: 115 [2022-04-28 10:46:56,192 INFO L226 Difference]: Without dead ends: 113 [2022-04-28 10:46:56,192 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 74 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=60, Invalid=282, Unknown=0, NotChecked=0, Total=342 [2022-04-28 10:46:56,192 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 27 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 333 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 348 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 333 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:46:56,193 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 132 Invalid, 348 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 333 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 10:46:56,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-28 10:46:56,257 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 109. [2022-04-28 10:46:56,257 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:46:56,257 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 10:46:56,258 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 10:46:56,258 INFO L87 Difference]: Start difference. First operand 113 states. Second operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 10:46:56,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:56,262 INFO L93 Difference]: Finished difference Result 113 states and 140 transitions. [2022-04-28 10:46:56,262 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 140 transitions. [2022-04-28 10:46:56,262 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:56,262 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:56,263 INFO L74 IsIncluded]: Start isIncluded. First operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) Second operand 113 states. [2022-04-28 10:46:56,263 INFO L87 Difference]: Start difference. First operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) Second operand 113 states. [2022-04-28 10:46:56,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:56,267 INFO L93 Difference]: Finished difference Result 113 states and 140 transitions. [2022-04-28 10:46:56,267 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 140 transitions. [2022-04-28 10:46:56,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:56,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:56,267 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:46:56,267 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:46:56,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 10:46:56,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 133 transitions. [2022-04-28 10:46:56,272 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 133 transitions. Word has length 45 [2022-04-28 10:46:56,272 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:46:56,272 INFO L495 AbstractCegarLoop]: Abstraction has 109 states and 133 transitions. [2022-04-28 10:46:56,272 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 10:46:56,272 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 109 states and 133 transitions. [2022-04-28 10:46:56,422 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:46:56,422 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 133 transitions. [2022-04-28 10:46:56,422 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 10:46:56,423 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:46:56,423 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:46:56,439 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 10:46:56,623 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 10:46:56,623 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:46:56,624 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:46:56,624 INFO L85 PathProgramCache]: Analyzing trace with hash 1834363254, now seen corresponding path program 1 times [2022-04-28 10:46:56,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:56,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1304877050] [2022-04-28 10:46:56,624 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:46:56,624 INFO L85 PathProgramCache]: Analyzing trace with hash 1834363254, now seen corresponding path program 2 times [2022-04-28 10:46:56,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:46:56,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [25842745] [2022-04-28 10:46:56,624 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:46:56,625 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:46:56,635 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:46:56,635 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1540651946] [2022-04-28 10:46:56,635 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:46:56,635 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:46:56,635 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:46:56,636 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 10:46:56,643 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 10:46:56,682 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:46:56,682 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:46:56,682 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 10:46:56,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:56,692 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:46:57,094 INFO L272 TraceCheckUtils]: 0: Hoare triple {4488#true} call ULTIMATE.init(); {4488#true} is VALID [2022-04-28 10:46:57,095 INFO L290 TraceCheckUtils]: 1: Hoare triple {4488#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); {4488#true} is VALID [2022-04-28 10:46:57,095 INFO L290 TraceCheckUtils]: 2: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 10:46:57,095 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4488#true} {4488#true} #81#return; {4488#true} is VALID [2022-04-28 10:46:57,095 INFO L272 TraceCheckUtils]: 4: Hoare triple {4488#true} call #t~ret6 := main(); {4488#true} is VALID [2022-04-28 10:46:57,095 INFO L290 TraceCheckUtils]: 5: Hoare triple {4488#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4488#true} is VALID [2022-04-28 10:46:57,095 INFO L272 TraceCheckUtils]: 6: Hoare triple {4488#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4488#true} is VALID [2022-04-28 10:46:57,096 INFO L290 TraceCheckUtils]: 7: Hoare triple {4488#true} ~cond := #in~cond; {4514#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 10:46:57,096 INFO L290 TraceCheckUtils]: 8: Hoare triple {4514#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4518#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 10:46:57,097 INFO L290 TraceCheckUtils]: 9: Hoare triple {4518#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4518#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 10:46:57,097 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4518#(not (= |assume_abort_if_not_#in~cond| 0))} {4488#true} #63#return; {4525#(<= 1 main_~x~0)} is VALID [2022-04-28 10:46:57,097 INFO L272 TraceCheckUtils]: 11: Hoare triple {4525#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4488#true} is VALID [2022-04-28 10:46:57,097 INFO L290 TraceCheckUtils]: 12: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 10:46:57,098 INFO L290 TraceCheckUtils]: 13: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 10:46:57,098 INFO L290 TraceCheckUtils]: 14: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 10:46:57,098 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4488#true} {4525#(<= 1 main_~x~0)} #65#return; {4525#(<= 1 main_~x~0)} is VALID [2022-04-28 10:46:57,098 INFO L290 TraceCheckUtils]: 16: Hoare triple {4525#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4544#(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 10:46:57,099 INFO L290 TraceCheckUtils]: 17: Hoare triple {4544#(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; {4544#(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 10:46:57,099 INFO L272 TraceCheckUtils]: 18: Hoare triple {4544#(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)); {4488#true} is VALID [2022-04-28 10:46:57,099 INFO L290 TraceCheckUtils]: 19: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 10:46:57,099 INFO L290 TraceCheckUtils]: 20: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 10:46:57,099 INFO L290 TraceCheckUtils]: 21: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 10:46:57,100 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4488#true} {4544#(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))} #67#return; {4544#(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 10:46:57,100 INFO L272 TraceCheckUtils]: 23: Hoare triple {4544#(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)); {4488#true} is VALID [2022-04-28 10:46:57,100 INFO L290 TraceCheckUtils]: 24: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 10:46:57,100 INFO L290 TraceCheckUtils]: 25: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 10:46:57,100 INFO L290 TraceCheckUtils]: 26: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 10:46:57,101 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4488#true} {4544#(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))} #69#return; {4544#(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 10:46:57,101 INFO L272 TraceCheckUtils]: 28: Hoare triple {4544#(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)); {4488#true} is VALID [2022-04-28 10:46:57,101 INFO L290 TraceCheckUtils]: 29: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 10:46:57,101 INFO L290 TraceCheckUtils]: 30: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 10:46:57,101 INFO L290 TraceCheckUtils]: 31: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 10:46:57,102 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4488#true} {4544#(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))} #71#return; {4544#(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 10:46:57,102 INFO L290 TraceCheckUtils]: 33: Hoare triple {4544#(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); {4544#(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 10:46:57,103 INFO L290 TraceCheckUtils]: 34: Hoare triple {4544#(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);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 10:46:57,103 INFO L290 TraceCheckUtils]: 35: Hoare triple {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} assume !false; {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 10:46:57,103 INFO L272 TraceCheckUtils]: 36: Hoare triple {4599#(and (<= 1 main_~x~0) (= 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)); {4488#true} is VALID [2022-04-28 10:46:57,103 INFO L290 TraceCheckUtils]: 37: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 10:46:57,104 INFO L290 TraceCheckUtils]: 38: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 10:46:57,104 INFO L290 TraceCheckUtils]: 39: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 10:46:57,104 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4488#true} {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #67#return; {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 10:46:57,104 INFO L272 TraceCheckUtils]: 41: Hoare triple {4599#(and (<= 1 main_~x~0) (= 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)); {4488#true} is VALID [2022-04-28 10:46:57,104 INFO L290 TraceCheckUtils]: 42: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 10:46:57,104 INFO L290 TraceCheckUtils]: 43: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 10:46:57,104 INFO L290 TraceCheckUtils]: 44: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 10:46:57,105 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4488#true} {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #69#return; {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 10:46:57,106 INFO L272 TraceCheckUtils]: 46: Hoare triple {4599#(and (<= 1 main_~x~0) (= 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)); {4636#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:46:57,106 INFO L290 TraceCheckUtils]: 47: Hoare triple {4636#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4640#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:57,106 INFO L290 TraceCheckUtils]: 48: Hoare triple {4640#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4489#false} is VALID [2022-04-28 10:46:57,106 INFO L290 TraceCheckUtils]: 49: Hoare triple {4489#false} assume !false; {4489#false} is VALID [2022-04-28 10:46:57,107 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-28 10:46:57,107 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:46:57,385 INFO L290 TraceCheckUtils]: 49: Hoare triple {4489#false} assume !false; {4489#false} is VALID [2022-04-28 10:46:57,386 INFO L290 TraceCheckUtils]: 48: Hoare triple {4640#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4489#false} is VALID [2022-04-28 10:46:57,386 INFO L290 TraceCheckUtils]: 47: Hoare triple {4636#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4640#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:57,387 INFO L272 TraceCheckUtils]: 46: Hoare triple {4656#(= 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)); {4636#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:46:57,388 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4488#true} {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #69#return; {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:46:57,388 INFO L290 TraceCheckUtils]: 44: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 10:46:57,388 INFO L290 TraceCheckUtils]: 43: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 10:46:57,388 INFO L290 TraceCheckUtils]: 42: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 10:46:57,388 INFO L272 TraceCheckUtils]: 41: Hoare triple {4656#(= 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)); {4488#true} is VALID [2022-04-28 10:46:57,389 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4488#true} {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #67#return; {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:46:57,389 INFO L290 TraceCheckUtils]: 39: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 10:46:57,389 INFO L290 TraceCheckUtils]: 38: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 10:46:57,389 INFO L290 TraceCheckUtils]: 37: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 10:46:57,389 INFO L272 TraceCheckUtils]: 36: Hoare triple {4656#(= 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)); {4488#true} is VALID [2022-04-28 10:46:57,390 INFO L290 TraceCheckUtils]: 35: Hoare triple {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:46:57,545 INFO L290 TraceCheckUtils]: 34: Hoare triple {4693#(= (+ (* (+ 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; {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:46:57,546 INFO L290 TraceCheckUtils]: 33: Hoare triple {4693#(= (+ (* (+ 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); {4693#(= (+ (* (+ 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 10:46:57,546 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4488#true} {4693#(= (+ (* (+ 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))} #71#return; {4693#(= (+ (* (+ 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 10:46:57,546 INFO L290 TraceCheckUtils]: 31: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 10:46:57,546 INFO L290 TraceCheckUtils]: 30: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 10:46:57,546 INFO L290 TraceCheckUtils]: 29: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 10:46:57,547 INFO L272 TraceCheckUtils]: 28: Hoare triple {4693#(= (+ (* (+ 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)); {4488#true} is VALID [2022-04-28 10:46:57,547 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4488#true} {4693#(= (+ (* (+ 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))} #69#return; {4693#(= (+ (* (+ 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 10:46:57,547 INFO L290 TraceCheckUtils]: 26: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 10:46:57,547 INFO L290 TraceCheckUtils]: 25: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 10:46:57,547 INFO L290 TraceCheckUtils]: 24: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 10:46:57,547 INFO L272 TraceCheckUtils]: 23: Hoare triple {4693#(= (+ (* (+ 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)); {4488#true} is VALID [2022-04-28 10:46:57,548 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4488#true} {4693#(= (+ (* (+ 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))} #67#return; {4693#(= (+ (* (+ 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 10:46:57,548 INFO L290 TraceCheckUtils]: 21: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 10:46:57,548 INFO L290 TraceCheckUtils]: 20: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 10:46:57,548 INFO L290 TraceCheckUtils]: 19: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 10:46:57,548 INFO L272 TraceCheckUtils]: 18: Hoare triple {4693#(= (+ (* (+ 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)); {4488#true} is VALID [2022-04-28 10:46:57,549 INFO L290 TraceCheckUtils]: 17: Hoare triple {4693#(= (+ (* (+ 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; {4693#(= (+ (* (+ 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 10:46:57,549 INFO L290 TraceCheckUtils]: 16: Hoare triple {4488#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4693#(= (+ (* (+ 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 10:46:57,549 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4488#true} {4488#true} #65#return; {4488#true} is VALID [2022-04-28 10:46:57,549 INFO L290 TraceCheckUtils]: 14: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 10:46:57,549 INFO L290 TraceCheckUtils]: 13: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 10:46:57,549 INFO L290 TraceCheckUtils]: 12: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 10:46:57,549 INFO L272 TraceCheckUtils]: 11: Hoare triple {4488#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4488#true} is VALID [2022-04-28 10:46:57,549 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4488#true} {4488#true} #63#return; {4488#true} is VALID [2022-04-28 10:46:57,550 INFO L290 TraceCheckUtils]: 9: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 10:46:57,550 INFO L290 TraceCheckUtils]: 8: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 10:46:57,550 INFO L290 TraceCheckUtils]: 7: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 10:46:57,550 INFO L272 TraceCheckUtils]: 6: Hoare triple {4488#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4488#true} is VALID [2022-04-28 10:46:57,550 INFO L290 TraceCheckUtils]: 5: Hoare triple {4488#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4488#true} is VALID [2022-04-28 10:46:57,550 INFO L272 TraceCheckUtils]: 4: Hoare triple {4488#true} call #t~ret6 := main(); {4488#true} is VALID [2022-04-28 10:46:57,550 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4488#true} {4488#true} #81#return; {4488#true} is VALID [2022-04-28 10:46:57,550 INFO L290 TraceCheckUtils]: 2: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 10:46:57,550 INFO L290 TraceCheckUtils]: 1: Hoare triple {4488#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); {4488#true} is VALID [2022-04-28 10:46:57,550 INFO L272 TraceCheckUtils]: 0: Hoare triple {4488#true} call ULTIMATE.init(); {4488#true} is VALID [2022-04-28 10:46:57,550 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 10:46:57,550 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:46:57,550 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [25842745] [2022-04-28 10:46:57,551 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:46:57,551 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1540651946] [2022-04-28 10:46:57,551 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1540651946] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:46:57,551 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:46:57,551 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 6] total 11 [2022-04-28 10:46:57,551 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:46:57,551 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1304877050] [2022-04-28 10:46:57,551 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1304877050] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:57,551 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:57,551 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 10:46:57,551 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1728439585] [2022-04-28 10:46:57,551 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:46:57,552 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 50 [2022-04-28 10:46:57,552 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:46:57,552 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 10:46:57,583 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 10:46:57,583 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 10:46:57,583 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:57,583 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 10:46:57,584 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2022-04-28 10:46:57,584 INFO L87 Difference]: Start difference. First operand 109 states and 133 transitions. Second operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 10:46:58,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:58,667 INFO L93 Difference]: Finished difference Result 134 states and 173 transitions. [2022-04-28 10:46:58,668 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 10:46:58,668 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 50 [2022-04-28 10:46:58,668 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:46:58,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 10:46:58,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 70 transitions. [2022-04-28 10:46:58,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 10:46:58,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 70 transitions. [2022-04-28 10:46:58,680 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 70 transitions. [2022-04-28 10:46:58,750 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:46:58,753 INFO L225 Difference]: With dead ends: 134 [2022-04-28 10:46:58,753 INFO L226 Difference]: Without dead ends: 128 [2022-04-28 10:46:58,753 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 89 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2022-04-28 10:46:58,754 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 130 mSDsCounter, 0 mSdLazyCounter, 212 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 223 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 212 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:46:58,754 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 166 Invalid, 223 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 212 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 10:46:58,755 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-28 10:46:58,886 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 128. [2022-04-28 10:46:58,886 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:46:58,887 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 10:46:58,887 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 10:46:58,888 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 10:46:58,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:58,893 INFO L93 Difference]: Finished difference Result 128 states and 162 transitions. [2022-04-28 10:46:58,893 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 162 transitions. [2022-04-28 10:46:58,893 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:58,893 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:58,894 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 128 states. [2022-04-28 10:46:58,894 INFO L87 Difference]: Start difference. First operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 128 states. [2022-04-28 10:46:58,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:46:58,897 INFO L93 Difference]: Finished difference Result 128 states and 162 transitions. [2022-04-28 10:46:58,897 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 162 transitions. [2022-04-28 10:46:58,898 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:46:58,898 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:46:58,898 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:46:58,898 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:46:58,898 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 10:46:58,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 162 transitions. [2022-04-28 10:46:58,902 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 162 transitions. Word has length 50 [2022-04-28 10:46:58,902 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:46:58,902 INFO L495 AbstractCegarLoop]: Abstraction has 128 states and 162 transitions. [2022-04-28 10:46:58,902 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 10:46:58,902 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 128 states and 162 transitions. [2022-04-28 10:46:59,086 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 162 edges. 162 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:46:59,086 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 162 transitions. [2022-04-28 10:46:59,087 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 10:46:59,087 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:46:59,087 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:46:59,103 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 10:46:59,287 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 10:46:59,288 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:46:59,288 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:46:59,288 INFO L85 PathProgramCache]: Analyzing trace with hash -152607915, now seen corresponding path program 1 times [2022-04-28 10:46:59,288 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:59,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [957350524] [2022-04-28 10:46:59,288 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:46:59,288 INFO L85 PathProgramCache]: Analyzing trace with hash -152607915, now seen corresponding path program 2 times [2022-04-28 10:46:59,288 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:46:59,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1461160509] [2022-04-28 10:46:59,289 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:46:59,291 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:46:59,302 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:46:59,302 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1776483262] [2022-04-28 10:46:59,302 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:46:59,302 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:46:59,303 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:46:59,303 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 10:46:59,305 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 10:46:59,341 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:46:59,342 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:46:59,342 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 10:46:59,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:46:59,352 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:46:59,643 INFO L272 TraceCheckUtils]: 0: Hoare triple {5582#true} call ULTIMATE.init(); {5582#true} is VALID [2022-04-28 10:46:59,643 INFO L290 TraceCheckUtils]: 1: Hoare triple {5582#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); {5582#true} is VALID [2022-04-28 10:46:59,643 INFO L290 TraceCheckUtils]: 2: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,643 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5582#true} {5582#true} #81#return; {5582#true} is VALID [2022-04-28 10:46:59,643 INFO L272 TraceCheckUtils]: 4: Hoare triple {5582#true} call #t~ret6 := main(); {5582#true} is VALID [2022-04-28 10:46:59,643 INFO L290 TraceCheckUtils]: 5: Hoare triple {5582#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5582#true} is VALID [2022-04-28 10:46:59,643 INFO L272 TraceCheckUtils]: 6: Hoare triple {5582#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5582#true} is VALID [2022-04-28 10:46:59,643 INFO L290 TraceCheckUtils]: 7: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,644 INFO L290 TraceCheckUtils]: 8: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,644 INFO L290 TraceCheckUtils]: 9: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,644 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5582#true} {5582#true} #63#return; {5582#true} is VALID [2022-04-28 10:46:59,644 INFO L272 TraceCheckUtils]: 11: Hoare triple {5582#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5582#true} is VALID [2022-04-28 10:46:59,644 INFO L290 TraceCheckUtils]: 12: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,644 INFO L290 TraceCheckUtils]: 13: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,644 INFO L290 TraceCheckUtils]: 14: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,644 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5582#true} {5582#true} #65#return; {5582#true} is VALID [2022-04-28 10:46:59,648 INFO L290 TraceCheckUtils]: 16: Hoare triple {5582#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:59,648 INFO L290 TraceCheckUtils]: 17: Hoare triple {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:59,648 INFO L272 TraceCheckUtils]: 18: Hoare triple {5635#(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)); {5582#true} is VALID [2022-04-28 10:46:59,648 INFO L290 TraceCheckUtils]: 19: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,649 INFO L290 TraceCheckUtils]: 20: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,649 INFO L290 TraceCheckUtils]: 21: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,649 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5582#true} {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #67#return; {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:59,649 INFO L272 TraceCheckUtils]: 23: Hoare triple {5635#(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)); {5582#true} is VALID [2022-04-28 10:46:59,649 INFO L290 TraceCheckUtils]: 24: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,649 INFO L290 TraceCheckUtils]: 25: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,649 INFO L290 TraceCheckUtils]: 26: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,650 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5582#true} {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #69#return; {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:59,650 INFO L272 TraceCheckUtils]: 28: Hoare triple {5635#(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)); {5582#true} is VALID [2022-04-28 10:46:59,650 INFO L290 TraceCheckUtils]: 29: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,650 INFO L290 TraceCheckUtils]: 30: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,650 INFO L290 TraceCheckUtils]: 31: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,651 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5582#true} {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #71#return; {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:59,651 INFO L290 TraceCheckUtils]: 33: Hoare triple {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:46:59,652 INFO L290 TraceCheckUtils]: 34: Hoare triple {5635#(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; {5690#(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 10:46:59,652 INFO L290 TraceCheckUtils]: 35: Hoare triple {5690#(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; {5690#(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 10:46:59,652 INFO L272 TraceCheckUtils]: 36: Hoare triple {5690#(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)); {5582#true} is VALID [2022-04-28 10:46:59,652 INFO L290 TraceCheckUtils]: 37: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,652 INFO L290 TraceCheckUtils]: 38: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,652 INFO L290 TraceCheckUtils]: 39: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,653 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5582#true} {5690#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #67#return; {5690#(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 10:46:59,653 INFO L272 TraceCheckUtils]: 41: Hoare triple {5690#(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)); {5582#true} is VALID [2022-04-28 10:46:59,653 INFO L290 TraceCheckUtils]: 42: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,653 INFO L290 TraceCheckUtils]: 43: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,653 INFO L290 TraceCheckUtils]: 44: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,653 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5582#true} {5690#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #69#return; {5690#(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 10:46:59,654 INFO L272 TraceCheckUtils]: 46: Hoare triple {5690#(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)); {5582#true} is VALID [2022-04-28 10:46:59,654 INFO L290 TraceCheckUtils]: 47: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,654 INFO L290 TraceCheckUtils]: 48: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,654 INFO L290 TraceCheckUtils]: 49: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,654 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5582#true} {5690#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #71#return; {5690#(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 10:46:59,655 INFO L290 TraceCheckUtils]: 51: Hoare triple {5690#(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); {5690#(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 10:46:59,655 INFO L290 TraceCheckUtils]: 52: Hoare triple {5690#(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; {5745#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (- 1) main_~r~0))} is VALID [2022-04-28 10:46:59,656 INFO L290 TraceCheckUtils]: 53: Hoare triple {5745#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (- 1) main_~r~0))} assume !false; {5745#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (- 1) main_~r~0))} is VALID [2022-04-28 10:46:59,656 INFO L272 TraceCheckUtils]: 54: Hoare triple {5745#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5752#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:46:59,656 INFO L290 TraceCheckUtils]: 55: Hoare triple {5752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:59,657 INFO L290 TraceCheckUtils]: 56: Hoare triple {5756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5583#false} is VALID [2022-04-28 10:46:59,657 INFO L290 TraceCheckUtils]: 57: Hoare triple {5583#false} assume !false; {5583#false} is VALID [2022-04-28 10:46:59,657 INFO L134 CoverageAnalysis]: Checked inductivity of 86 backedges. 12 proven. 10 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 10:46:59,657 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:46:59,879 INFO L290 TraceCheckUtils]: 57: Hoare triple {5583#false} assume !false; {5583#false} is VALID [2022-04-28 10:46:59,879 INFO L290 TraceCheckUtils]: 56: Hoare triple {5756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5583#false} is VALID [2022-04-28 10:46:59,879 INFO L290 TraceCheckUtils]: 55: Hoare triple {5752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:46:59,880 INFO L272 TraceCheckUtils]: 54: Hoare triple {5772#(= (* 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)); {5752#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:46:59,880 INFO L290 TraceCheckUtils]: 53: Hoare triple {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 10:46:59,883 INFO L290 TraceCheckUtils]: 52: Hoare triple {5772#(= (* 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; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 10:46:59,883 INFO L290 TraceCheckUtils]: 51: Hoare triple {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 10:46:59,884 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #71#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 10:46:59,884 INFO L290 TraceCheckUtils]: 49: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,884 INFO L290 TraceCheckUtils]: 48: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,884 INFO L290 TraceCheckUtils]: 47: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,884 INFO L272 TraceCheckUtils]: 46: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-28 10:46:59,884 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #69#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 10:46:59,884 INFO L290 TraceCheckUtils]: 44: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,884 INFO L290 TraceCheckUtils]: 43: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,885 INFO L290 TraceCheckUtils]: 42: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,885 INFO L272 TraceCheckUtils]: 41: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-28 10:46:59,885 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #67#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 10:46:59,885 INFO L290 TraceCheckUtils]: 39: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,885 INFO L290 TraceCheckUtils]: 38: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,885 INFO L290 TraceCheckUtils]: 37: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,885 INFO L272 TraceCheckUtils]: 36: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-28 10:46:59,886 INFO L290 TraceCheckUtils]: 35: Hoare triple {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 10:46:59,887 INFO L290 TraceCheckUtils]: 34: Hoare triple {5772#(= (* 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; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 10:46:59,888 INFO L290 TraceCheckUtils]: 33: Hoare triple {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 10:46:59,888 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #71#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 10:46:59,888 INFO L290 TraceCheckUtils]: 31: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,889 INFO L290 TraceCheckUtils]: 30: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,889 INFO L290 TraceCheckUtils]: 29: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,889 INFO L272 TraceCheckUtils]: 28: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-28 10:46:59,889 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #69#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 10:46:59,889 INFO L290 TraceCheckUtils]: 26: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,889 INFO L290 TraceCheckUtils]: 25: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,889 INFO L290 TraceCheckUtils]: 24: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,889 INFO L272 TraceCheckUtils]: 23: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-28 10:46:59,890 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #67#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 10:46:59,890 INFO L290 TraceCheckUtils]: 21: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,890 INFO L290 TraceCheckUtils]: 20: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,890 INFO L290 TraceCheckUtils]: 19: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,890 INFO L272 TraceCheckUtils]: 18: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-28 10:46:59,890 INFO L290 TraceCheckUtils]: 17: Hoare triple {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 10:46:59,891 INFO L290 TraceCheckUtils]: 16: Hoare triple {5582#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 10:46:59,891 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5582#true} {5582#true} #65#return; {5582#true} is VALID [2022-04-28 10:46:59,891 INFO L290 TraceCheckUtils]: 14: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,891 INFO L290 TraceCheckUtils]: 13: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,891 INFO L290 TraceCheckUtils]: 12: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,891 INFO L272 TraceCheckUtils]: 11: Hoare triple {5582#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5582#true} is VALID [2022-04-28 10:46:59,891 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5582#true} {5582#true} #63#return; {5582#true} is VALID [2022-04-28 10:46:59,891 INFO L290 TraceCheckUtils]: 9: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,891 INFO L290 TraceCheckUtils]: 8: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 10:46:59,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 10:46:59,891 INFO L272 TraceCheckUtils]: 6: Hoare triple {5582#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5582#true} is VALID [2022-04-28 10:46:59,891 INFO L290 TraceCheckUtils]: 5: Hoare triple {5582#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5582#true} is VALID [2022-04-28 10:46:59,891 INFO L272 TraceCheckUtils]: 4: Hoare triple {5582#true} call #t~ret6 := main(); {5582#true} is VALID [2022-04-28 10:46:59,892 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5582#true} {5582#true} #81#return; {5582#true} is VALID [2022-04-28 10:46:59,892 INFO L290 TraceCheckUtils]: 2: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 10:46:59,892 INFO L290 TraceCheckUtils]: 1: Hoare triple {5582#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); {5582#true} is VALID [2022-04-28 10:46:59,892 INFO L272 TraceCheckUtils]: 0: Hoare triple {5582#true} call ULTIMATE.init(); {5582#true} is VALID [2022-04-28 10:46:59,892 INFO L134 CoverageAnalysis]: Checked inductivity of 86 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 74 trivial. 0 not checked. [2022-04-28 10:46:59,892 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:46:59,892 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1461160509] [2022-04-28 10:46:59,892 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:46:59,892 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1776483262] [2022-04-28 10:46:59,892 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1776483262] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 10:46:59,892 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 10:46:59,892 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-28 10:46:59,892 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:46:59,893 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [957350524] [2022-04-28 10:46:59,893 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [957350524] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:46:59,893 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:46:59,893 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:46:59,893 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1909605588] [2022-04-28 10:46:59,893 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:46:59,893 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 58 [2022-04-28 10:46:59,893 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:46:59,893 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 10:46:59,916 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 10:46:59,916 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 10:46:59,916 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:46:59,916 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 10:46:59,917 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 10:46:59,917 INFO L87 Difference]: Start difference. First operand 128 states and 162 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 10:47:00,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:00,147 INFO L93 Difference]: Finished difference Result 134 states and 167 transitions. [2022-04-28 10:47:00,147 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 10:47:00,147 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 58 [2022-04-28 10:47:00,147 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:47:00,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 10:47:00,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-28 10:47:00,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 10:47:00,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-28 10:47:00,149 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2022-04-28 10:47:00,186 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 10:47:00,188 INFO L225 Difference]: With dead ends: 134 [2022-04-28 10:47:00,188 INFO L226 Difference]: Without dead ends: 129 [2022-04-28 10:47:00,189 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 106 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 10:47:00,189 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 6 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 96 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 10:47:00,190 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 96 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 10:47:00,190 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-28 10:47:00,317 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 129. [2022-04-28 10:47:00,317 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:47:00,317 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 10:47:00,317 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 10:47:00,318 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 10:47:00,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:00,322 INFO L93 Difference]: Finished difference Result 129 states and 159 transitions. [2022-04-28 10:47:00,322 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 159 transitions. [2022-04-28 10:47:00,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:00,323 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:00,323 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) Second operand 129 states. [2022-04-28 10:47:00,324 INFO L87 Difference]: Start difference. First operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) Second operand 129 states. [2022-04-28 10:47:00,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:00,330 INFO L93 Difference]: Finished difference Result 129 states and 159 transitions. [2022-04-28 10:47:00,330 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 159 transitions. [2022-04-28 10:47:00,331 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:00,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:00,331 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:47:00,331 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:47:00,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 10:47:00,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 159 transitions. [2022-04-28 10:47:00,336 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 159 transitions. Word has length 58 [2022-04-28 10:47:00,336 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:47:00,336 INFO L495 AbstractCegarLoop]: Abstraction has 129 states and 159 transitions. [2022-04-28 10:47:00,337 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 10:47:00,337 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 159 transitions. [2022-04-28 10:47:00,571 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 159 edges. 159 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:47:00,571 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 159 transitions. [2022-04-28 10:47:00,572 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-28 10:47:00,572 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:47:00,572 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:47:00,591 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 10:47:00,772 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 10:47:00,772 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:47:00,773 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:47:00,773 INFO L85 PathProgramCache]: Analyzing trace with hash -1386725923, now seen corresponding path program 5 times [2022-04-28 10:47:00,773 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:00,773 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [687077761] [2022-04-28 10:47:00,773 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:47:00,773 INFO L85 PathProgramCache]: Analyzing trace with hash -1386725923, now seen corresponding path program 6 times [2022-04-28 10:47:00,773 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:47:00,773 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [547200028] [2022-04-28 10:47:00,774 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:47:00,774 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:47:00,784 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:47:00,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [198441573] [2022-04-28 10:47:00,784 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:47:00,784 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:47:00,785 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:47:00,785 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 10:47:00,789 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 10:47:00,842 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 10:47:00,842 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:47:00,843 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 10:47:00,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:47:00,857 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:47:01,423 INFO L272 TraceCheckUtils]: 0: Hoare triple {6723#true} call ULTIMATE.init(); {6723#true} is VALID [2022-04-28 10:47:01,423 INFO L290 TraceCheckUtils]: 1: Hoare triple {6723#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); {6723#true} is VALID [2022-04-28 10:47:01,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:01,423 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6723#true} {6723#true} #81#return; {6723#true} is VALID [2022-04-28 10:47:01,423 INFO L272 TraceCheckUtils]: 4: Hoare triple {6723#true} call #t~ret6 := main(); {6723#true} is VALID [2022-04-28 10:47:01,423 INFO L290 TraceCheckUtils]: 5: Hoare triple {6723#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6723#true} is VALID [2022-04-28 10:47:01,423 INFO L272 TraceCheckUtils]: 6: Hoare triple {6723#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6723#true} is VALID [2022-04-28 10:47:01,423 INFO L290 TraceCheckUtils]: 7: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:01,423 INFO L290 TraceCheckUtils]: 8: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:01,423 INFO L290 TraceCheckUtils]: 9: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:01,424 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6723#true} {6723#true} #63#return; {6723#true} is VALID [2022-04-28 10:47:01,424 INFO L272 TraceCheckUtils]: 11: Hoare triple {6723#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6723#true} is VALID [2022-04-28 10:47:01,424 INFO L290 TraceCheckUtils]: 12: Hoare triple {6723#true} ~cond := #in~cond; {6764#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 10:47:01,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {6764#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6768#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 10:47:01,424 INFO L290 TraceCheckUtils]: 14: Hoare triple {6768#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6768#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 10:47:01,425 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6768#(not (= |assume_abort_if_not_#in~cond| 0))} {6723#true} #65#return; {6775#(<= 1 main_~y~0)} is VALID [2022-04-28 10:47:01,425 INFO L290 TraceCheckUtils]: 16: Hoare triple {6775#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6779#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:01,426 INFO L290 TraceCheckUtils]: 17: Hoare triple {6779#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {6779#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:01,426 INFO L272 TraceCheckUtils]: 18: Hoare triple {6779#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 10:47:01,426 INFO L290 TraceCheckUtils]: 19: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:01,426 INFO L290 TraceCheckUtils]: 20: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:01,426 INFO L290 TraceCheckUtils]: 21: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:01,426 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6723#true} {6779#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {6779#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:01,427 INFO L272 TraceCheckUtils]: 23: Hoare triple {6779#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 10:47:01,427 INFO L290 TraceCheckUtils]: 24: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:01,427 INFO L290 TraceCheckUtils]: 25: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:01,427 INFO L290 TraceCheckUtils]: 26: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:01,427 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6723#true} {6779#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {6779#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:01,427 INFO L272 TraceCheckUtils]: 28: Hoare triple {6779#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 10:47:01,428 INFO L290 TraceCheckUtils]: 29: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:01,428 INFO L290 TraceCheckUtils]: 30: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:01,428 INFO L290 TraceCheckUtils]: 31: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:01,440 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6723#true} {6779#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {6779#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:01,440 INFO L290 TraceCheckUtils]: 33: Hoare triple {6779#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {6779#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:01,441 INFO L290 TraceCheckUtils]: 34: Hoare triple {6779#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:47:01,441 INFO L290 TraceCheckUtils]: 35: Hoare triple {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:47:01,442 INFO L272 TraceCheckUtils]: 36: Hoare triple {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 10:47:01,442 INFO L290 TraceCheckUtils]: 37: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:01,442 INFO L290 TraceCheckUtils]: 38: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:01,442 INFO L290 TraceCheckUtils]: 39: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:01,443 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6723#true} {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #67#return; {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:47:01,443 INFO L272 TraceCheckUtils]: 41: Hoare triple {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 10:47:01,443 INFO L290 TraceCheckUtils]: 42: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:01,443 INFO L290 TraceCheckUtils]: 43: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:01,443 INFO L290 TraceCheckUtils]: 44: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:01,444 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6723#true} {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #69#return; {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:47:01,444 INFO L272 TraceCheckUtils]: 46: Hoare triple {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 10:47:01,444 INFO L290 TraceCheckUtils]: 47: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:01,444 INFO L290 TraceCheckUtils]: 48: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:01,444 INFO L290 TraceCheckUtils]: 49: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:01,445 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6723#true} {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #71#return; {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:47:01,445 INFO L290 TraceCheckUtils]: 51: Hoare triple {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:47:01,446 INFO L290 TraceCheckUtils]: 52: Hoare triple {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:01,447 INFO L290 TraceCheckUtils]: 53: Hoare triple {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !false; {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:01,447 INFO L272 TraceCheckUtils]: 54: Hoare triple {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 10:47:01,447 INFO L290 TraceCheckUtils]: 55: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:01,447 INFO L290 TraceCheckUtils]: 56: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:01,447 INFO L290 TraceCheckUtils]: 57: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:01,448 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {6723#true} {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} #67#return; {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:01,449 INFO L272 TraceCheckUtils]: 59: Hoare triple {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6911#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:47:01,449 INFO L290 TraceCheckUtils]: 60: Hoare triple {6911#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6915#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:47:01,450 INFO L290 TraceCheckUtils]: 61: Hoare triple {6915#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6724#false} is VALID [2022-04-28 10:47:01,450 INFO L290 TraceCheckUtils]: 62: Hoare triple {6724#false} assume !false; {6724#false} is VALID [2022-04-28 10:47:01,450 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 17 proven. 12 refuted. 0 times theorem prover too weak. 85 trivial. 0 not checked. [2022-04-28 10:47:01,450 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:47:01,758 INFO L290 TraceCheckUtils]: 62: Hoare triple {6724#false} assume !false; {6724#false} is VALID [2022-04-28 10:47:01,758 INFO L290 TraceCheckUtils]: 61: Hoare triple {6915#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6724#false} is VALID [2022-04-28 10:47:01,759 INFO L290 TraceCheckUtils]: 60: Hoare triple {6911#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6915#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:47:01,759 INFO L272 TraceCheckUtils]: 59: Hoare triple {6931#(= 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)); {6911#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:47:01,760 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {6723#true} {6931#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {6931#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:47:01,760 INFO L290 TraceCheckUtils]: 57: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:01,760 INFO L290 TraceCheckUtils]: 56: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:01,760 INFO L290 TraceCheckUtils]: 55: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:01,760 INFO L272 TraceCheckUtils]: 54: Hoare triple {6931#(= 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)); {6723#true} is VALID [2022-04-28 10:47:01,761 INFO L290 TraceCheckUtils]: 53: Hoare triple {6931#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {6931#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:47:02,026 INFO L290 TraceCheckUtils]: 52: Hoare triple {6953#(= (+ main_~a~0 (* (- 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; {6931#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:47:02,026 INFO L290 TraceCheckUtils]: 51: Hoare triple {6953#(= (+ main_~a~0 (* (- 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); {6953#(= (+ main_~a~0 (* (- 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 10:47:02,027 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6723#true} {6953#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #71#return; {6953#(= (+ main_~a~0 (* (- 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 10:47:02,027 INFO L290 TraceCheckUtils]: 49: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:02,027 INFO L290 TraceCheckUtils]: 48: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:02,027 INFO L290 TraceCheckUtils]: 47: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:02,027 INFO L272 TraceCheckUtils]: 46: Hoare triple {6953#(= (+ main_~a~0 (* (- 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)); {6723#true} is VALID [2022-04-28 10:47:02,028 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6723#true} {6953#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #69#return; {6953#(= (+ main_~a~0 (* (- 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 10:47:02,028 INFO L290 TraceCheckUtils]: 44: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:02,028 INFO L290 TraceCheckUtils]: 43: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:02,028 INFO L290 TraceCheckUtils]: 42: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:02,028 INFO L272 TraceCheckUtils]: 41: Hoare triple {6953#(= (+ main_~a~0 (* (- 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)); {6723#true} is VALID [2022-04-28 10:47:02,029 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6723#true} {6953#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #67#return; {6953#(= (+ main_~a~0 (* (- 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 10:47:02,029 INFO L290 TraceCheckUtils]: 39: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:02,029 INFO L290 TraceCheckUtils]: 38: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:02,029 INFO L290 TraceCheckUtils]: 37: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:02,029 INFO L272 TraceCheckUtils]: 36: Hoare triple {6953#(= (+ main_~a~0 (* (- 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)); {6723#true} is VALID [2022-04-28 10:47:02,029 INFO L290 TraceCheckUtils]: 35: Hoare triple {6953#(= (+ main_~a~0 (* (- 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; {6953#(= (+ main_~a~0 (* (- 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 10:47:02,233 INFO L290 TraceCheckUtils]: 34: Hoare triple {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6953#(= (+ main_~a~0 (* (- 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 10:47:02,234 INFO L290 TraceCheckUtils]: 33: Hoare triple {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(~a~0 != ~b~0); {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 10:47:02,234 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6723#true} {7008#(= (+ (* 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))} #71#return; {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 10:47:02,234 INFO L290 TraceCheckUtils]: 31: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:02,234 INFO L290 TraceCheckUtils]: 30: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:02,234 INFO L290 TraceCheckUtils]: 29: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:02,234 INFO L272 TraceCheckUtils]: 28: Hoare triple {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 10:47:02,235 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6723#true} {7008#(= (+ (* 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))} #69#return; {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 10:47:02,235 INFO L290 TraceCheckUtils]: 26: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:02,235 INFO L290 TraceCheckUtils]: 25: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:02,235 INFO L290 TraceCheckUtils]: 24: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:02,235 INFO L272 TraceCheckUtils]: 23: Hoare triple {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 10:47:02,236 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6723#true} {7008#(= (+ (* 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))} #67#return; {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 10:47:02,236 INFO L290 TraceCheckUtils]: 21: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:02,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:02,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:02,236 INFO L272 TraceCheckUtils]: 18: Hoare triple {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 10:47:02,237 INFO L290 TraceCheckUtils]: 17: Hoare triple {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !false; {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 10:47:02,237 INFO L290 TraceCheckUtils]: 16: Hoare triple {6723#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 10:47:02,237 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6723#true} {6723#true} #65#return; {6723#true} is VALID [2022-04-28 10:47:02,237 INFO L290 TraceCheckUtils]: 14: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:02,237 INFO L290 TraceCheckUtils]: 13: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:02,237 INFO L290 TraceCheckUtils]: 12: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:02,237 INFO L272 TraceCheckUtils]: 11: Hoare triple {6723#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6723#true} is VALID [2022-04-28 10:47:02,237 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6723#true} {6723#true} #63#return; {6723#true} is VALID [2022-04-28 10:47:02,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:02,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 10:47:02,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 10:47:02,238 INFO L272 TraceCheckUtils]: 6: Hoare triple {6723#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6723#true} is VALID [2022-04-28 10:47:02,238 INFO L290 TraceCheckUtils]: 5: Hoare triple {6723#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6723#true} is VALID [2022-04-28 10:47:02,238 INFO L272 TraceCheckUtils]: 4: Hoare triple {6723#true} call #t~ret6 := main(); {6723#true} is VALID [2022-04-28 10:47:02,238 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6723#true} {6723#true} #81#return; {6723#true} is VALID [2022-04-28 10:47:02,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 10:47:02,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {6723#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); {6723#true} is VALID [2022-04-28 10:47:02,238 INFO L272 TraceCheckUtils]: 0: Hoare triple {6723#true} call ULTIMATE.init(); {6723#true} is VALID [2022-04-28 10:47:02,238 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 14 proven. 12 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 10:47:02,238 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:47:02,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [547200028] [2022-04-28 10:47:02,238 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:47:02,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [198441573] [2022-04-28 10:47:02,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [198441573] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:47:02,239 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:47:02,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 7] total 13 [2022-04-28 10:47:02,239 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:47:02,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [687077761] [2022-04-28 10:47:02,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [687077761] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:47:02,239 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:47:02,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 10:47:02,239 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [797680521] [2022-04-28 10:47:02,239 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:47:02,240 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-28 10:47:02,240 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:47:02,240 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 10:47:02,276 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:47:02,276 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 10:47:02,276 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:02,276 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 10:47:02,277 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-28 10:47:02,277 INFO L87 Difference]: Start difference. First operand 129 states and 159 transitions. Second operand has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 10:47:03,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:03,510 INFO L93 Difference]: Finished difference Result 163 states and 201 transitions. [2022-04-28 10:47:03,510 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 10:47:03,510 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-28 10:47:03,510 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:47:03,510 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 10:47:03,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-28 10:47:03,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 10:47:03,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-28 10:47:03,514 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 80 transitions. [2022-04-28 10:47:03,611 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:47:03,615 INFO L225 Difference]: With dead ends: 163 [2022-04-28 10:47:03,615 INFO L226 Difference]: Without dead ends: 161 [2022-04-28 10:47:03,615 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=169, Unknown=0, NotChecked=0, Total=210 [2022-04-28 10:47:03,616 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 20 mSDsluCounter, 129 mSDsCounter, 0 mSdLazyCounter, 270 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 292 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 270 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:47:03,616 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 174 Invalid, 292 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 270 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 10:47:03,616 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-28 10:47:03,745 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 147. [2022-04-28 10:47:03,746 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:47:03,746 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 10:47:03,747 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 10:47:03,747 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 10:47:03,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:03,753 INFO L93 Difference]: Finished difference Result 161 states and 199 transitions. [2022-04-28 10:47:03,753 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 199 transitions. [2022-04-28 10:47:03,759 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:03,759 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:03,760 INFO L74 IsIncluded]: Start isIncluded. First operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) Second operand 161 states. [2022-04-28 10:47:03,761 INFO L87 Difference]: Start difference. First operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) Second operand 161 states. [2022-04-28 10:47:03,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:03,765 INFO L93 Difference]: Finished difference Result 161 states and 199 transitions. [2022-04-28 10:47:03,765 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 199 transitions. [2022-04-28 10:47:03,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:03,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:03,766 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:47:03,766 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:47:03,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 10:47:03,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 147 states to 147 states and 178 transitions. [2022-04-28 10:47:03,775 INFO L78 Accepts]: Start accepts. Automaton has 147 states and 178 transitions. Word has length 63 [2022-04-28 10:47:03,775 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:47:03,775 INFO L495 AbstractCegarLoop]: Abstraction has 147 states and 178 transitions. [2022-04-28 10:47:03,775 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 10:47:03,775 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 147 states and 178 transitions. [2022-04-28 10:47:04,016 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 178 edges. 178 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:47:04,016 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 178 transitions. [2022-04-28 10:47:04,017 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-28 10:47:04,017 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:47:04,017 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:47:04,033 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 10:47:04,217 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 10:47:04,218 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:47:04,218 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:47:04,218 INFO L85 PathProgramCache]: Analyzing trace with hash -522529, now seen corresponding path program 3 times [2022-04-28 10:47:04,218 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:04,218 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1508040224] [2022-04-28 10:47:04,218 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:47:04,218 INFO L85 PathProgramCache]: Analyzing trace with hash -522529, now seen corresponding path program 4 times [2022-04-28 10:47:04,219 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:47:04,219 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [562702848] [2022-04-28 10:47:04,219 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:47:04,219 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:47:04,230 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:47:04,231 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [513803719] [2022-04-28 10:47:04,231 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:47:04,231 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:47:04,231 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:47:04,232 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 10:47:04,236 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 10:47:04,274 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:47:04,275 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:47:04,275 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 10:47:04,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:47:04,304 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:47:04,732 INFO L272 TraceCheckUtils]: 0: Hoare triple {8059#true} call ULTIMATE.init(); {8059#true} is VALID [2022-04-28 10:47:04,733 INFO L290 TraceCheckUtils]: 1: Hoare triple {8059#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); {8059#true} is VALID [2022-04-28 10:47:04,733 INFO L290 TraceCheckUtils]: 2: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:04,733 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8059#true} {8059#true} #81#return; {8059#true} is VALID [2022-04-28 10:47:04,733 INFO L272 TraceCheckUtils]: 4: Hoare triple {8059#true} call #t~ret6 := main(); {8059#true} is VALID [2022-04-28 10:47:04,733 INFO L290 TraceCheckUtils]: 5: Hoare triple {8059#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8059#true} is VALID [2022-04-28 10:47:04,733 INFO L272 TraceCheckUtils]: 6: Hoare triple {8059#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8059#true} is VALID [2022-04-28 10:47:04,733 INFO L290 TraceCheckUtils]: 7: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:04,733 INFO L290 TraceCheckUtils]: 8: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:04,733 INFO L290 TraceCheckUtils]: 9: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:04,733 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8059#true} {8059#true} #63#return; {8059#true} is VALID [2022-04-28 10:47:04,733 INFO L272 TraceCheckUtils]: 11: Hoare triple {8059#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8059#true} is VALID [2022-04-28 10:47:04,733 INFO L290 TraceCheckUtils]: 12: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:04,733 INFO L290 TraceCheckUtils]: 13: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:04,733 INFO L290 TraceCheckUtils]: 14: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:04,733 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8059#true} {8059#true} #65#return; {8059#true} is VALID [2022-04-28 10:47:04,734 INFO L290 TraceCheckUtils]: 16: Hoare triple {8059#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8112#(and (= main_~r~0 0) (= 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 10:47:04,734 INFO L290 TraceCheckUtils]: 17: Hoare triple {8112#(and (= main_~r~0 0) (= 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; {8112#(and (= main_~r~0 0) (= 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 10:47:04,734 INFO L272 TraceCheckUtils]: 18: Hoare triple {8112#(and (= main_~r~0 0) (= 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)); {8059#true} is VALID [2022-04-28 10:47:04,734 INFO L290 TraceCheckUtils]: 19: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:04,734 INFO L290 TraceCheckUtils]: 20: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:04,734 INFO L290 TraceCheckUtils]: 21: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:04,735 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8059#true} {8112#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {8112#(and (= main_~r~0 0) (= 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 10:47:04,735 INFO L272 TraceCheckUtils]: 23: Hoare triple {8112#(and (= main_~r~0 0) (= 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)); {8059#true} is VALID [2022-04-28 10:47:04,735 INFO L290 TraceCheckUtils]: 24: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:04,735 INFO L290 TraceCheckUtils]: 25: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:04,735 INFO L290 TraceCheckUtils]: 26: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:04,738 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8059#true} {8112#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {8112#(and (= main_~r~0 0) (= 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 10:47:04,738 INFO L272 TraceCheckUtils]: 28: Hoare triple {8112#(and (= main_~r~0 0) (= 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)); {8059#true} is VALID [2022-04-28 10:47:04,738 INFO L290 TraceCheckUtils]: 29: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:04,739 INFO L290 TraceCheckUtils]: 30: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:04,739 INFO L290 TraceCheckUtils]: 31: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:04,739 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8059#true} {8112#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {8112#(and (= main_~r~0 0) (= 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 10:47:04,740 INFO L290 TraceCheckUtils]: 33: Hoare triple {8112#(and (= main_~r~0 0) (= 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); {8112#(and (= main_~r~0 0) (= 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 10:47:04,740 INFO L290 TraceCheckUtils]: 34: Hoare triple {8112#(and (= main_~r~0 0) (= 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; {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:04,740 INFO L290 TraceCheckUtils]: 35: Hoare triple {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:04,740 INFO L272 TraceCheckUtils]: 36: Hoare triple {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8059#true} is VALID [2022-04-28 10:47:04,741 INFO L290 TraceCheckUtils]: 37: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:04,741 INFO L290 TraceCheckUtils]: 38: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:04,741 INFO L290 TraceCheckUtils]: 39: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:04,741 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8059#true} {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #67#return; {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:04,741 INFO L272 TraceCheckUtils]: 41: Hoare triple {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8059#true} is VALID [2022-04-28 10:47:04,741 INFO L290 TraceCheckUtils]: 42: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:04,741 INFO L290 TraceCheckUtils]: 43: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:04,742 INFO L290 TraceCheckUtils]: 44: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:04,742 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8059#true} {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #69#return; {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:04,742 INFO L272 TraceCheckUtils]: 46: Hoare triple {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8059#true} is VALID [2022-04-28 10:47:04,742 INFO L290 TraceCheckUtils]: 47: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:04,742 INFO L290 TraceCheckUtils]: 48: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:04,742 INFO L290 TraceCheckUtils]: 49: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:04,745 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8059#true} {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #71#return; {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:04,746 INFO L290 TraceCheckUtils]: 51: Hoare triple {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:04,746 INFO L290 TraceCheckUtils]: 52: Hoare triple {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-28 10:47:04,747 INFO L290 TraceCheckUtils]: 53: Hoare triple {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} assume !false; {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-28 10:47:04,747 INFO L272 TraceCheckUtils]: 54: Hoare triple {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8059#true} is VALID [2022-04-28 10:47:04,747 INFO L290 TraceCheckUtils]: 55: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:04,747 INFO L290 TraceCheckUtils]: 56: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:04,747 INFO L290 TraceCheckUtils]: 57: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:04,749 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {8059#true} {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} #67#return; {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-28 10:47:04,750 INFO L272 TraceCheckUtils]: 59: Hoare triple {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8244#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:47:04,750 INFO L290 TraceCheckUtils]: 60: Hoare triple {8244#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8248#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:47:04,751 INFO L290 TraceCheckUtils]: 61: Hoare triple {8248#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8060#false} is VALID [2022-04-28 10:47:04,751 INFO L290 TraceCheckUtils]: 62: Hoare triple {8060#false} assume !false; {8060#false} is VALID [2022-04-28 10:47:04,751 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 14 proven. 12 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 10:47:04,751 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:47:04,986 INFO L290 TraceCheckUtils]: 62: Hoare triple {8060#false} assume !false; {8060#false} is VALID [2022-04-28 10:47:04,987 INFO L290 TraceCheckUtils]: 61: Hoare triple {8248#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8060#false} is VALID [2022-04-28 10:47:04,987 INFO L290 TraceCheckUtils]: 60: Hoare triple {8244#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8248#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:47:04,988 INFO L272 TraceCheckUtils]: 59: Hoare triple {8264#(= 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)); {8244#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:47:04,988 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {8059#true} {8264#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {8264#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:47:04,988 INFO L290 TraceCheckUtils]: 57: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:04,988 INFO L290 TraceCheckUtils]: 56: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:04,988 INFO L290 TraceCheckUtils]: 55: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:04,989 INFO L272 TraceCheckUtils]: 54: Hoare triple {8264#(= 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)); {8059#true} is VALID [2022-04-28 10:47:04,995 INFO L290 TraceCheckUtils]: 53: Hoare triple {8264#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {8264#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:47:05,098 INFO L290 TraceCheckUtils]: 52: Hoare triple {8286#(= (+ main_~a~0 (* (- 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; {8264#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:47:05,099 INFO L290 TraceCheckUtils]: 51: Hoare triple {8286#(= (+ main_~a~0 (* (- 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); {8286#(= (+ main_~a~0 (* (- 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 10:47:05,100 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8059#true} {8286#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #71#return; {8286#(= (+ main_~a~0 (* (- 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 10:47:05,100 INFO L290 TraceCheckUtils]: 49: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:05,100 INFO L290 TraceCheckUtils]: 48: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:05,100 INFO L290 TraceCheckUtils]: 47: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:05,100 INFO L272 TraceCheckUtils]: 46: Hoare triple {8286#(= (+ main_~a~0 (* (- 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)); {8059#true} is VALID [2022-04-28 10:47:05,101 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8059#true} {8286#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #69#return; {8286#(= (+ main_~a~0 (* (- 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 10:47:05,101 INFO L290 TraceCheckUtils]: 44: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:05,101 INFO L290 TraceCheckUtils]: 43: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:05,101 INFO L290 TraceCheckUtils]: 42: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:05,101 INFO L272 TraceCheckUtils]: 41: Hoare triple {8286#(= (+ main_~a~0 (* (- 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)); {8059#true} is VALID [2022-04-28 10:47:05,102 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8059#true} {8286#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #67#return; {8286#(= (+ main_~a~0 (* (- 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 10:47:05,102 INFO L290 TraceCheckUtils]: 39: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:05,102 INFO L290 TraceCheckUtils]: 38: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:05,102 INFO L290 TraceCheckUtils]: 37: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:05,102 INFO L272 TraceCheckUtils]: 36: Hoare triple {8286#(= (+ main_~a~0 (* (- 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)); {8059#true} is VALID [2022-04-28 10:47:05,102 INFO L290 TraceCheckUtils]: 35: Hoare triple {8286#(= (+ main_~a~0 (* (- 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; {8286#(= (+ main_~a~0 (* (- 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 10:47:07,104 WARN L290 TraceCheckUtils]: 34: Hoare triple {8341#(= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {8286#(= (+ main_~a~0 (* (- 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 UNKNOWN [2022-04-28 10:47:07,105 INFO L290 TraceCheckUtils]: 33: Hoare triple {8341#(= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0)))} assume !!(~a~0 != ~b~0); {8341#(= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0)))} is VALID [2022-04-28 10:47:07,105 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8059#true} {8341#(= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0)))} #71#return; {8341#(= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0)))} is VALID [2022-04-28 10:47:07,106 INFO L290 TraceCheckUtils]: 31: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:07,106 INFO L290 TraceCheckUtils]: 30: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:07,106 INFO L290 TraceCheckUtils]: 29: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:07,106 INFO L272 TraceCheckUtils]: 28: Hoare triple {8341#(= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8059#true} is VALID [2022-04-28 10:47:07,106 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8059#true} {8341#(= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0)))} #69#return; {8341#(= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0)))} is VALID [2022-04-28 10:47:07,106 INFO L290 TraceCheckUtils]: 26: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:07,106 INFO L290 TraceCheckUtils]: 25: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:07,107 INFO L290 TraceCheckUtils]: 24: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:07,107 INFO L272 TraceCheckUtils]: 23: Hoare triple {8341#(= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8059#true} is VALID [2022-04-28 10:47:07,107 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8059#true} {8341#(= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0)))} #67#return; {8341#(= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0)))} is VALID [2022-04-28 10:47:07,107 INFO L290 TraceCheckUtils]: 21: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:07,107 INFO L290 TraceCheckUtils]: 20: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:07,108 INFO L290 TraceCheckUtils]: 19: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:07,108 INFO L272 TraceCheckUtils]: 18: Hoare triple {8341#(= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8059#true} is VALID [2022-04-28 10:47:07,108 INFO L290 TraceCheckUtils]: 17: Hoare triple {8341#(= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0)))} assume !false; {8341#(= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0)))} is VALID [2022-04-28 10:47:07,109 INFO L290 TraceCheckUtils]: 16: Hoare triple {8059#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8341#(= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0)))} is VALID [2022-04-28 10:47:07,109 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8059#true} {8059#true} #65#return; {8059#true} is VALID [2022-04-28 10:47:07,109 INFO L290 TraceCheckUtils]: 14: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:07,109 INFO L290 TraceCheckUtils]: 13: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:07,109 INFO L290 TraceCheckUtils]: 12: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:07,109 INFO L272 TraceCheckUtils]: 11: Hoare triple {8059#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8059#true} is VALID [2022-04-28 10:47:07,109 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8059#true} {8059#true} #63#return; {8059#true} is VALID [2022-04-28 10:47:07,109 INFO L290 TraceCheckUtils]: 9: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:07,109 INFO L290 TraceCheckUtils]: 8: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 10:47:07,109 INFO L290 TraceCheckUtils]: 7: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 10:47:07,109 INFO L272 TraceCheckUtils]: 6: Hoare triple {8059#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8059#true} is VALID [2022-04-28 10:47:07,109 INFO L290 TraceCheckUtils]: 5: Hoare triple {8059#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8059#true} is VALID [2022-04-28 10:47:07,109 INFO L272 TraceCheckUtils]: 4: Hoare triple {8059#true} call #t~ret6 := main(); {8059#true} is VALID [2022-04-28 10:47:07,109 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8059#true} {8059#true} #81#return; {8059#true} is VALID [2022-04-28 10:47:07,109 INFO L290 TraceCheckUtils]: 2: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 10:47:07,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {8059#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); {8059#true} is VALID [2022-04-28 10:47:07,110 INFO L272 TraceCheckUtils]: 0: Hoare triple {8059#true} call ULTIMATE.init(); {8059#true} is VALID [2022-04-28 10:47:07,110 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 14 proven. 12 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 10:47:07,110 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:47:07,110 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [562702848] [2022-04-28 10:47:07,110 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:47:07,110 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [513803719] [2022-04-28 10:47:07,110 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [513803719] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:47:07,110 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:47:07,110 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-28 10:47:07,111 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:47:07,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1508040224] [2022-04-28 10:47:07,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1508040224] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:47:07,111 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:47:07,111 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 10:47:07,111 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [708726369] [2022-04-28 10:47:07,111 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:47:07,111 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-28 10:47:07,112 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:47:07,112 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 10:47:07,148 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 10:47:07,149 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 10:47:07,149 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:07,149 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 10:47:07,149 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 10:47:07,149 INFO L87 Difference]: Start difference. First operand 147 states and 178 transitions. Second operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 10:47:07,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:07,822 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-28 10:47:07,822 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 10:47:07,822 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-28 10:47:07,823 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:47:07,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 10:47:07,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2022-04-28 10:47:07,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 10:47:07,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2022-04-28 10:47:07,825 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 80 transitions. [2022-04-28 10:47:07,917 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:47:07,921 INFO L225 Difference]: With dead ends: 185 [2022-04-28 10:47:07,921 INFO L226 Difference]: Without dead ends: 183 [2022-04-28 10:47:07,922 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 116 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-28 10:47:07,922 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 8 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 203 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 209 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 203 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 10:47:07,922 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 181 Invalid, 209 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 203 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 10:47:07,923 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 183 states. [2022-04-28 10:47:08,055 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 183 to 169. [2022-04-28 10:47:08,055 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:47:08,055 INFO L82 GeneralOperation]: Start isEquivalent. First operand 183 states. Second operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 10:47:08,055 INFO L74 IsIncluded]: Start isIncluded. First operand 183 states. Second operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 10:47:08,059 INFO L87 Difference]: Start difference. First operand 183 states. Second operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 10:47:08,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:08,064 INFO L93 Difference]: Finished difference Result 183 states and 221 transitions. [2022-04-28 10:47:08,064 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 221 transitions. [2022-04-28 10:47:08,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:08,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:08,066 INFO L74 IsIncluded]: Start isIncluded. First operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) Second operand 183 states. [2022-04-28 10:47:08,069 INFO L87 Difference]: Start difference. First operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) Second operand 183 states. [2022-04-28 10:47:08,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:08,073 INFO L93 Difference]: Finished difference Result 183 states and 221 transitions. [2022-04-28 10:47:08,073 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 221 transitions. [2022-04-28 10:47:08,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:08,074 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:08,074 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:47:08,074 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:47:08,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 10:47:08,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 169 states to 169 states and 200 transitions. [2022-04-28 10:47:08,082 INFO L78 Accepts]: Start accepts. Automaton has 169 states and 200 transitions. Word has length 63 [2022-04-28 10:47:08,082 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:47:08,083 INFO L495 AbstractCegarLoop]: Abstraction has 169 states and 200 transitions. [2022-04-28 10:47:08,083 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 10:47:08,083 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 169 states and 200 transitions. [2022-04-28 10:47:08,375 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 200 edges. 200 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:47:08,375 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 200 transitions. [2022-04-28 10:47:08,375 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 10:47:08,375 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:47:08,375 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:47:08,393 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 10:47:08,576 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 10:47:08,576 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:47:08,576 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:47:08,576 INFO L85 PathProgramCache]: Analyzing trace with hash 1383919957, now seen corresponding path program 5 times [2022-04-28 10:47:08,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:08,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [180766697] [2022-04-28 10:47:08,577 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:47:08,577 INFO L85 PathProgramCache]: Analyzing trace with hash 1383919957, now seen corresponding path program 6 times [2022-04-28 10:47:08,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:47:08,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [753274366] [2022-04-28 10:47:08,577 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:47:08,577 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:47:08,586 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:47:08,587 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1415225777] [2022-04-28 10:47:08,587 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:47:08,587 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:47:08,587 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:47:08,588 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 10:47:08,607 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 10:47:08,665 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 10:47:08,666 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:47:08,666 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-28 10:47:08,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:47:08,683 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:47:09,127 INFO L272 TraceCheckUtils]: 0: Hoare triple {9522#true} call ULTIMATE.init(); {9522#true} is VALID [2022-04-28 10:47:09,128 INFO L290 TraceCheckUtils]: 1: Hoare triple {9522#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); {9522#true} is VALID [2022-04-28 10:47:09,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:09,128 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9522#true} {9522#true} #81#return; {9522#true} is VALID [2022-04-28 10:47:09,128 INFO L272 TraceCheckUtils]: 4: Hoare triple {9522#true} call #t~ret6 := main(); {9522#true} is VALID [2022-04-28 10:47:09,128 INFO L290 TraceCheckUtils]: 5: Hoare triple {9522#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9522#true} is VALID [2022-04-28 10:47:09,129 INFO L272 TraceCheckUtils]: 6: Hoare triple {9522#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9522#true} is VALID [2022-04-28 10:47:09,129 INFO L290 TraceCheckUtils]: 7: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:09,129 INFO L290 TraceCheckUtils]: 8: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:09,129 INFO L290 TraceCheckUtils]: 9: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:09,129 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9522#true} {9522#true} #63#return; {9522#true} is VALID [2022-04-28 10:47:09,129 INFO L272 TraceCheckUtils]: 11: Hoare triple {9522#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9522#true} is VALID [2022-04-28 10:47:09,129 INFO L290 TraceCheckUtils]: 12: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:09,129 INFO L290 TraceCheckUtils]: 13: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:09,129 INFO L290 TraceCheckUtils]: 14: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:09,129 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9522#true} {9522#true} #65#return; {9522#true} is VALID [2022-04-28 10:47:09,130 INFO L290 TraceCheckUtils]: 16: Hoare triple {9522#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9575#(and (= main_~r~0 0) (= 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 10:47:09,130 INFO L290 TraceCheckUtils]: 17: Hoare triple {9575#(and (= main_~r~0 0) (= 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; {9575#(and (= main_~r~0 0) (= 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 10:47:09,130 INFO L272 TraceCheckUtils]: 18: Hoare triple {9575#(and (= main_~r~0 0) (= 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)); {9522#true} is VALID [2022-04-28 10:47:09,130 INFO L290 TraceCheckUtils]: 19: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:09,130 INFO L290 TraceCheckUtils]: 20: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:09,131 INFO L290 TraceCheckUtils]: 21: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:09,131 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9522#true} {9575#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {9575#(and (= main_~r~0 0) (= 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 10:47:09,131 INFO L272 TraceCheckUtils]: 23: Hoare triple {9575#(and (= main_~r~0 0) (= 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)); {9522#true} is VALID [2022-04-28 10:47:09,131 INFO L290 TraceCheckUtils]: 24: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:09,132 INFO L290 TraceCheckUtils]: 25: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:09,132 INFO L290 TraceCheckUtils]: 26: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:09,132 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9522#true} {9575#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {9575#(and (= main_~r~0 0) (= 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 10:47:09,132 INFO L272 TraceCheckUtils]: 28: Hoare triple {9575#(and (= main_~r~0 0) (= 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)); {9522#true} is VALID [2022-04-28 10:47:09,133 INFO L290 TraceCheckUtils]: 29: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:09,133 INFO L290 TraceCheckUtils]: 30: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:09,133 INFO L290 TraceCheckUtils]: 31: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:09,133 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9522#true} {9575#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {9575#(and (= main_~r~0 0) (= 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 10:47:09,134 INFO L290 TraceCheckUtils]: 33: Hoare triple {9575#(and (= main_~r~0 0) (= 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); {9575#(and (= main_~r~0 0) (= 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 10:47:09,135 INFO L290 TraceCheckUtils]: 34: Hoare triple {9575#(and (= main_~r~0 0) (= 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; {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:47:09,135 INFO L290 TraceCheckUtils]: 35: Hoare triple {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:47:09,135 INFO L272 TraceCheckUtils]: 36: Hoare triple {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 10:47:09,135 INFO L290 TraceCheckUtils]: 37: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:09,135 INFO L290 TraceCheckUtils]: 38: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:09,135 INFO L290 TraceCheckUtils]: 39: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:09,136 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {9522#true} {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #67#return; {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:47:09,136 INFO L272 TraceCheckUtils]: 41: Hoare triple {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 10:47:09,137 INFO L290 TraceCheckUtils]: 42: Hoare triple {9522#true} ~cond := #in~cond; {9655#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:47:09,137 INFO L290 TraceCheckUtils]: 43: Hoare triple {9655#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:47:09,137 INFO L290 TraceCheckUtils]: 44: Hoare triple {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:47:09,138 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #69#return; {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:47:09,138 INFO L272 TraceCheckUtils]: 46: Hoare triple {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 10:47:09,138 INFO L290 TraceCheckUtils]: 47: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:09,138 INFO L290 TraceCheckUtils]: 48: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:09,138 INFO L290 TraceCheckUtils]: 49: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:09,139 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9522#true} {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #71#return; {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:47:09,140 INFO L290 TraceCheckUtils]: 51: Hoare triple {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:47:09,141 INFO L290 TraceCheckUtils]: 52: Hoare triple {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} is VALID [2022-04-28 10:47:09,141 INFO L290 TraceCheckUtils]: 53: Hoare triple {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} assume !false; {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} is VALID [2022-04-28 10:47:09,141 INFO L272 TraceCheckUtils]: 54: Hoare triple {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 10:47:09,141 INFO L290 TraceCheckUtils]: 55: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:09,142 INFO L290 TraceCheckUtils]: 56: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:09,142 INFO L290 TraceCheckUtils]: 57: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:09,142 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {9522#true} {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} #67#return; {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} is VALID [2022-04-28 10:47:09,142 INFO L272 TraceCheckUtils]: 59: Hoare triple {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 10:47:09,143 INFO L290 TraceCheckUtils]: 60: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:09,143 INFO L290 TraceCheckUtils]: 61: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:09,143 INFO L290 TraceCheckUtils]: 62: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:09,143 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {9522#true} {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} #69#return; {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} is VALID [2022-04-28 10:47:09,144 INFO L272 TraceCheckUtils]: 64: Hoare triple {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9724#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:47:09,145 INFO L290 TraceCheckUtils]: 65: Hoare triple {9724#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9728#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:47:09,145 INFO L290 TraceCheckUtils]: 66: Hoare triple {9728#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9523#false} is VALID [2022-04-28 10:47:09,145 INFO L290 TraceCheckUtils]: 67: Hoare triple {9523#false} assume !false; {9523#false} is VALID [2022-04-28 10:47:09,145 INFO L134 CoverageAnalysis]: Checked inductivity of 146 backedges. 27 proven. 24 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-28 10:47:09,146 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:47:26,148 INFO L290 TraceCheckUtils]: 67: Hoare triple {9523#false} assume !false; {9523#false} is VALID [2022-04-28 10:47:26,148 INFO L290 TraceCheckUtils]: 66: Hoare triple {9728#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9523#false} is VALID [2022-04-28 10:47:26,149 INFO L290 TraceCheckUtils]: 65: Hoare triple {9724#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9728#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:47:26,149 INFO L272 TraceCheckUtils]: 64: Hoare triple {9744#(= 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)); {9724#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:47:26,150 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {9522#true} {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #69#return; {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:47:26,150 INFO L290 TraceCheckUtils]: 62: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:26,150 INFO L290 TraceCheckUtils]: 61: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:26,150 INFO L290 TraceCheckUtils]: 60: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:26,150 INFO L272 TraceCheckUtils]: 59: Hoare triple {9744#(= 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)); {9522#true} is VALID [2022-04-28 10:47:26,151 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {9522#true} {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #67#return; {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:47:26,151 INFO L290 TraceCheckUtils]: 57: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:26,151 INFO L290 TraceCheckUtils]: 56: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:26,151 INFO L290 TraceCheckUtils]: 55: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:26,151 INFO L272 TraceCheckUtils]: 54: Hoare triple {9744#(= 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)); {9522#true} is VALID [2022-04-28 10:47:26,151 INFO L290 TraceCheckUtils]: 53: Hoare triple {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:47:26,297 INFO L290 TraceCheckUtils]: 52: Hoare triple {9781#(= (+ (* (+ 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; {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:47:26,298 INFO L290 TraceCheckUtils]: 51: Hoare triple {9781#(= (+ (* (+ 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); {9781#(= (+ (* (+ 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 10:47:26,299 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9522#true} {9781#(= (+ (* (+ 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))} #71#return; {9781#(= (+ (* (+ 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 10:47:26,299 INFO L290 TraceCheckUtils]: 49: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:26,299 INFO L290 TraceCheckUtils]: 48: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:26,299 INFO L290 TraceCheckUtils]: 47: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:26,299 INFO L272 TraceCheckUtils]: 46: Hoare triple {9781#(= (+ (* (+ 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)); {9522#true} is VALID [2022-04-28 10:47:26,300 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #69#return; {9781#(= (+ (* (+ 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 10:47:26,300 INFO L290 TraceCheckUtils]: 44: Hoare triple {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:47:26,300 INFO L290 TraceCheckUtils]: 43: Hoare triple {9813#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:47:26,301 INFO L290 TraceCheckUtils]: 42: Hoare triple {9522#true} ~cond := #in~cond; {9813#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:47:26,301 INFO L272 TraceCheckUtils]: 41: Hoare triple {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 10:47:26,301 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {9522#true} {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #67#return; {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 10:47:26,301 INFO L290 TraceCheckUtils]: 39: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:26,301 INFO L290 TraceCheckUtils]: 38: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:26,302 INFO L290 TraceCheckUtils]: 37: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:26,302 INFO L272 TraceCheckUtils]: 36: Hoare triple {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 10:47:26,302 INFO L290 TraceCheckUtils]: 35: Hoare triple {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !false; {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 10:47:27,373 INFO L290 TraceCheckUtils]: 34: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 10:47:27,373 INFO L290 TraceCheckUtils]: 33: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(~a~0 != ~b~0); {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 10:47:27,374 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9522#true} {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #71#return; {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 10:47:27,374 INFO L290 TraceCheckUtils]: 31: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:27,374 INFO L290 TraceCheckUtils]: 30: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:27,374 INFO L290 TraceCheckUtils]: 29: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:27,374 INFO L272 TraceCheckUtils]: 28: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 10:47:27,375 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9522#true} {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #69#return; {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 10:47:27,375 INFO L290 TraceCheckUtils]: 26: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:27,375 INFO L290 TraceCheckUtils]: 25: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:27,375 INFO L290 TraceCheckUtils]: 24: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:27,375 INFO L272 TraceCheckUtils]: 23: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 10:47:27,376 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9522#true} {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #67#return; {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 10:47:27,376 INFO L290 TraceCheckUtils]: 21: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:27,376 INFO L290 TraceCheckUtils]: 20: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:27,376 INFO L290 TraceCheckUtils]: 19: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:27,376 INFO L272 TraceCheckUtils]: 18: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 10:47:27,377 INFO L290 TraceCheckUtils]: 17: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !false; {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 10:47:27,378 INFO L290 TraceCheckUtils]: 16: Hoare triple {9522#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 10:47:27,378 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9522#true} {9522#true} #65#return; {9522#true} is VALID [2022-04-28 10:47:27,378 INFO L290 TraceCheckUtils]: 14: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:27,378 INFO L290 TraceCheckUtils]: 13: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:27,378 INFO L290 TraceCheckUtils]: 12: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:27,378 INFO L272 TraceCheckUtils]: 11: Hoare triple {9522#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9522#true} is VALID [2022-04-28 10:47:27,378 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9522#true} {9522#true} #63#return; {9522#true} is VALID [2022-04-28 10:47:27,378 INFO L290 TraceCheckUtils]: 9: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:27,379 INFO L290 TraceCheckUtils]: 8: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 10:47:27,379 INFO L290 TraceCheckUtils]: 7: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 10:47:27,379 INFO L272 TraceCheckUtils]: 6: Hoare triple {9522#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9522#true} is VALID [2022-04-28 10:47:27,379 INFO L290 TraceCheckUtils]: 5: Hoare triple {9522#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9522#true} is VALID [2022-04-28 10:47:27,379 INFO L272 TraceCheckUtils]: 4: Hoare triple {9522#true} call #t~ret6 := main(); {9522#true} is VALID [2022-04-28 10:47:27,379 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9522#true} {9522#true} #81#return; {9522#true} is VALID [2022-04-28 10:47:27,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 10:47:27,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {9522#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); {9522#true} is VALID [2022-04-28 10:47:27,379 INFO L272 TraceCheckUtils]: 0: Hoare triple {9522#true} call ULTIMATE.init(); {9522#true} is VALID [2022-04-28 10:47:27,380 INFO L134 CoverageAnalysis]: Checked inductivity of 146 backedges. 34 proven. 17 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-28 10:47:27,380 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:47:27,380 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [753274366] [2022-04-28 10:47:27,380 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:47:27,380 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1415225777] [2022-04-28 10:47:27,380 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1415225777] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:47:27,380 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:47:27,380 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-28 10:47:27,381 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:47:27,381 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [180766697] [2022-04-28 10:47:27,381 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [180766697] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:47:27,381 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:47:27,381 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 10:47:27,381 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [547387639] [2022-04-28 10:47:27,381 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:47:27,382 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 68 [2022-04-28 10:47:27,382 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:47:27,382 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 10:47:27,434 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 10:47:27,434 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 10:47:27,434 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:27,435 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 10:47:27,435 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-28 10:47:27,435 INFO L87 Difference]: Start difference. First operand 169 states and 200 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 10:47:28,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:28,307 INFO L93 Difference]: Finished difference Result 191 states and 234 transitions. [2022-04-28 10:47:28,308 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 10:47:28,308 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 68 [2022-04-28 10:47:28,308 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:47:28,308 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 10:47:28,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-28 10:47:28,310 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 10:47:28,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-28 10:47:28,311 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 80 transitions. [2022-04-28 10:47:28,411 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:47:28,415 INFO L225 Difference]: With dead ends: 191 [2022-04-28 10:47:28,415 INFO L226 Difference]: Without dead ends: 185 [2022-04-28 10:47:28,415 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 121 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2022-04-28 10:47:28,416 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 15 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 291 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 306 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 291 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 10:47:28,416 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 133 Invalid, 306 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 291 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 10:47:28,416 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states. [2022-04-28 10:47:28,560 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 172. [2022-04-28 10:47:28,560 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:47:28,560 INFO L82 GeneralOperation]: Start isEquivalent. First operand 185 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 10:47:28,560 INFO L74 IsIncluded]: Start isIncluded. First operand 185 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 10:47:28,561 INFO L87 Difference]: Start difference. First operand 185 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 10:47:28,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:28,564 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-28 10:47:28,564 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 223 transitions. [2022-04-28 10:47:28,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:28,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:28,565 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) Second operand 185 states. [2022-04-28 10:47:28,565 INFO L87 Difference]: Start difference. First operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) Second operand 185 states. [2022-04-28 10:47:28,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:28,569 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-28 10:47:28,569 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 223 transitions. [2022-04-28 10:47:28,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:28,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:28,569 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:47:28,570 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:47:28,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 10:47:28,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 205 transitions. [2022-04-28 10:47:28,574 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 205 transitions. Word has length 68 [2022-04-28 10:47:28,574 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:47:28,574 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 205 transitions. [2022-04-28 10:47:28,575 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 10:47:28,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 205 transitions. [2022-04-28 10:47:28,862 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:47:28,862 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 205 transitions. [2022-04-28 10:47:28,863 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 10:47:28,863 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:47:28,863 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:47:28,879 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 10:47:29,063 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 10:47:29,063 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:47:29,064 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:47:29,064 INFO L85 PathProgramCache]: Analyzing trace with hash -860063341, now seen corresponding path program 3 times [2022-04-28 10:47:29,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:29,064 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [40695855] [2022-04-28 10:47:29,064 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:47:29,065 INFO L85 PathProgramCache]: Analyzing trace with hash -860063341, now seen corresponding path program 4 times [2022-04-28 10:47:29,065 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:47:29,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [606956588] [2022-04-28 10:47:29,065 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:47:29,065 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:47:29,078 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:47:29,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [990101210] [2022-04-28 10:47:29,079 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:47:29,079 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:47:29,079 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:47:29,080 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 10:47:29,081 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 10:47:29,123 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:47:29,123 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:47:29,124 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 10:47:29,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:47:29,140 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:47:29,613 INFO L272 TraceCheckUtils]: 0: Hoare triple {11043#true} call ULTIMATE.init(); {11043#true} is VALID [2022-04-28 10:47:29,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {11043#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); {11043#true} is VALID [2022-04-28 10:47:29,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:29,613 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11043#true} {11043#true} #81#return; {11043#true} is VALID [2022-04-28 10:47:29,613 INFO L272 TraceCheckUtils]: 4: Hoare triple {11043#true} call #t~ret6 := main(); {11043#true} is VALID [2022-04-28 10:47:29,613 INFO L290 TraceCheckUtils]: 5: Hoare triple {11043#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11043#true} is VALID [2022-04-28 10:47:29,613 INFO L272 TraceCheckUtils]: 6: Hoare triple {11043#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11043#true} is VALID [2022-04-28 10:47:29,614 INFO L290 TraceCheckUtils]: 7: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:29,614 INFO L290 TraceCheckUtils]: 8: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:29,614 INFO L290 TraceCheckUtils]: 9: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:29,614 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11043#true} {11043#true} #63#return; {11043#true} is VALID [2022-04-28 10:47:29,614 INFO L272 TraceCheckUtils]: 11: Hoare triple {11043#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11043#true} is VALID [2022-04-28 10:47:29,614 INFO L290 TraceCheckUtils]: 12: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:29,614 INFO L290 TraceCheckUtils]: 13: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:29,614 INFO L290 TraceCheckUtils]: 14: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:29,614 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11043#true} {11043#true} #65#return; {11043#true} is VALID [2022-04-28 10:47:29,615 INFO L290 TraceCheckUtils]: 16: Hoare triple {11043#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11096#(and (= main_~r~0 0) (= 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 10:47:29,615 INFO L290 TraceCheckUtils]: 17: Hoare triple {11096#(and (= main_~r~0 0) (= 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; {11096#(and (= main_~r~0 0) (= 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 10:47:29,615 INFO L272 TraceCheckUtils]: 18: Hoare triple {11096#(and (= main_~r~0 0) (= 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)); {11043#true} is VALID [2022-04-28 10:47:29,615 INFO L290 TraceCheckUtils]: 19: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:29,615 INFO L290 TraceCheckUtils]: 20: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:29,615 INFO L290 TraceCheckUtils]: 21: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:29,616 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11043#true} {11096#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {11096#(and (= main_~r~0 0) (= 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 10:47:29,616 INFO L272 TraceCheckUtils]: 23: Hoare triple {11096#(and (= main_~r~0 0) (= 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)); {11043#true} is VALID [2022-04-28 10:47:29,616 INFO L290 TraceCheckUtils]: 24: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:29,616 INFO L290 TraceCheckUtils]: 25: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:29,617 INFO L290 TraceCheckUtils]: 26: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:29,617 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {11043#true} {11096#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {11096#(and (= main_~r~0 0) (= 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 10:47:29,617 INFO L272 TraceCheckUtils]: 28: Hoare triple {11096#(and (= main_~r~0 0) (= 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)); {11043#true} is VALID [2022-04-28 10:47:29,618 INFO L290 TraceCheckUtils]: 29: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:29,618 INFO L290 TraceCheckUtils]: 30: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:29,618 INFO L290 TraceCheckUtils]: 31: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:29,619 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11043#true} {11096#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {11096#(and (= main_~r~0 0) (= 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 10:47:29,619 INFO L290 TraceCheckUtils]: 33: Hoare triple {11096#(and (= main_~r~0 0) (= 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); {11096#(and (= main_~r~0 0) (= 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 10:47:29,620 INFO L290 TraceCheckUtils]: 34: Hoare triple {11096#(and (= main_~r~0 0) (= 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; {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:29,620 INFO L290 TraceCheckUtils]: 35: Hoare triple {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:29,620 INFO L272 TraceCheckUtils]: 36: Hoare triple {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11043#true} is VALID [2022-04-28 10:47:29,620 INFO L290 TraceCheckUtils]: 37: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:29,620 INFO L290 TraceCheckUtils]: 38: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:29,621 INFO L290 TraceCheckUtils]: 39: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:29,621 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {11043#true} {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #67#return; {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:29,621 INFO L272 TraceCheckUtils]: 41: Hoare triple {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11043#true} is VALID [2022-04-28 10:47:29,621 INFO L290 TraceCheckUtils]: 42: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:29,622 INFO L290 TraceCheckUtils]: 43: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:29,622 INFO L290 TraceCheckUtils]: 44: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:29,622 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11043#true} {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #69#return; {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:29,622 INFO L272 TraceCheckUtils]: 46: Hoare triple {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11043#true} is VALID [2022-04-28 10:47:29,623 INFO L290 TraceCheckUtils]: 47: Hoare triple {11043#true} ~cond := #in~cond; {11191#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:47:29,623 INFO L290 TraceCheckUtils]: 48: Hoare triple {11191#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:47:29,624 INFO L290 TraceCheckUtils]: 49: Hoare triple {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:47:29,624 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #71#return; {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:29,625 INFO L290 TraceCheckUtils]: 51: Hoare triple {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:29,626 INFO L290 TraceCheckUtils]: 52: Hoare triple {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 10:47:29,626 INFO L290 TraceCheckUtils]: 53: Hoare triple {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} assume !false; {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 10:47:29,627 INFO L272 TraceCheckUtils]: 54: Hoare triple {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11043#true} is VALID [2022-04-28 10:47:29,627 INFO L290 TraceCheckUtils]: 55: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:29,627 INFO L290 TraceCheckUtils]: 56: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:29,627 INFO L290 TraceCheckUtils]: 57: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:29,627 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {11043#true} {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} #67#return; {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 10:47:29,628 INFO L272 TraceCheckUtils]: 59: Hoare triple {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11043#true} is VALID [2022-04-28 10:47:29,628 INFO L290 TraceCheckUtils]: 60: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:29,628 INFO L290 TraceCheckUtils]: 61: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:29,628 INFO L290 TraceCheckUtils]: 62: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:29,629 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {11043#true} {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} #69#return; {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 10:47:29,629 INFO L272 TraceCheckUtils]: 64: Hoare triple {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11245#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:47:29,630 INFO L290 TraceCheckUtils]: 65: Hoare triple {11245#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11249#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:47:29,630 INFO L290 TraceCheckUtils]: 66: Hoare triple {11249#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11044#false} is VALID [2022-04-28 10:47:29,630 INFO L290 TraceCheckUtils]: 67: Hoare triple {11044#false} assume !false; {11044#false} is VALID [2022-04-28 10:47:29,631 INFO L134 CoverageAnalysis]: Checked inductivity of 146 backedges. 30 proven. 21 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-28 10:47:29,631 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:47:45,815 INFO L290 TraceCheckUtils]: 67: Hoare triple {11044#false} assume !false; {11044#false} is VALID [2022-04-28 10:47:45,815 INFO L290 TraceCheckUtils]: 66: Hoare triple {11249#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11044#false} is VALID [2022-04-28 10:47:45,816 INFO L290 TraceCheckUtils]: 65: Hoare triple {11245#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11249#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:47:45,816 INFO L272 TraceCheckUtils]: 64: Hoare triple {11265#(= 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)); {11245#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:47:45,817 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {11043#true} {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #69#return; {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:47:45,817 INFO L290 TraceCheckUtils]: 62: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:45,817 INFO L290 TraceCheckUtils]: 61: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:45,817 INFO L290 TraceCheckUtils]: 60: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:45,817 INFO L272 TraceCheckUtils]: 59: Hoare triple {11265#(= 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)); {11043#true} is VALID [2022-04-28 10:47:45,818 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {11043#true} {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #67#return; {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:47:45,818 INFO L290 TraceCheckUtils]: 57: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:45,818 INFO L290 TraceCheckUtils]: 56: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:45,818 INFO L290 TraceCheckUtils]: 55: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:45,818 INFO L272 TraceCheckUtils]: 54: Hoare triple {11265#(= 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)); {11043#true} is VALID [2022-04-28 10:47:45,818 INFO L290 TraceCheckUtils]: 53: Hoare triple {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:47:46,780 INFO L290 TraceCheckUtils]: 52: Hoare triple {11302#(= (+ (* (+ 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; {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:47:46,781 INFO L290 TraceCheckUtils]: 51: Hoare triple {11302#(= (+ (* (+ 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); {11302#(= (+ (* (+ 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 10:47:46,782 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} {11309#(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)))} #71#return; {11302#(= (+ (* (+ 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 10:47:46,782 INFO L290 TraceCheckUtils]: 49: Hoare triple {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:47:46,782 INFO L290 TraceCheckUtils]: 48: Hoare triple {11319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:47:46,783 INFO L290 TraceCheckUtils]: 47: Hoare triple {11043#true} ~cond := #in~cond; {11319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:47:46,783 INFO L272 TraceCheckUtils]: 46: Hoare triple {11309#(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)); {11043#true} is VALID [2022-04-28 10:47:46,783 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11043#true} {11309#(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)))} #69#return; {11309#(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 10:47:46,783 INFO L290 TraceCheckUtils]: 44: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:46,783 INFO L290 TraceCheckUtils]: 43: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:46,784 INFO L290 TraceCheckUtils]: 42: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:46,784 INFO L272 TraceCheckUtils]: 41: Hoare triple {11309#(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)); {11043#true} is VALID [2022-04-28 10:47:46,784 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {11043#true} {11309#(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)))} #67#return; {11309#(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 10:47:46,784 INFO L290 TraceCheckUtils]: 39: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:46,784 INFO L290 TraceCheckUtils]: 38: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:46,784 INFO L290 TraceCheckUtils]: 37: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:46,784 INFO L272 TraceCheckUtils]: 36: Hoare triple {11309#(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)); {11043#true} is VALID [2022-04-28 10:47:46,785 INFO L290 TraceCheckUtils]: 35: Hoare triple {11309#(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; {11309#(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 10:47:46,953 INFO L290 TraceCheckUtils]: 34: Hoare triple {11359#(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; {11309#(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 10:47:46,954 INFO L290 TraceCheckUtils]: 33: Hoare triple {11359#(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); {11359#(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 10:47:46,955 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11043#true} {11359#(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))))} #71#return; {11359#(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 10:47:46,955 INFO L290 TraceCheckUtils]: 31: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:46,955 INFO L290 TraceCheckUtils]: 30: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:46,955 INFO L290 TraceCheckUtils]: 29: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:46,955 INFO L272 TraceCheckUtils]: 28: Hoare triple {11359#(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)); {11043#true} is VALID [2022-04-28 10:47:46,955 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {11043#true} {11359#(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))))} #69#return; {11359#(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 10:47:46,956 INFO L290 TraceCheckUtils]: 26: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:46,956 INFO L290 TraceCheckUtils]: 25: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:46,956 INFO L290 TraceCheckUtils]: 24: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:46,956 INFO L272 TraceCheckUtils]: 23: Hoare triple {11359#(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)); {11043#true} is VALID [2022-04-28 10:47:46,956 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11043#true} {11359#(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))))} #67#return; {11359#(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 10:47:46,956 INFO L290 TraceCheckUtils]: 21: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:46,956 INFO L290 TraceCheckUtils]: 20: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:46,957 INFO L290 TraceCheckUtils]: 19: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:46,957 INFO L272 TraceCheckUtils]: 18: Hoare triple {11359#(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)); {11043#true} is VALID [2022-04-28 10:47:46,957 INFO L290 TraceCheckUtils]: 17: Hoare triple {11359#(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; {11359#(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 10:47:46,958 INFO L290 TraceCheckUtils]: 16: Hoare triple {11043#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11359#(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 10:47:46,958 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11043#true} {11043#true} #65#return; {11043#true} is VALID [2022-04-28 10:47:46,958 INFO L290 TraceCheckUtils]: 14: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:46,958 INFO L290 TraceCheckUtils]: 13: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:46,958 INFO L290 TraceCheckUtils]: 12: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:46,958 INFO L272 TraceCheckUtils]: 11: Hoare triple {11043#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11043#true} is VALID [2022-04-28 10:47:46,958 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11043#true} {11043#true} #63#return; {11043#true} is VALID [2022-04-28 10:47:46,958 INFO L290 TraceCheckUtils]: 9: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:46,958 INFO L290 TraceCheckUtils]: 8: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 10:47:46,958 INFO L290 TraceCheckUtils]: 7: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 10:47:46,958 INFO L272 TraceCheckUtils]: 6: Hoare triple {11043#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11043#true} is VALID [2022-04-28 10:47:46,958 INFO L290 TraceCheckUtils]: 5: Hoare triple {11043#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11043#true} is VALID [2022-04-28 10:47:46,958 INFO L272 TraceCheckUtils]: 4: Hoare triple {11043#true} call #t~ret6 := main(); {11043#true} is VALID [2022-04-28 10:47:46,958 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11043#true} {11043#true} #81#return; {11043#true} is VALID [2022-04-28 10:47:46,958 INFO L290 TraceCheckUtils]: 2: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 10:47:46,958 INFO L290 TraceCheckUtils]: 1: Hoare triple {11043#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); {11043#true} is VALID [2022-04-28 10:47:46,958 INFO L272 TraceCheckUtils]: 0: Hoare triple {11043#true} call ULTIMATE.init(); {11043#true} is VALID [2022-04-28 10:47:46,959 INFO L134 CoverageAnalysis]: Checked inductivity of 146 backedges. 34 proven. 17 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-28 10:47:46,959 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:47:46,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [606956588] [2022-04-28 10:47:46,959 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:47:46,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [990101210] [2022-04-28 10:47:46,959 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [990101210] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:47:46,959 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:47:46,959 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-28 10:47:46,959 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:47:46,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [40695855] [2022-04-28 10:47:46,959 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [40695855] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:47:46,959 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:47:46,960 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 10:47:46,960 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1431616481] [2022-04-28 10:47:46,960 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:47:46,960 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 68 [2022-04-28 10:47:46,960 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:47:46,960 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 10:47:47,001 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 10:47:47,001 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 10:47:47,001 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:47,002 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 10:47:47,002 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 10:47:47,002 INFO L87 Difference]: Start difference. First operand 172 states and 205 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 10:47:47,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:47,888 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-28 10:47:47,888 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 10:47:47,889 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 68 [2022-04-28 10:47:47,889 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:47:47,889 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 10:47:47,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-28 10:47:47,890 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 10:47:47,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-28 10:47:47,891 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 80 transitions. [2022-04-28 10:47:47,991 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:47:47,995 INFO L225 Difference]: With dead ends: 197 [2022-04-28 10:47:47,995 INFO L226 Difference]: Without dead ends: 188 [2022-04-28 10:47:47,996 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 121 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-28 10:47:47,996 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 15 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 283 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 283 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:47:47,996 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 130 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 283 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 10:47:47,997 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2022-04-28 10:47:48,166 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 188. [2022-04-28 10:47:48,166 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:47:48,167 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 10:47:48,168 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 10:47:48,168 INFO L87 Difference]: Start difference. First operand 188 states. Second operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 10:47:48,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:48,173 INFO L93 Difference]: Finished difference Result 188 states and 228 transitions. [2022-04-28 10:47:48,173 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 228 transitions. [2022-04-28 10:47:48,174 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:48,174 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:48,175 INFO L74 IsIncluded]: Start isIncluded. First operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) Second operand 188 states. [2022-04-28 10:47:48,175 INFO L87 Difference]: Start difference. First operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) Second operand 188 states. [2022-04-28 10:47:48,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:48,179 INFO L93 Difference]: Finished difference Result 188 states and 228 transitions. [2022-04-28 10:47:48,179 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 228 transitions. [2022-04-28 10:47:48,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:48,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:48,180 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:47:48,180 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:47:48,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 10:47:48,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 188 states to 188 states and 228 transitions. [2022-04-28 10:47:48,185 INFO L78 Accepts]: Start accepts. Automaton has 188 states and 228 transitions. Word has length 68 [2022-04-28 10:47:48,186 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:47:48,186 INFO L495 AbstractCegarLoop]: Abstraction has 188 states and 228 transitions. [2022-04-28 10:47:48,186 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 10:47:48,186 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 188 states and 228 transitions. [2022-04-28 10:47:48,598 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 228 edges. 228 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:47:48,598 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 228 transitions. [2022-04-28 10:47:48,599 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-28 10:47:48,599 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:47:48,599 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:47:48,616 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 10:47:48,799 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 10:47:48,800 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:47:48,800 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:47:48,800 INFO L85 PathProgramCache]: Analyzing trace with hash -35686306, now seen corresponding path program 7 times [2022-04-28 10:47:48,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:48,800 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1931952756] [2022-04-28 10:47:48,801 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:47:48,801 INFO L85 PathProgramCache]: Analyzing trace with hash -35686306, now seen corresponding path program 8 times [2022-04-28 10:47:48,801 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:47:48,801 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [807967624] [2022-04-28 10:47:48,801 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:47:48,801 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:47:48,824 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:47:48,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2121130626] [2022-04-28 10:47:48,824 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:47:48,824 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:47:48,824 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:47:48,836 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 10:47:48,838 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 10:47:48,894 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:47:48,894 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:47:48,895 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 10:47:48,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:47:48,931 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:47:49,473 INFO L272 TraceCheckUtils]: 0: Hoare triple {12614#true} call ULTIMATE.init(); {12614#true} is VALID [2022-04-28 10:47:49,473 INFO L290 TraceCheckUtils]: 1: Hoare triple {12614#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); {12614#true} is VALID [2022-04-28 10:47:49,473 INFO L290 TraceCheckUtils]: 2: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:49,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12614#true} {12614#true} #81#return; {12614#true} is VALID [2022-04-28 10:47:49,473 INFO L272 TraceCheckUtils]: 4: Hoare triple {12614#true} call #t~ret6 := main(); {12614#true} is VALID [2022-04-28 10:47:49,473 INFO L290 TraceCheckUtils]: 5: Hoare triple {12614#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12614#true} is VALID [2022-04-28 10:47:49,473 INFO L272 TraceCheckUtils]: 6: Hoare triple {12614#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:49,473 INFO L290 TraceCheckUtils]: 7: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:49,474 INFO L290 TraceCheckUtils]: 8: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:49,474 INFO L290 TraceCheckUtils]: 9: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:49,474 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12614#true} {12614#true} #63#return; {12614#true} is VALID [2022-04-28 10:47:49,474 INFO L272 TraceCheckUtils]: 11: Hoare triple {12614#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:49,474 INFO L290 TraceCheckUtils]: 12: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:49,474 INFO L290 TraceCheckUtils]: 13: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:49,474 INFO L290 TraceCheckUtils]: 14: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:49,474 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12614#true} {12614#true} #65#return; {12614#true} is VALID [2022-04-28 10:47:49,474 INFO L290 TraceCheckUtils]: 16: Hoare triple {12614#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {12667#(and (= main_~r~0 0) (= 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 10:47:49,475 INFO L290 TraceCheckUtils]: 17: Hoare triple {12667#(and (= main_~r~0 0) (= 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; {12667#(and (= main_~r~0 0) (= 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 10:47:49,475 INFO L272 TraceCheckUtils]: 18: Hoare triple {12667#(and (= main_~r~0 0) (= 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)); {12614#true} is VALID [2022-04-28 10:47:49,475 INFO L290 TraceCheckUtils]: 19: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:49,475 INFO L290 TraceCheckUtils]: 20: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:49,475 INFO L290 TraceCheckUtils]: 21: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:49,476 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12614#true} {12667#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {12667#(and (= main_~r~0 0) (= 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 10:47:49,476 INFO L272 TraceCheckUtils]: 23: Hoare triple {12667#(and (= main_~r~0 0) (= 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)); {12614#true} is VALID [2022-04-28 10:47:49,476 INFO L290 TraceCheckUtils]: 24: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:49,476 INFO L290 TraceCheckUtils]: 25: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:49,476 INFO L290 TraceCheckUtils]: 26: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:49,476 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {12614#true} {12667#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {12667#(and (= main_~r~0 0) (= 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 10:47:49,477 INFO L272 TraceCheckUtils]: 28: Hoare triple {12667#(and (= main_~r~0 0) (= 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)); {12614#true} is VALID [2022-04-28 10:47:49,477 INFO L290 TraceCheckUtils]: 29: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:49,477 INFO L290 TraceCheckUtils]: 30: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:49,477 INFO L290 TraceCheckUtils]: 31: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:49,477 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12614#true} {12667#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {12667#(and (= main_~r~0 0) (= 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 10:47:49,478 INFO L290 TraceCheckUtils]: 33: Hoare triple {12667#(and (= main_~r~0 0) (= 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); {12667#(and (= main_~r~0 0) (= 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 10:47:49,478 INFO L290 TraceCheckUtils]: 34: Hoare triple {12667#(and (= main_~r~0 0) (= 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; {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 10:47:49,479 INFO L290 TraceCheckUtils]: 35: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !false; {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 10:47:49,479 INFO L272 TraceCheckUtils]: 36: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:49,479 INFO L290 TraceCheckUtils]: 37: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:49,479 INFO L290 TraceCheckUtils]: 38: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:49,479 INFO L290 TraceCheckUtils]: 39: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:49,479 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {12614#true} {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #67#return; {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 10:47:49,479 INFO L272 TraceCheckUtils]: 41: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:49,480 INFO L290 TraceCheckUtils]: 42: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:49,480 INFO L290 TraceCheckUtils]: 43: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:49,480 INFO L290 TraceCheckUtils]: 44: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:49,480 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12614#true} {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #69#return; {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 10:47:49,480 INFO L272 TraceCheckUtils]: 46: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:49,480 INFO L290 TraceCheckUtils]: 47: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:49,480 INFO L290 TraceCheckUtils]: 48: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:49,480 INFO L290 TraceCheckUtils]: 49: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:49,481 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12614#true} {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #71#return; {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 10:47:49,481 INFO L290 TraceCheckUtils]: 51: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 10:47:49,482 INFO L290 TraceCheckUtils]: 52: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~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; {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 10:47:49,483 INFO L290 TraceCheckUtils]: 53: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !false; {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 10:47:49,483 INFO L272 TraceCheckUtils]: 54: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:49,483 INFO L290 TraceCheckUtils]: 55: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:49,483 INFO L290 TraceCheckUtils]: 56: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:49,483 INFO L290 TraceCheckUtils]: 57: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:49,483 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {12614#true} {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #67#return; {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 10:47:49,484 INFO L272 TraceCheckUtils]: 59: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:49,484 INFO L290 TraceCheckUtils]: 60: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:49,484 INFO L290 TraceCheckUtils]: 61: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:49,484 INFO L290 TraceCheckUtils]: 62: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:49,484 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {12614#true} {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #69#return; {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 10:47:49,484 INFO L272 TraceCheckUtils]: 64: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:49,484 INFO L290 TraceCheckUtils]: 65: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:49,484 INFO L290 TraceCheckUtils]: 66: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:49,485 INFO L290 TraceCheckUtils]: 67: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:49,485 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12614#true} {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #71#return; {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 10:47:49,486 INFO L290 TraceCheckUtils]: 69: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 10:47:49,486 INFO L290 TraceCheckUtils]: 70: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) 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; {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:49,487 INFO L290 TraceCheckUtils]: 71: Hoare triple {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} assume !false; {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:49,487 INFO L272 TraceCheckUtils]: 72: Hoare triple {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:49,487 INFO L290 TraceCheckUtils]: 73: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:49,487 INFO L290 TraceCheckUtils]: 74: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:49,487 INFO L290 TraceCheckUtils]: 75: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:49,487 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {12614#true} {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} #67#return; {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 10:47:49,488 INFO L272 TraceCheckUtils]: 77: Hoare triple {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12854#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:47:49,488 INFO L290 TraceCheckUtils]: 78: Hoare triple {12854#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12858#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:47:49,489 INFO L290 TraceCheckUtils]: 79: Hoare triple {12858#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12615#false} is VALID [2022-04-28 10:47:49,489 INFO L290 TraceCheckUtils]: 80: Hoare triple {12615#false} assume !false; {12615#false} is VALID [2022-04-28 10:47:49,489 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 20 proven. 27 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 10:47:49,489 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:47:49,896 INFO L290 TraceCheckUtils]: 80: Hoare triple {12615#false} assume !false; {12615#false} is VALID [2022-04-28 10:47:49,896 INFO L290 TraceCheckUtils]: 79: Hoare triple {12858#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12615#false} is VALID [2022-04-28 10:47:49,897 INFO L290 TraceCheckUtils]: 78: Hoare triple {12854#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12858#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:47:49,897 INFO L272 TraceCheckUtils]: 77: Hoare triple {12874#(= 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)); {12854#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:47:49,898 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {12614#true} {12874#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {12874#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:47:49,898 INFO L290 TraceCheckUtils]: 75: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:49,898 INFO L290 TraceCheckUtils]: 74: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:49,898 INFO L290 TraceCheckUtils]: 73: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:49,898 INFO L272 TraceCheckUtils]: 72: Hoare triple {12874#(= 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)); {12614#true} is VALID [2022-04-28 10:47:49,898 INFO L290 TraceCheckUtils]: 71: Hoare triple {12874#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12874#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:47:50,032 INFO L290 TraceCheckUtils]: 70: Hoare triple {12896#(= (+ main_~a~0 (* (- 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; {12874#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:47:50,032 INFO L290 TraceCheckUtils]: 69: Hoare triple {12896#(= (+ main_~a~0 (* (- 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); {12896#(= (+ main_~a~0 (* (- 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 10:47:50,033 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12614#true} {12896#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #71#return; {12896#(= (+ main_~a~0 (* (- 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 10:47:50,033 INFO L290 TraceCheckUtils]: 67: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:50,033 INFO L290 TraceCheckUtils]: 66: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:50,033 INFO L290 TraceCheckUtils]: 65: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:50,033 INFO L272 TraceCheckUtils]: 64: Hoare triple {12896#(= (+ main_~a~0 (* (- 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)); {12614#true} is VALID [2022-04-28 10:47:50,034 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {12614#true} {12896#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #69#return; {12896#(= (+ main_~a~0 (* (- 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 10:47:50,034 INFO L290 TraceCheckUtils]: 62: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:50,034 INFO L290 TraceCheckUtils]: 61: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:50,034 INFO L290 TraceCheckUtils]: 60: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:50,034 INFO L272 TraceCheckUtils]: 59: Hoare triple {12896#(= (+ main_~a~0 (* (- 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)); {12614#true} is VALID [2022-04-28 10:47:50,034 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {12614#true} {12896#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #67#return; {12896#(= (+ main_~a~0 (* (- 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 10:47:50,035 INFO L290 TraceCheckUtils]: 57: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:50,035 INFO L290 TraceCheckUtils]: 56: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:50,035 INFO L290 TraceCheckUtils]: 55: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:50,035 INFO L272 TraceCheckUtils]: 54: Hoare triple {12896#(= (+ main_~a~0 (* (- 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)); {12614#true} is VALID [2022-04-28 10:47:50,035 INFO L290 TraceCheckUtils]: 53: Hoare triple {12896#(= (+ main_~a~0 (* (- 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; {12896#(= (+ main_~a~0 (* (- 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 10:47:50,112 INFO L290 TraceCheckUtils]: 52: Hoare triple {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12896#(= (+ main_~a~0 (* (- 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 10:47:50,113 INFO L290 TraceCheckUtils]: 51: Hoare triple {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(~a~0 != ~b~0); {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 10:47:50,113 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12614#true} {12951#(= (+ (* 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))} #71#return; {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 10:47:50,113 INFO L290 TraceCheckUtils]: 49: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:50,114 INFO L290 TraceCheckUtils]: 48: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:50,114 INFO L290 TraceCheckUtils]: 47: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:50,114 INFO L272 TraceCheckUtils]: 46: Hoare triple {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:50,114 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12614#true} {12951#(= (+ (* 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))} #69#return; {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 10:47:50,114 INFO L290 TraceCheckUtils]: 44: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:50,114 INFO L290 TraceCheckUtils]: 43: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:50,114 INFO L290 TraceCheckUtils]: 42: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:50,114 INFO L272 TraceCheckUtils]: 41: Hoare triple {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:50,115 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {12614#true} {12951#(= (+ (* 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))} #67#return; {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 10:47:50,115 INFO L290 TraceCheckUtils]: 39: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:50,115 INFO L290 TraceCheckUtils]: 38: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:50,115 INFO L290 TraceCheckUtils]: 37: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:50,115 INFO L272 TraceCheckUtils]: 36: Hoare triple {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:50,116 INFO L290 TraceCheckUtils]: 35: Hoare triple {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !false; {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 10:47:50,540 INFO L290 TraceCheckUtils]: 34: Hoare triple {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 10:47:50,541 INFO L290 TraceCheckUtils]: 33: Hoare triple {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !!(~a~0 != ~b~0); {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 10:47:50,541 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12614#true} {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #71#return; {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 10:47:50,541 INFO L290 TraceCheckUtils]: 31: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:50,541 INFO L290 TraceCheckUtils]: 30: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:50,542 INFO L290 TraceCheckUtils]: 29: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:50,542 INFO L272 TraceCheckUtils]: 28: Hoare triple {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:50,542 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {12614#true} {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #69#return; {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 10:47:50,542 INFO L290 TraceCheckUtils]: 26: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:50,542 INFO L290 TraceCheckUtils]: 25: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:50,542 INFO L290 TraceCheckUtils]: 24: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:50,542 INFO L272 TraceCheckUtils]: 23: Hoare triple {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:50,543 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12614#true} {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #67#return; {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 10:47:50,543 INFO L290 TraceCheckUtils]: 21: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:50,543 INFO L290 TraceCheckUtils]: 20: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:50,543 INFO L290 TraceCheckUtils]: 19: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:50,543 INFO L272 TraceCheckUtils]: 18: Hoare triple {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:50,544 INFO L290 TraceCheckUtils]: 17: Hoare triple {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !false; {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 10:47:50,544 INFO L290 TraceCheckUtils]: 16: Hoare triple {12614#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 10:47:50,544 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12614#true} {12614#true} #65#return; {12614#true} is VALID [2022-04-28 10:47:50,544 INFO L290 TraceCheckUtils]: 14: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:50,544 INFO L290 TraceCheckUtils]: 13: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:50,545 INFO L290 TraceCheckUtils]: 12: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:50,545 INFO L272 TraceCheckUtils]: 11: Hoare triple {12614#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:50,545 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12614#true} {12614#true} #63#return; {12614#true} is VALID [2022-04-28 10:47:50,545 INFO L290 TraceCheckUtils]: 9: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:50,545 INFO L290 TraceCheckUtils]: 8: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 10:47:50,545 INFO L290 TraceCheckUtils]: 7: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 10:47:50,545 INFO L272 TraceCheckUtils]: 6: Hoare triple {12614#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12614#true} is VALID [2022-04-28 10:47:50,545 INFO L290 TraceCheckUtils]: 5: Hoare triple {12614#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12614#true} is VALID [2022-04-28 10:47:50,545 INFO L272 TraceCheckUtils]: 4: Hoare triple {12614#true} call #t~ret6 := main(); {12614#true} is VALID [2022-04-28 10:47:50,545 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12614#true} {12614#true} #81#return; {12614#true} is VALID [2022-04-28 10:47:50,545 INFO L290 TraceCheckUtils]: 2: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 10:47:50,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {12614#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); {12614#true} is VALID [2022-04-28 10:47:50,545 INFO L272 TraceCheckUtils]: 0: Hoare triple {12614#true} call ULTIMATE.init(); {12614#true} is VALID [2022-04-28 10:47:50,546 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 20 proven. 27 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 10:47:50,546 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:47:50,546 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [807967624] [2022-04-28 10:47:50,546 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:47:50,546 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2121130626] [2022-04-28 10:47:50,546 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2121130626] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:47:50,546 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:47:50,546 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-28 10:47:50,547 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:47:50,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1931952756] [2022-04-28 10:47:50,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1931952756] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:47:50,547 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:47:50,547 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 10:47:50,547 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [452710880] [2022-04-28 10:47:50,547 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:47:50,547 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 81 [2022-04-28 10:47:50,548 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:47:50,548 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 10:47:50,594 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:47:50,595 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 10:47:50,595 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:50,595 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 10:47:50,595 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-28 10:47:50,595 INFO L87 Difference]: Start difference. First operand 188 states and 228 transitions. Second operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 10:47:51,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:51,687 INFO L93 Difference]: Finished difference Result 222 states and 270 transitions. [2022-04-28 10:47:51,687 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 10:47:51,687 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 81 [2022-04-28 10:47:51,687 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:47:51,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 10:47:51,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-28 10:47:51,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 10:47:51,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-28 10:47:51,690 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 90 transitions. [2022-04-28 10:47:51,786 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:47:51,791 INFO L225 Difference]: With dead ends: 222 [2022-04-28 10:47:51,791 INFO L226 Difference]: Without dead ends: 220 [2022-04-28 10:47:51,791 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 150 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-04-28 10:47:51,792 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 8 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 276 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 200 SdHoareTripleChecker+Invalid, 285 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 276 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:47:51,792 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 200 Invalid, 285 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 276 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 10:47:51,792 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 220 states. [2022-04-28 10:47:52,000 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 220 to 216. [2022-04-28 10:47:52,000 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:47:52,001 INFO L82 GeneralOperation]: Start isEquivalent. First operand 220 states. Second operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 10:47:52,001 INFO L74 IsIncluded]: Start isIncluded. First operand 220 states. Second operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 10:47:52,001 INFO L87 Difference]: Start difference. First operand 220 states. Second operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 10:47:52,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:52,007 INFO L93 Difference]: Finished difference Result 220 states and 268 transitions. [2022-04-28 10:47:52,007 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 268 transitions. [2022-04-28 10:47:52,008 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:52,008 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:52,008 INFO L74 IsIncluded]: Start isIncluded. First operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) Second operand 220 states. [2022-04-28 10:47:52,008 INFO L87 Difference]: Start difference. First operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) Second operand 220 states. [2022-04-28 10:47:52,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:47:52,014 INFO L93 Difference]: Finished difference Result 220 states and 268 transitions. [2022-04-28 10:47:52,014 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 268 transitions. [2022-04-28 10:47:52,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:47:52,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:47:52,014 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:47:52,015 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:47:52,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 10:47:52,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 216 states to 216 states and 261 transitions. [2022-04-28 10:47:52,021 INFO L78 Accepts]: Start accepts. Automaton has 216 states and 261 transitions. Word has length 81 [2022-04-28 10:47:52,021 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:47:52,021 INFO L495 AbstractCegarLoop]: Abstraction has 216 states and 261 transitions. [2022-04-28 10:47:52,021 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 10:47:52,021 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 216 states and 261 transitions. [2022-04-28 10:47:52,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 261 edges. 261 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:47:52,392 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 261 transitions. [2022-04-28 10:47:52,393 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-28 10:47:52,393 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:47:52,393 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:47:52,423 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 10:47:52,615 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 10:47:52,615 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:47:52,616 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:47:52,616 INFO L85 PathProgramCache]: Analyzing trace with hash 1350517088, now seen corresponding path program 7 times [2022-04-28 10:47:52,616 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:47:52,616 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1424781511] [2022-04-28 10:47:52,616 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:47:52,616 INFO L85 PathProgramCache]: Analyzing trace with hash 1350517088, now seen corresponding path program 8 times [2022-04-28 10:47:52,617 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:47:52,617 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2002952920] [2022-04-28 10:47:52,617 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:47:52,617 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:47:52,625 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:47:52,626 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [203746593] [2022-04-28 10:47:52,626 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:47:52,626 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:47:52,626 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:47:52,627 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 10:47:52,628 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 10:47:52,671 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:47:52,671 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:47:52,672 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 10:47:52,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:47:52,688 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:48:03,292 INFO L272 TraceCheckUtils]: 0: Hoare triple {14429#true} call ULTIMATE.init(); {14429#true} is VALID [2022-04-28 10:48:03,293 INFO L290 TraceCheckUtils]: 1: Hoare triple {14429#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); {14429#true} is VALID [2022-04-28 10:48:03,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:03,293 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14429#true} {14429#true} #81#return; {14429#true} is VALID [2022-04-28 10:48:03,293 INFO L272 TraceCheckUtils]: 4: Hoare triple {14429#true} call #t~ret6 := main(); {14429#true} is VALID [2022-04-28 10:48:03,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {14429#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14429#true} is VALID [2022-04-28 10:48:03,293 INFO L272 TraceCheckUtils]: 6: Hoare triple {14429#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14429#true} is VALID [2022-04-28 10:48:03,293 INFO L290 TraceCheckUtils]: 7: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:03,293 INFO L290 TraceCheckUtils]: 8: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:03,293 INFO L290 TraceCheckUtils]: 9: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:03,293 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14429#true} {14429#true} #63#return; {14429#true} is VALID [2022-04-28 10:48:03,293 INFO L272 TraceCheckUtils]: 11: Hoare triple {14429#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14429#true} is VALID [2022-04-28 10:48:03,293 INFO L290 TraceCheckUtils]: 12: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:03,294 INFO L290 TraceCheckUtils]: 13: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:03,294 INFO L290 TraceCheckUtils]: 14: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:03,294 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14429#true} {14429#true} #65#return; {14429#true} is VALID [2022-04-28 10:48:03,294 INFO L290 TraceCheckUtils]: 16: Hoare triple {14429#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:48:03,294 INFO L290 TraceCheckUtils]: 17: Hoare triple {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:48:03,294 INFO L272 TraceCheckUtils]: 18: Hoare triple {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= 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)); {14429#true} is VALID [2022-04-28 10:48:03,295 INFO L290 TraceCheckUtils]: 19: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:03,295 INFO L290 TraceCheckUtils]: 20: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:03,295 INFO L290 TraceCheckUtils]: 21: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:03,295 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {14429#true} {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #67#return; {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:48:03,295 INFO L272 TraceCheckUtils]: 23: Hoare triple {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 10:48:03,296 INFO L290 TraceCheckUtils]: 24: Hoare triple {14429#true} ~cond := #in~cond; {14507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:48:03,296 INFO L290 TraceCheckUtils]: 25: Hoare triple {14507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:48:03,296 INFO L290 TraceCheckUtils]: 26: Hoare triple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:48:03,297 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #69#return; {14518#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:48:03,298 INFO L272 TraceCheckUtils]: 28: Hoare triple {14518#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 10:48:03,298 INFO L290 TraceCheckUtils]: 29: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:03,298 INFO L290 TraceCheckUtils]: 30: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:03,298 INFO L290 TraceCheckUtils]: 31: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:03,299 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14429#true} {14518#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #71#return; {14518#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:48:03,299 INFO L290 TraceCheckUtils]: 33: Hoare triple {14518#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {14518#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:48:03,300 INFO L290 TraceCheckUtils]: 34: Hoare triple {14518#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= 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; {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:48:03,301 INFO L290 TraceCheckUtils]: 35: Hoare triple {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} assume !false; {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:48:03,301 INFO L272 TraceCheckUtils]: 36: Hoare triple {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~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)); {14429#true} is VALID [2022-04-28 10:48:03,301 INFO L290 TraceCheckUtils]: 37: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:03,301 INFO L290 TraceCheckUtils]: 38: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:03,301 INFO L290 TraceCheckUtils]: 39: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:03,302 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {14429#true} {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #67#return; {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:48:03,302 INFO L272 TraceCheckUtils]: 41: Hoare triple {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~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)); {14429#true} is VALID [2022-04-28 10:48:03,302 INFO L290 TraceCheckUtils]: 42: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:03,303 INFO L290 TraceCheckUtils]: 43: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:03,303 INFO L290 TraceCheckUtils]: 44: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:03,303 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14429#true} {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #69#return; {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:48:03,304 INFO L272 TraceCheckUtils]: 46: Hoare triple {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~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)); {14429#true} is VALID [2022-04-28 10:48:03,304 INFO L290 TraceCheckUtils]: 47: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:03,304 INFO L290 TraceCheckUtils]: 48: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:03,304 INFO L290 TraceCheckUtils]: 49: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:03,305 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14429#true} {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #71#return; {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:48:03,305 INFO L290 TraceCheckUtils]: 51: Hoare triple {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:48:03,307 INFO L290 TraceCheckUtils]: 52: Hoare triple {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 10:48:03,307 INFO L290 TraceCheckUtils]: 53: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !false; {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 10:48:03,307 INFO L272 TraceCheckUtils]: 54: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~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)); {14429#true} is VALID [2022-04-28 10:48:03,308 INFO L290 TraceCheckUtils]: 55: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:03,308 INFO L290 TraceCheckUtils]: 56: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:03,308 INFO L290 TraceCheckUtils]: 57: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:03,309 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {14429#true} {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #67#return; {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 10:48:03,309 INFO L272 TraceCheckUtils]: 59: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~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)); {14429#true} is VALID [2022-04-28 10:48:03,309 INFO L290 TraceCheckUtils]: 60: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:03,309 INFO L290 TraceCheckUtils]: 61: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:03,309 INFO L290 TraceCheckUtils]: 62: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:03,310 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {14429#true} {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #69#return; {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 10:48:03,310 INFO L272 TraceCheckUtils]: 64: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~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)); {14429#true} is VALID [2022-04-28 10:48:03,310 INFO L290 TraceCheckUtils]: 65: Hoare triple {14429#true} ~cond := #in~cond; {14507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:48:03,311 INFO L290 TraceCheckUtils]: 66: Hoare triple {14507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:48:03,311 INFO L290 TraceCheckUtils]: 67: Hoare triple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:48:03,312 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #71#return; {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 10:48:03,313 INFO L290 TraceCheckUtils]: 69: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 10:48:03,848 INFO L290 TraceCheckUtils]: 70: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~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; {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} is VALID [2022-04-28 10:48:03,849 INFO L290 TraceCheckUtils]: 71: Hoare triple {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} assume !false; {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} is VALID [2022-04-28 10:48:03,849 INFO L272 TraceCheckUtils]: 72: Hoare triple {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 10:48:03,849 INFO L290 TraceCheckUtils]: 73: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:03,849 INFO L290 TraceCheckUtils]: 74: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:03,849 INFO L290 TraceCheckUtils]: 75: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:03,850 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {14429#true} {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} #67#return; {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} is VALID [2022-04-28 10:48:03,988 INFO L272 TraceCheckUtils]: 77: Hoare triple {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14672#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:48:03,989 INFO L290 TraceCheckUtils]: 78: Hoare triple {14672#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14676#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:48:03,989 INFO L290 TraceCheckUtils]: 79: Hoare triple {14676#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14430#false} is VALID [2022-04-28 10:48:03,989 INFO L290 TraceCheckUtils]: 80: Hoare triple {14430#false} assume !false; {14430#false} is VALID [2022-04-28 10:48:03,989 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 42 proven. 53 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 10:48:03,989 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:48:55,972 INFO L290 TraceCheckUtils]: 80: Hoare triple {14430#false} assume !false; {14430#false} is VALID [2022-04-28 10:48:55,973 INFO L290 TraceCheckUtils]: 79: Hoare triple {14676#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14430#false} is VALID [2022-04-28 10:48:55,973 INFO L290 TraceCheckUtils]: 78: Hoare triple {14672#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14676#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:48:55,974 INFO L272 TraceCheckUtils]: 77: Hoare triple {14692#(= 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)); {14672#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:48:55,975 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {14429#true} {14692#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {14692#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:48:55,975 INFO L290 TraceCheckUtils]: 75: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:55,975 INFO L290 TraceCheckUtils]: 74: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:55,975 INFO L290 TraceCheckUtils]: 73: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:55,975 INFO L272 TraceCheckUtils]: 72: Hoare triple {14692#(= 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)); {14429#true} is VALID [2022-04-28 10:48:55,976 INFO L290 TraceCheckUtils]: 71: Hoare triple {14692#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {14692#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:48:56,685 INFO L290 TraceCheckUtils]: 70: Hoare triple {14714#(= (+ main_~a~0 (* (- 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; {14692#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:48:56,685 INFO L290 TraceCheckUtils]: 69: Hoare triple {14714#(= (+ main_~a~0 (* (- 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); {14714#(= (+ main_~a~0 (* (- 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 10:48:56,686 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} {14721#(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)))))} #71#return; {14714#(= (+ main_~a~0 (* (- 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 10:48:56,686 INFO L290 TraceCheckUtils]: 67: Hoare triple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:48:56,687 INFO L290 TraceCheckUtils]: 66: Hoare triple {14731#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:48:56,687 INFO L290 TraceCheckUtils]: 65: Hoare triple {14429#true} ~cond := #in~cond; {14731#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:48:56,687 INFO L272 TraceCheckUtils]: 64: Hoare triple {14721#(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)); {14429#true} is VALID [2022-04-28 10:48:56,688 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {14429#true} {14721#(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)))))} #69#return; {14721#(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 10:48:56,688 INFO L290 TraceCheckUtils]: 62: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:56,688 INFO L290 TraceCheckUtils]: 61: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:56,688 INFO L290 TraceCheckUtils]: 60: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:56,688 INFO L272 TraceCheckUtils]: 59: Hoare triple {14721#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 10:48:56,690 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {14429#true} {14721#(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)))))} #67#return; {14721#(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 10:48:56,690 INFO L290 TraceCheckUtils]: 57: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:56,690 INFO L290 TraceCheckUtils]: 56: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:56,690 INFO L290 TraceCheckUtils]: 55: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:56,690 INFO L272 TraceCheckUtils]: 54: Hoare triple {14721#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 10:48:56,690 INFO L290 TraceCheckUtils]: 53: Hoare triple {14721#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {14721#(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 10:48:56,738 INFO L290 TraceCheckUtils]: 52: Hoare triple {14771#(or (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {14721#(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 10:48:56,739 INFO L290 TraceCheckUtils]: 51: Hoare triple {14771#(or (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(~a~0 != ~b~0); {14771#(or (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 10:48:56,739 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14429#true} {14771#(or (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #71#return; {14771#(or (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 10:48:56,739 INFO L290 TraceCheckUtils]: 49: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:56,739 INFO L290 TraceCheckUtils]: 48: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:56,740 INFO L290 TraceCheckUtils]: 47: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:56,740 INFO L272 TraceCheckUtils]: 46: Hoare triple {14771#(or (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 10:48:56,740 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14429#true} {14771#(or (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #69#return; {14771#(or (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 10:48:56,740 INFO L290 TraceCheckUtils]: 44: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:56,740 INFO L290 TraceCheckUtils]: 43: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:56,740 INFO L290 TraceCheckUtils]: 42: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:56,740 INFO L272 TraceCheckUtils]: 41: Hoare triple {14771#(or (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 10:48:56,741 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {14429#true} {14771#(or (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #67#return; {14771#(or (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 10:48:56,741 INFO L290 TraceCheckUtils]: 39: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:56,741 INFO L290 TraceCheckUtils]: 38: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:56,741 INFO L290 TraceCheckUtils]: 37: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:56,741 INFO L272 TraceCheckUtils]: 36: Hoare triple {14771#(or (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 10:48:56,742 INFO L290 TraceCheckUtils]: 35: Hoare triple {14771#(or (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !false; {14771#(or (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 10:48:58,750 WARN L290 TraceCheckUtils]: 34: Hoare triple {14826#(or (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~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; {14771#(or (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is UNKNOWN [2022-04-28 10:48:58,752 INFO L290 TraceCheckUtils]: 33: Hoare triple {14826#(or (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} assume !!(~a~0 != ~b~0); {14826#(or (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} is VALID [2022-04-28 10:48:58,753 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14429#true} {14826#(or (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} #71#return; {14826#(or (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} is VALID [2022-04-28 10:48:58,753 INFO L290 TraceCheckUtils]: 31: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:58,753 INFO L290 TraceCheckUtils]: 30: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:58,753 INFO L290 TraceCheckUtils]: 29: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:58,753 INFO L272 TraceCheckUtils]: 28: Hoare triple {14826#(or (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 10:48:58,755 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} {14429#true} #69#return; {14826#(or (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} is VALID [2022-04-28 10:48:58,755 INFO L290 TraceCheckUtils]: 26: Hoare triple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:48:58,755 INFO L290 TraceCheckUtils]: 25: Hoare triple {14731#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:48:58,756 INFO L290 TraceCheckUtils]: 24: Hoare triple {14429#true} ~cond := #in~cond; {14731#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:48:58,756 INFO L272 TraceCheckUtils]: 23: Hoare triple {14429#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {14429#true} {14429#true} #67#return; {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L290 TraceCheckUtils]: 21: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L290 TraceCheckUtils]: 20: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L290 TraceCheckUtils]: 19: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L272 TraceCheckUtils]: 18: Hoare triple {14429#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L290 TraceCheckUtils]: 17: Hoare triple {14429#true} assume !false; {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L290 TraceCheckUtils]: 16: Hoare triple {14429#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14429#true} {14429#true} #65#return; {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L290 TraceCheckUtils]: 14: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L290 TraceCheckUtils]: 13: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L290 TraceCheckUtils]: 12: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L272 TraceCheckUtils]: 11: Hoare triple {14429#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14429#true} {14429#true} #63#return; {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L290 TraceCheckUtils]: 9: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L290 TraceCheckUtils]: 8: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 10:48:58,756 INFO L290 TraceCheckUtils]: 7: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 10:48:58,757 INFO L272 TraceCheckUtils]: 6: Hoare triple {14429#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14429#true} is VALID [2022-04-28 10:48:58,757 INFO L290 TraceCheckUtils]: 5: Hoare triple {14429#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14429#true} is VALID [2022-04-28 10:48:58,757 INFO L272 TraceCheckUtils]: 4: Hoare triple {14429#true} call #t~ret6 := main(); {14429#true} is VALID [2022-04-28 10:48:58,757 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14429#true} {14429#true} #81#return; {14429#true} is VALID [2022-04-28 10:48:58,757 INFO L290 TraceCheckUtils]: 2: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 10:48:58,757 INFO L290 TraceCheckUtils]: 1: Hoare triple {14429#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); {14429#true} is VALID [2022-04-28 10:48:58,757 INFO L272 TraceCheckUtils]: 0: Hoare triple {14429#true} call ULTIMATE.init(); {14429#true} is VALID [2022-04-28 10:48:58,757 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 59 proven. 36 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 10:48:58,757 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:48:58,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2002952920] [2022-04-28 10:48:58,757 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:48:58,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [203746593] [2022-04-28 10:48:58,758 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [203746593] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:48:58,758 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:48:58,758 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 17 [2022-04-28 10:48:58,758 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:48:58,758 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1424781511] [2022-04-28 10:48:58,758 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1424781511] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:48:58,758 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:48:58,758 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 10:48:58,758 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [314958963] [2022-04-28 10:48:58,758 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:48:58,759 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 81 [2022-04-28 10:48:58,759 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:48:58,759 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 10:48:59,543 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:48:59,543 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 10:48:59,543 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:48:59,543 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 10:48:59,544 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2022-04-28 10:48:59,544 INFO L87 Difference]: Start difference. First operand 216 states and 261 transitions. Second operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 10:49:10,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:49:10,807 INFO L93 Difference]: Finished difference Result 257 states and 311 transitions. [2022-04-28 10:49:10,807 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 10:49:10,808 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 81 [2022-04-28 10:49:10,808 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:49:10,808 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 10:49:10,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 90 transitions. [2022-04-28 10:49:10,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 10:49:10,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 90 transitions. [2022-04-28 10:49:10,811 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 90 transitions. [2022-04-28 10:49:11,768 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:49:11,774 INFO L225 Difference]: With dead ends: 257 [2022-04-28 10:49:11,774 INFO L226 Difference]: Without dead ends: 255 [2022-04-28 10:49:11,775 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 144 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=75, Invalid=267, Unknown=0, NotChecked=0, Total=342 [2022-04-28 10:49:11,775 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 17 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 474 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 496 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 474 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:49:11,776 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 181 Invalid, 496 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 474 Invalid, 0 Unknown, 0 Unchecked, 6.5s Time] [2022-04-28 10:49:11,776 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 255 states. [2022-04-28 10:49:12,002 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 255 to 221. [2022-04-28 10:49:12,003 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:49:12,003 INFO L82 GeneralOperation]: Start isEquivalent. First operand 255 states. Second operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 10:49:12,004 INFO L74 IsIncluded]: Start isIncluded. First operand 255 states. Second operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 10:49:12,004 INFO L87 Difference]: Start difference. First operand 255 states. Second operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 10:49:12,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:49:12,010 INFO L93 Difference]: Finished difference Result 255 states and 309 transitions. [2022-04-28 10:49:12,010 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 309 transitions. [2022-04-28 10:49:12,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:49:12,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:49:12,011 INFO L74 IsIncluded]: Start isIncluded. First operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) Second operand 255 states. [2022-04-28 10:49:12,012 INFO L87 Difference]: Start difference. First operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) Second operand 255 states. [2022-04-28 10:49:12,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:49:12,018 INFO L93 Difference]: Finished difference Result 255 states and 309 transitions. [2022-04-28 10:49:12,018 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 309 transitions. [2022-04-28 10:49:12,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:49:12,019 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:49:12,019 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:49:12,019 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:49:12,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 10:49:12,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 221 states to 221 states and 261 transitions. [2022-04-28 10:49:12,031 INFO L78 Accepts]: Start accepts. Automaton has 221 states and 261 transitions. Word has length 81 [2022-04-28 10:49:12,031 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:49:12,032 INFO L495 AbstractCegarLoop]: Abstraction has 221 states and 261 transitions. [2022-04-28 10:49:12,032 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 10:49:12,032 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 221 states and 261 transitions. [2022-04-28 10:49:12,715 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 261 edges. 261 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:49:12,715 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 261 transitions. [2022-04-28 10:49:12,716 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-28 10:49:12,716 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:49:12,716 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:49:12,739 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 10:49:12,916 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 10:49:12,917 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:49:12,917 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:49:12,917 INFO L85 PathProgramCache]: Analyzing trace with hash -388774688, now seen corresponding path program 9 times [2022-04-28 10:49:12,917 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:49:12,917 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [181901033] [2022-04-28 10:49:12,917 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:49:12,917 INFO L85 PathProgramCache]: Analyzing trace with hash -388774688, now seen corresponding path program 10 times [2022-04-28 10:49:12,918 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:49:12,918 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [614169929] [2022-04-28 10:49:12,918 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:49:12,918 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:49:12,926 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:49:12,926 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [328845926] [2022-04-28 10:49:12,927 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:49:12,927 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:49:12,927 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:49:12,928 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 10:49:12,931 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 10:49:12,985 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:49:12,985 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:49:12,986 INFO L263 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-28 10:49:13,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:49:13,002 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:49:14,237 INFO L272 TraceCheckUtils]: 0: Hoare triple {16401#true} call ULTIMATE.init(); {16401#true} is VALID [2022-04-28 10:49:14,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {16401#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); {16401#true} is VALID [2022-04-28 10:49:14,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:14,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16401#true} {16401#true} #81#return; {16401#true} is VALID [2022-04-28 10:49:14,237 INFO L272 TraceCheckUtils]: 4: Hoare triple {16401#true} call #t~ret6 := main(); {16401#true} is VALID [2022-04-28 10:49:14,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {16401#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16401#true} is VALID [2022-04-28 10:49:14,237 INFO L272 TraceCheckUtils]: 6: Hoare triple {16401#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:14,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:14,238 INFO L290 TraceCheckUtils]: 8: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:14,238 INFO L290 TraceCheckUtils]: 9: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:14,238 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16401#true} {16401#true} #63#return; {16401#true} is VALID [2022-04-28 10:49:14,238 INFO L272 TraceCheckUtils]: 11: Hoare triple {16401#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:14,238 INFO L290 TraceCheckUtils]: 12: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:14,238 INFO L290 TraceCheckUtils]: 13: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:14,238 INFO L290 TraceCheckUtils]: 14: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:14,238 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16401#true} {16401#true} #65#return; {16401#true} is VALID [2022-04-28 10:49:14,238 INFO L290 TraceCheckUtils]: 16: Hoare triple {16401#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 10:49:14,239 INFO L290 TraceCheckUtils]: 17: Hoare triple {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 10:49:14,239 INFO L272 TraceCheckUtils]: 18: Hoare triple {16454#(and (= main_~r~0 0) (= main_~s~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)); {16401#true} is VALID [2022-04-28 10:49:14,239 INFO L290 TraceCheckUtils]: 19: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:14,239 INFO L290 TraceCheckUtils]: 20: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:14,239 INFO L290 TraceCheckUtils]: 21: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:14,239 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {16401#true} {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #67#return; {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 10:49:14,239 INFO L272 TraceCheckUtils]: 23: Hoare triple {16454#(and (= main_~r~0 0) (= main_~s~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)); {16401#true} is VALID [2022-04-28 10:49:14,239 INFO L290 TraceCheckUtils]: 24: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:14,240 INFO L290 TraceCheckUtils]: 25: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:14,240 INFO L290 TraceCheckUtils]: 26: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:14,240 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {16401#true} {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #69#return; {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 10:49:14,240 INFO L272 TraceCheckUtils]: 28: Hoare triple {16454#(and (= main_~r~0 0) (= main_~s~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)); {16401#true} is VALID [2022-04-28 10:49:14,240 INFO L290 TraceCheckUtils]: 29: Hoare triple {16401#true} ~cond := #in~cond; {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:49:14,241 INFO L290 TraceCheckUtils]: 30: Hoare triple {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:49:14,241 INFO L290 TraceCheckUtils]: 31: Hoare triple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:49:14,242 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #71#return; {16505#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 10:49:14,242 INFO L290 TraceCheckUtils]: 33: Hoare triple {16505#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16505#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 10:49:14,243 INFO L290 TraceCheckUtils]: 34: Hoare triple {16505#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 10:49:14,243 INFO L290 TraceCheckUtils]: 35: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume !false; {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 10:49:14,243 INFO L272 TraceCheckUtils]: 36: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:14,244 INFO L290 TraceCheckUtils]: 37: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:14,244 INFO L290 TraceCheckUtils]: 38: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:14,244 INFO L290 TraceCheckUtils]: 39: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:14,244 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {16401#true} {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #67#return; {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 10:49:14,244 INFO L272 TraceCheckUtils]: 41: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:14,244 INFO L290 TraceCheckUtils]: 42: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:14,244 INFO L290 TraceCheckUtils]: 43: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:14,244 INFO L290 TraceCheckUtils]: 44: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:14,245 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16401#true} {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #69#return; {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 10:49:14,245 INFO L272 TraceCheckUtils]: 46: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:14,246 INFO L290 TraceCheckUtils]: 47: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:14,246 INFO L290 TraceCheckUtils]: 48: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:14,246 INFO L290 TraceCheckUtils]: 49: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:14,246 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16401#true} {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #71#return; {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 10:49:14,247 INFO L290 TraceCheckUtils]: 51: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume !!(~a~0 != ~b~0); {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 10:49:14,247 INFO L290 TraceCheckUtils]: 52: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:49:14,248 INFO L290 TraceCheckUtils]: 53: Hoare triple {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:49:14,248 INFO L272 TraceCheckUtils]: 54: Hoare triple {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~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)); {16401#true} is VALID [2022-04-28 10:49:14,248 INFO L290 TraceCheckUtils]: 55: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:14,248 INFO L290 TraceCheckUtils]: 56: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:14,248 INFO L290 TraceCheckUtils]: 57: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:14,249 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {16401#true} {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #67#return; {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:49:14,249 INFO L272 TraceCheckUtils]: 59: Hoare triple {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~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)); {16401#true} is VALID [2022-04-28 10:49:14,249 INFO L290 TraceCheckUtils]: 60: Hoare triple {16401#true} ~cond := #in~cond; {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:49:14,249 INFO L290 TraceCheckUtils]: 61: Hoare triple {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:49:14,250 INFO L290 TraceCheckUtils]: 62: Hoare triple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:49:14,250 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #69#return; {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:49:14,251 INFO L272 TraceCheckUtils]: 64: Hoare triple {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~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)); {16401#true} is VALID [2022-04-28 10:49:14,251 INFO L290 TraceCheckUtils]: 65: Hoare triple {16401#true} ~cond := #in~cond; {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:49:14,251 INFO L290 TraceCheckUtils]: 66: Hoare triple {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:49:14,251 INFO L290 TraceCheckUtils]: 67: Hoare triple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:49:14,252 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #71#return; {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:49:14,252 INFO L290 TraceCheckUtils]: 69: Hoare triple {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:49:14,256 INFO L290 TraceCheckUtils]: 70: Hoare triple {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~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; {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} is VALID [2022-04-28 10:49:14,256 INFO L290 TraceCheckUtils]: 71: Hoare triple {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} assume !false; {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} is VALID [2022-04-28 10:49:14,257 INFO L272 TraceCheckUtils]: 72: Hoare triple {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:14,257 INFO L290 TraceCheckUtils]: 73: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:14,257 INFO L290 TraceCheckUtils]: 74: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:14,257 INFO L290 TraceCheckUtils]: 75: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:14,257 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {16401#true} {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} #67#return; {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} is VALID [2022-04-28 10:49:14,261 INFO L272 TraceCheckUtils]: 77: Hoare triple {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16645#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:49:14,262 INFO L290 TraceCheckUtils]: 78: Hoare triple {16645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:49:14,262 INFO L290 TraceCheckUtils]: 79: Hoare triple {16649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16402#false} is VALID [2022-04-28 10:49:14,262 INFO L290 TraceCheckUtils]: 80: Hoare triple {16402#false} assume !false; {16402#false} is VALID [2022-04-28 10:49:14,262 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 59 proven. 51 refuted. 0 times theorem prover too weak. 121 trivial. 0 not checked. [2022-04-28 10:49:14,263 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:49:52,013 INFO L290 TraceCheckUtils]: 80: Hoare triple {16402#false} assume !false; {16402#false} is VALID [2022-04-28 10:49:52,013 INFO L290 TraceCheckUtils]: 79: Hoare triple {16649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16402#false} is VALID [2022-04-28 10:49:52,014 INFO L290 TraceCheckUtils]: 78: Hoare triple {16645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:49:52,014 INFO L272 TraceCheckUtils]: 77: Hoare triple {16665#(= 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)); {16645#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:49:52,015 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {16401#true} {16665#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {16665#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:49:52,015 INFO L290 TraceCheckUtils]: 75: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:52,015 INFO L290 TraceCheckUtils]: 74: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:52,015 INFO L290 TraceCheckUtils]: 73: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:52,015 INFO L272 TraceCheckUtils]: 72: Hoare triple {16665#(= 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)); {16401#true} is VALID [2022-04-28 10:49:52,016 INFO L290 TraceCheckUtils]: 71: Hoare triple {16665#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {16665#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:49:52,118 INFO L290 TraceCheckUtils]: 70: Hoare triple {16687#(= (+ main_~a~0 (* (- 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; {16665#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:49:52,119 INFO L290 TraceCheckUtils]: 69: Hoare triple {16687#(= (+ main_~a~0 (* (- 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); {16687#(= (+ main_~a~0 (* (- 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 10:49:52,119 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} {16694#(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)))))} #71#return; {16687#(= (+ main_~a~0 (* (- 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 10:49:52,120 INFO L290 TraceCheckUtils]: 67: Hoare triple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:49:52,120 INFO L290 TraceCheckUtils]: 66: Hoare triple {16704#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:49:52,120 INFO L290 TraceCheckUtils]: 65: Hoare triple {16401#true} ~cond := #in~cond; {16704#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:49:52,120 INFO L272 TraceCheckUtils]: 64: Hoare triple {16694#(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)); {16401#true} is VALID [2022-04-28 10:49:52,121 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} {16401#true} #69#return; {16694#(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 10:49:52,122 INFO L290 TraceCheckUtils]: 62: Hoare triple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:49:52,122 INFO L290 TraceCheckUtils]: 61: Hoare triple {16704#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:49:52,122 INFO L290 TraceCheckUtils]: 60: Hoare triple {16401#true} ~cond := #in~cond; {16704#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:49:52,122 INFO L272 TraceCheckUtils]: 59: Hoare triple {16401#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:52,122 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {16401#true} {16401#true} #67#return; {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L290 TraceCheckUtils]: 57: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L290 TraceCheckUtils]: 56: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L290 TraceCheckUtils]: 55: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L272 TraceCheckUtils]: 54: Hoare triple {16401#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L290 TraceCheckUtils]: 53: Hoare triple {16401#true} assume !false; {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L290 TraceCheckUtils]: 52: Hoare triple {16401#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L290 TraceCheckUtils]: 51: Hoare triple {16401#true} assume !!(~a~0 != ~b~0); {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16401#true} {16401#true} #71#return; {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L290 TraceCheckUtils]: 49: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L290 TraceCheckUtils]: 48: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L290 TraceCheckUtils]: 47: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L272 TraceCheckUtils]: 46: Hoare triple {16401#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16401#true} {16401#true} #69#return; {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L290 TraceCheckUtils]: 44: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L290 TraceCheckUtils]: 43: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L290 TraceCheckUtils]: 42: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L272 TraceCheckUtils]: 41: Hoare triple {16401#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {16401#true} {16401#true} #67#return; {16401#true} is VALID [2022-04-28 10:49:52,123 INFO L290 TraceCheckUtils]: 39: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L290 TraceCheckUtils]: 38: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L290 TraceCheckUtils]: 37: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L272 TraceCheckUtils]: 36: Hoare triple {16401#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L290 TraceCheckUtils]: 35: Hoare triple {16401#true} assume !false; {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L290 TraceCheckUtils]: 34: Hoare triple {16401#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L290 TraceCheckUtils]: 33: Hoare triple {16401#true} assume !!(~a~0 != ~b~0); {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16401#true} {16401#true} #71#return; {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L290 TraceCheckUtils]: 31: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L290 TraceCheckUtils]: 30: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L290 TraceCheckUtils]: 29: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L272 TraceCheckUtils]: 28: Hoare triple {16401#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {16401#true} {16401#true} #69#return; {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L290 TraceCheckUtils]: 26: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L290 TraceCheckUtils]: 25: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L290 TraceCheckUtils]: 24: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L272 TraceCheckUtils]: 23: Hoare triple {16401#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:52,124 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {16401#true} {16401#true} #67#return; {16401#true} is VALID [2022-04-28 10:49:52,125 INFO L290 TraceCheckUtils]: 21: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:52,125 INFO L290 TraceCheckUtils]: 20: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:52,125 INFO L290 TraceCheckUtils]: 19: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:52,125 INFO L272 TraceCheckUtils]: 18: Hoare triple {16401#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:52,125 INFO L290 TraceCheckUtils]: 17: Hoare triple {16401#true} assume !false; {16401#true} is VALID [2022-04-28 10:49:52,125 INFO L290 TraceCheckUtils]: 16: Hoare triple {16401#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16401#true} is VALID [2022-04-28 10:49:52,125 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16401#true} {16401#true} #65#return; {16401#true} is VALID [2022-04-28 10:49:52,125 INFO L290 TraceCheckUtils]: 14: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:52,125 INFO L290 TraceCheckUtils]: 13: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:52,125 INFO L290 TraceCheckUtils]: 12: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:52,125 INFO L272 TraceCheckUtils]: 11: Hoare triple {16401#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:52,126 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16401#true} {16401#true} #63#return; {16401#true} is VALID [2022-04-28 10:49:52,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:52,126 INFO L290 TraceCheckUtils]: 8: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 10:49:52,126 INFO L290 TraceCheckUtils]: 7: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 10:49:52,126 INFO L272 TraceCheckUtils]: 6: Hoare triple {16401#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16401#true} is VALID [2022-04-28 10:49:52,126 INFO L290 TraceCheckUtils]: 5: Hoare triple {16401#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16401#true} is VALID [2022-04-28 10:49:52,126 INFO L272 TraceCheckUtils]: 4: Hoare triple {16401#true} call #t~ret6 := main(); {16401#true} is VALID [2022-04-28 10:49:52,126 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16401#true} {16401#true} #81#return; {16401#true} is VALID [2022-04-28 10:49:52,126 INFO L290 TraceCheckUtils]: 2: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 10:49:52,126 INFO L290 TraceCheckUtils]: 1: Hoare triple {16401#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); {16401#true} is VALID [2022-04-28 10:49:52,126 INFO L272 TraceCheckUtils]: 0: Hoare triple {16401#true} call ULTIMATE.init(); {16401#true} is VALID [2022-04-28 10:49:52,127 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 75 proven. 8 refuted. 0 times theorem prover too weak. 148 trivial. 0 not checked. [2022-04-28 10:49:52,127 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:49:52,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [614169929] [2022-04-28 10:49:52,127 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:49:52,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [328845926] [2022-04-28 10:49:52,127 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [328845926] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:49:52,127 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:49:52,127 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-28 10:49:52,128 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:49:52,128 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [181901033] [2022-04-28 10:49:52,128 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [181901033] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:49:52,128 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:49:52,128 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 10:49:52,128 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1909597167] [2022-04-28 10:49:52,128 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:49:52,128 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) Word has length 81 [2022-04-28 10:49:52,129 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:49:52,129 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 10:49:52,189 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:49:52,189 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 10:49:52,189 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:49:52,189 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 10:49:52,189 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=196, Unknown=0, NotChecked=0, Total=240 [2022-04-28 10:49:52,190 INFO L87 Difference]: Start difference. First operand 221 states and 261 transitions. Second operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 10:49:54,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:49:54,593 INFO L93 Difference]: Finished difference Result 261 states and 313 transitions. [2022-04-28 10:49:54,593 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 10:49:54,593 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) Word has length 81 [2022-04-28 10:49:54,593 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:49:54,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 10:49:54,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 90 transitions. [2022-04-28 10:49:54,595 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 10:49:54,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 90 transitions. [2022-04-28 10:49:54,597 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 90 transitions. [2022-04-28 10:49:54,727 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:49:54,732 INFO L225 Difference]: With dead ends: 261 [2022-04-28 10:49:54,733 INFO L226 Difference]: Without dead ends: 259 [2022-04-28 10:49:54,733 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 145 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=57, Invalid=249, Unknown=0, NotChecked=0, Total=306 [2022-04-28 10:49:54,733 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 16 mSDsluCounter, 171 mSDsCounter, 0 mSdLazyCounter, 545 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 557 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 545 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 10:49:54,733 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 214 Invalid, 557 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 545 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 10:49:54,734 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 259 states. [2022-04-28 10:49:54,964 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 259 to 223. [2022-04-28 10:49:54,964 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:49:54,964 INFO L82 GeneralOperation]: Start isEquivalent. First operand 259 states. Second operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 10:49:54,965 INFO L74 IsIncluded]: Start isIncluded. First operand 259 states. Second operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 10:49:54,965 INFO L87 Difference]: Start difference. First operand 259 states. Second operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 10:49:54,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:49:54,973 INFO L93 Difference]: Finished difference Result 259 states and 311 transitions. [2022-04-28 10:49:54,973 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 311 transitions. [2022-04-28 10:49:54,974 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:49:54,974 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:49:54,974 INFO L74 IsIncluded]: Start isIncluded. First operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) Second operand 259 states. [2022-04-28 10:49:54,975 INFO L87 Difference]: Start difference. First operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) Second operand 259 states. [2022-04-28 10:49:54,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:49:54,982 INFO L93 Difference]: Finished difference Result 259 states and 311 transitions. [2022-04-28 10:49:54,982 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 311 transitions. [2022-04-28 10:49:54,983 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:49:54,983 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:49:54,983 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:49:54,983 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:49:54,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 10:49:54,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 223 states to 223 states and 264 transitions. [2022-04-28 10:49:54,990 INFO L78 Accepts]: Start accepts. Automaton has 223 states and 264 transitions. Word has length 81 [2022-04-28 10:49:54,991 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:49:54,991 INFO L495 AbstractCegarLoop]: Abstraction has 223 states and 264 transitions. [2022-04-28 10:49:54,991 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 10:49:54,991 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 223 states and 264 transitions. [2022-04-28 10:49:55,793 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 264 edges. 264 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:49:55,794 INFO L276 IsEmpty]: Start isEmpty. Operand 223 states and 264 transitions. [2022-04-28 10:49:55,795 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-28 10:49:55,795 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:49:55,795 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:49:55,820 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 10:49:56,017 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 10:49:56,018 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:49:56,018 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:49:56,018 INFO L85 PathProgramCache]: Analyzing trace with hash 997428706, now seen corresponding path program 11 times [2022-04-28 10:49:56,018 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:49:56,018 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [264421093] [2022-04-28 10:49:56,019 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:49:56,019 INFO L85 PathProgramCache]: Analyzing trace with hash 997428706, now seen corresponding path program 12 times [2022-04-28 10:49:56,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:49:56,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [932407399] [2022-04-28 10:49:56,019 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:49:56,019 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:49:56,029 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:49:56,029 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1099027193] [2022-04-28 10:49:56,029 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:49:56,029 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:49:56,029 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:49:56,031 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:49:56,037 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 10:49:56,085 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 10:49:56,085 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:49:56,086 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 10:49:56,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:49:56,111 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:49:56,478 INFO L272 TraceCheckUtils]: 0: Hoare triple {18392#true} call ULTIMATE.init(); {18392#true} is VALID [2022-04-28 10:49:56,478 INFO L290 TraceCheckUtils]: 1: Hoare triple {18392#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); {18392#true} is VALID [2022-04-28 10:49:56,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 10:49:56,478 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18392#true} {18392#true} #81#return; {18392#true} is VALID [2022-04-28 10:49:56,479 INFO L272 TraceCheckUtils]: 4: Hoare triple {18392#true} call #t~ret6 := main(); {18392#true} is VALID [2022-04-28 10:49:56,479 INFO L290 TraceCheckUtils]: 5: Hoare triple {18392#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18392#true} is VALID [2022-04-28 10:49:56,479 INFO L272 TraceCheckUtils]: 6: Hoare triple {18392#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18392#true} is VALID [2022-04-28 10:49:56,479 INFO L290 TraceCheckUtils]: 7: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 10:49:56,479 INFO L290 TraceCheckUtils]: 8: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 10:49:56,479 INFO L290 TraceCheckUtils]: 9: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 10:49:56,479 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18392#true} {18392#true} #63#return; {18392#true} is VALID [2022-04-28 10:49:56,479 INFO L272 TraceCheckUtils]: 11: Hoare triple {18392#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18392#true} is VALID [2022-04-28 10:49:56,479 INFO L290 TraceCheckUtils]: 12: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 10:49:56,479 INFO L290 TraceCheckUtils]: 13: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 10:49:56,479 INFO L290 TraceCheckUtils]: 14: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 10:49:56,479 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18392#true} {18392#true} #65#return; {18392#true} is VALID [2022-04-28 10:49:56,480 INFO L290 TraceCheckUtils]: 16: Hoare triple {18392#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,480 INFO L290 TraceCheckUtils]: 17: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,480 INFO L272 TraceCheckUtils]: 18: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-28 10:49:56,480 INFO L290 TraceCheckUtils]: 19: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 10:49:56,481 INFO L290 TraceCheckUtils]: 20: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 10:49:56,481 INFO L290 TraceCheckUtils]: 21: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 10:49:56,481 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,481 INFO L272 TraceCheckUtils]: 23: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-28 10:49:56,481 INFO L290 TraceCheckUtils]: 24: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 10:49:56,481 INFO L290 TraceCheckUtils]: 25: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 10:49:56,482 INFO L290 TraceCheckUtils]: 26: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 10:49:56,482 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,482 INFO L272 TraceCheckUtils]: 28: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18392#true} is VALID [2022-04-28 10:49:56,482 INFO L290 TraceCheckUtils]: 29: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 10:49:56,482 INFO L290 TraceCheckUtils]: 30: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 10:49:56,482 INFO L290 TraceCheckUtils]: 31: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 10:49:56,483 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,484 INFO L290 TraceCheckUtils]: 33: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,484 INFO L290 TraceCheckUtils]: 34: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,485 INFO L290 TraceCheckUtils]: 35: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,485 INFO L272 TraceCheckUtils]: 36: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-28 10:49:56,485 INFO L290 TraceCheckUtils]: 37: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 10:49:56,485 INFO L290 TraceCheckUtils]: 38: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 10:49:56,485 INFO L290 TraceCheckUtils]: 39: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 10:49:56,486 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,486 INFO L272 TraceCheckUtils]: 41: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-28 10:49:56,486 INFO L290 TraceCheckUtils]: 42: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 10:49:56,486 INFO L290 TraceCheckUtils]: 43: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 10:49:56,486 INFO L290 TraceCheckUtils]: 44: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 10:49:56,487 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,487 INFO L272 TraceCheckUtils]: 46: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18392#true} is VALID [2022-04-28 10:49:56,487 INFO L290 TraceCheckUtils]: 47: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 10:49:56,487 INFO L290 TraceCheckUtils]: 48: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 10:49:56,487 INFO L290 TraceCheckUtils]: 49: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 10:49:56,488 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,489 INFO L290 TraceCheckUtils]: 51: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,489 INFO L290 TraceCheckUtils]: 52: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,489 INFO L290 TraceCheckUtils]: 53: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,490 INFO L272 TraceCheckUtils]: 54: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-28 10:49:56,490 INFO L290 TraceCheckUtils]: 55: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 10:49:56,490 INFO L290 TraceCheckUtils]: 56: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 10:49:56,490 INFO L290 TraceCheckUtils]: 57: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 10:49:56,491 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,491 INFO L272 TraceCheckUtils]: 59: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-28 10:49:56,491 INFO L290 TraceCheckUtils]: 60: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 10:49:56,491 INFO L290 TraceCheckUtils]: 61: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 10:49:56,491 INFO L290 TraceCheckUtils]: 62: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 10:49:56,492 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,492 INFO L272 TraceCheckUtils]: 64: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18392#true} is VALID [2022-04-28 10:49:56,492 INFO L290 TraceCheckUtils]: 65: Hoare triple {18392#true} ~cond := #in~cond; {18593#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:49:56,492 INFO L290 TraceCheckUtils]: 66: Hoare triple {18593#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:49:56,493 INFO L290 TraceCheckUtils]: 67: Hoare triple {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:49:56,494 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {18604#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,494 INFO L290 TraceCheckUtils]: 69: Hoare triple {18604#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {18604#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:49:56,495 INFO L290 TraceCheckUtils]: 70: Hoare triple {18604#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {18611#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))))} is VALID [2022-04-28 10:49:56,496 INFO L290 TraceCheckUtils]: 71: Hoare triple {18611#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))))} assume !false; {18611#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))))} is VALID [2022-04-28 10:49:56,496 INFO L272 TraceCheckUtils]: 72: Hoare triple {18611#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18392#true} is VALID [2022-04-28 10:49:56,496 INFO L290 TraceCheckUtils]: 73: Hoare triple {18392#true} ~cond := #in~cond; {18593#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:49:56,497 INFO L290 TraceCheckUtils]: 74: Hoare triple {18593#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:49:56,497 INFO L290 TraceCheckUtils]: 75: Hoare triple {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:49:56,501 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} {18611#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))))} #67#return; {18630#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} is VALID [2022-04-28 10:49:56,502 INFO L272 TraceCheckUtils]: 77: Hoare triple {18630#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18634#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:49:56,503 INFO L290 TraceCheckUtils]: 78: Hoare triple {18634#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18638#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:49:56,503 INFO L290 TraceCheckUtils]: 79: Hoare triple {18638#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18393#false} is VALID [2022-04-28 10:49:56,503 INFO L290 TraceCheckUtils]: 80: Hoare triple {18393#false} assume !false; {18393#false} is VALID [2022-04-28 10:49:56,503 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 70 proven. 11 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-28 10:49:56,504 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:52:26,027 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:52:26,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [932407399] [2022-04-28 10:52:26,027 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:52:26,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1099027193] [2022-04-28 10:52:26,027 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1099027193] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:52:26,027 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 10:52:26,027 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-28 10:52:26,027 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:52:26,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [264421093] [2022-04-28 10:52:26,028 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [264421093] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:52:26,028 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:52:26,028 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 10:52:26,028 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1543412492] [2022-04-28 10:52:26,028 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:52:26,028 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 81 [2022-04-28 10:52:26,028 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:52:26,028 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 10:52:26,067 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 10:52:26,068 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 10:52:26,068 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:52:26,068 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 10:52:26,068 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=161, Unknown=1, NotChecked=0, Total=210 [2022-04-28 10:52:26,068 INFO L87 Difference]: Start difference. First operand 223 states and 264 transitions. Second operand has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 10:52:28,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:52:28,021 INFO L93 Difference]: Finished difference Result 282 states and 346 transitions. [2022-04-28 10:52:28,021 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 10:52:28,021 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 81 [2022-04-28 10:52:28,021 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:52:28,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 10:52:28,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 10:52:28,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 10:52:28,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 10:52:28,025 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-28 10:52:28,183 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:52:28,189 INFO L225 Difference]: With dead ends: 282 [2022-04-28 10:52:28,189 INFO L226 Difference]: Without dead ends: 276 [2022-04-28 10:52:28,190 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 96 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 2.5s TimeCoverageRelationStatistics Valid=68, Invalid=237, Unknown=1, NotChecked=0, Total=306 [2022-04-28 10:52:28,190 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 19 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 405 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 171 SdHoareTripleChecker+Invalid, 427 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 405 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 10:52:28,190 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 171 Invalid, 427 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 405 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 10:52:28,191 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 276 states. [2022-04-28 10:52:28,442 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 276 to 233. [2022-04-28 10:52:28,442 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:52:28,443 INFO L82 GeneralOperation]: Start isEquivalent. First operand 276 states. Second operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 10:52:28,443 INFO L74 IsIncluded]: Start isIncluded. First operand 276 states. Second operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 10:52:28,444 INFO L87 Difference]: Start difference. First operand 276 states. Second operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 10:52:28,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:52:28,452 INFO L93 Difference]: Finished difference Result 276 states and 336 transitions. [2022-04-28 10:52:28,452 INFO L276 IsEmpty]: Start isEmpty. Operand 276 states and 336 transitions. [2022-04-28 10:52:28,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:52:28,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:52:28,453 INFO L74 IsIncluded]: Start isIncluded. First operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) Second operand 276 states. [2022-04-28 10:52:28,454 INFO L87 Difference]: Start difference. First operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) Second operand 276 states. [2022-04-28 10:52:28,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:52:28,461 INFO L93 Difference]: Finished difference Result 276 states and 336 transitions. [2022-04-28 10:52:28,461 INFO L276 IsEmpty]: Start isEmpty. Operand 276 states and 336 transitions. [2022-04-28 10:52:28,462 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:52:28,462 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:52:28,462 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:52:28,462 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:52:28,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 10:52:28,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 233 states to 233 states and 273 transitions. [2022-04-28 10:52:28,469 INFO L78 Accepts]: Start accepts. Automaton has 233 states and 273 transitions. Word has length 81 [2022-04-28 10:52:28,470 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:52:28,470 INFO L495 AbstractCegarLoop]: Abstraction has 233 states and 273 transitions. [2022-04-28 10:52:28,470 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 10:52:28,470 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 233 states and 273 transitions. [2022-04-28 10:52:29,470 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 273 edges. 273 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:52:29,470 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 273 transitions. [2022-04-28 10:52:29,470 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 10:52:29,470 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:52:29,471 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:52:29,486 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Ended with exit code 0 [2022-04-28 10:52:29,671 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 10:52:29,671 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:52:29,671 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:52:29,671 INFO L85 PathProgramCache]: Analyzing trace with hash 327884660, now seen corresponding path program 13 times [2022-04-28 10:52:29,671 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:52:29,672 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1882625168] [2022-04-28 10:52:29,672 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:52:29,672 INFO L85 PathProgramCache]: Analyzing trace with hash 327884660, now seen corresponding path program 14 times [2022-04-28 10:52:29,672 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:52:29,672 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [544453359] [2022-04-28 10:52:29,672 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:52:29,672 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:52:29,687 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:52:29,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [890022892] [2022-04-28 10:52:29,688 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:52:29,688 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:52:29,688 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:52:29,689 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:52:29,690 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 10:52:29,744 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:52:29,744 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:52:29,745 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 10:52:29,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:52:29,758 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:52:30,736 INFO L272 TraceCheckUtils]: 0: Hoare triple {20330#true} call ULTIMATE.init(); {20330#true} is VALID [2022-04-28 10:52:30,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {20330#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); {20330#true} is VALID [2022-04-28 10:52:30,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:30,737 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20330#true} {20330#true} #81#return; {20330#true} is VALID [2022-04-28 10:52:30,737 INFO L272 TraceCheckUtils]: 4: Hoare triple {20330#true} call #t~ret6 := main(); {20330#true} is VALID [2022-04-28 10:52:30,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {20330#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20330#true} is VALID [2022-04-28 10:52:30,737 INFO L272 TraceCheckUtils]: 6: Hoare triple {20330#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:30,737 INFO L290 TraceCheckUtils]: 7: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:30,737 INFO L290 TraceCheckUtils]: 8: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:30,737 INFO L290 TraceCheckUtils]: 9: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:30,737 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20330#true} {20330#true} #63#return; {20330#true} is VALID [2022-04-28 10:52:30,737 INFO L272 TraceCheckUtils]: 11: Hoare triple {20330#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:30,737 INFO L290 TraceCheckUtils]: 12: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:30,737 INFO L290 TraceCheckUtils]: 13: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:30,737 INFO L290 TraceCheckUtils]: 14: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:30,737 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20330#true} {20330#true} #65#return; {20330#true} is VALID [2022-04-28 10:52:30,738 INFO L290 TraceCheckUtils]: 16: Hoare triple {20330#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20383#(and (= main_~r~0 0) (= 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 10:52:30,738 INFO L290 TraceCheckUtils]: 17: Hoare triple {20383#(and (= main_~r~0 0) (= 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; {20383#(and (= main_~r~0 0) (= 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 10:52:30,738 INFO L272 TraceCheckUtils]: 18: Hoare triple {20383#(and (= main_~r~0 0) (= 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)); {20330#true} is VALID [2022-04-28 10:52:30,738 INFO L290 TraceCheckUtils]: 19: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:30,738 INFO L290 TraceCheckUtils]: 20: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:30,738 INFO L290 TraceCheckUtils]: 21: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:30,739 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {20330#true} {20383#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {20383#(and (= main_~r~0 0) (= 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 10:52:30,739 INFO L272 TraceCheckUtils]: 23: Hoare triple {20383#(and (= main_~r~0 0) (= 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)); {20330#true} is VALID [2022-04-28 10:52:30,739 INFO L290 TraceCheckUtils]: 24: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:30,739 INFO L290 TraceCheckUtils]: 25: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:30,739 INFO L290 TraceCheckUtils]: 26: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:30,743 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {20330#true} {20383#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {20383#(and (= main_~r~0 0) (= 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 10:52:30,743 INFO L272 TraceCheckUtils]: 28: Hoare triple {20383#(and (= main_~r~0 0) (= 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)); {20330#true} is VALID [2022-04-28 10:52:30,743 INFO L290 TraceCheckUtils]: 29: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:30,744 INFO L290 TraceCheckUtils]: 30: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:30,744 INFO L290 TraceCheckUtils]: 31: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:30,747 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20330#true} {20383#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {20383#(and (= main_~r~0 0) (= 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 10:52:30,748 INFO L290 TraceCheckUtils]: 33: Hoare triple {20383#(and (= main_~r~0 0) (= 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); {20383#(and (= main_~r~0 0) (= 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 10:52:30,748 INFO L290 TraceCheckUtils]: 34: Hoare triple {20383#(and (= main_~r~0 0) (= 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; {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:52:30,749 INFO L290 TraceCheckUtils]: 35: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:52:30,749 INFO L272 TraceCheckUtils]: 36: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:30,749 INFO L290 TraceCheckUtils]: 37: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:30,749 INFO L290 TraceCheckUtils]: 38: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:30,749 INFO L290 TraceCheckUtils]: 39: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:30,750 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {20330#true} {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #67#return; {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:52:30,750 INFO L272 TraceCheckUtils]: 41: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:30,750 INFO L290 TraceCheckUtils]: 42: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:30,750 INFO L290 TraceCheckUtils]: 43: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:30,750 INFO L290 TraceCheckUtils]: 44: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:30,752 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {20330#true} {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #69#return; {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:52:30,752 INFO L272 TraceCheckUtils]: 46: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:30,752 INFO L290 TraceCheckUtils]: 47: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:30,752 INFO L290 TraceCheckUtils]: 48: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:30,752 INFO L290 TraceCheckUtils]: 49: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:30,753 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20330#true} {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #71#return; {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:52:30,753 INFO L290 TraceCheckUtils]: 51: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:52:30,755 INFO L290 TraceCheckUtils]: 52: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 10:52:30,755 INFO L290 TraceCheckUtils]: 53: Hoare triple {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} assume !false; {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 10:52:30,755 INFO L272 TraceCheckUtils]: 54: Hoare triple {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:30,755 INFO L290 TraceCheckUtils]: 55: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:30,755 INFO L290 TraceCheckUtils]: 56: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:30,756 INFO L290 TraceCheckUtils]: 57: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:30,756 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {20330#true} {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #67#return; {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 10:52:30,757 INFO L272 TraceCheckUtils]: 59: Hoare triple {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:30,757 INFO L290 TraceCheckUtils]: 60: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:30,757 INFO L290 TraceCheckUtils]: 61: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:30,757 INFO L290 TraceCheckUtils]: 62: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:30,758 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {20330#true} {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #69#return; {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 10:52:30,758 INFO L272 TraceCheckUtils]: 64: Hoare triple {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:30,758 INFO L290 TraceCheckUtils]: 65: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:30,758 INFO L290 TraceCheckUtils]: 66: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:30,758 INFO L290 TraceCheckUtils]: 67: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:30,759 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {20330#true} {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #71#return; {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 10:52:30,759 INFO L290 TraceCheckUtils]: 69: Hoare triple {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {20545#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:52:30,761 INFO L290 TraceCheckUtils]: 70: Hoare triple {20545#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 10:52:30,761 INFO L290 TraceCheckUtils]: 71: Hoare triple {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} assume !false; {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 10:52:30,761 INFO L272 TraceCheckUtils]: 72: Hoare triple {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:30,761 INFO L290 TraceCheckUtils]: 73: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:30,761 INFO L290 TraceCheckUtils]: 74: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:30,761 INFO L290 TraceCheckUtils]: 75: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:30,762 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {20330#true} {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #67#return; {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 10:52:30,762 INFO L272 TraceCheckUtils]: 77: Hoare triple {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:30,762 INFO L290 TraceCheckUtils]: 78: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:30,762 INFO L290 TraceCheckUtils]: 79: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:30,762 INFO L290 TraceCheckUtils]: 80: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:30,763 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {20330#true} {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #69#return; {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 10:52:30,763 INFO L272 TraceCheckUtils]: 82: Hoare triple {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20586#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:52:30,764 INFO L290 TraceCheckUtils]: 83: Hoare triple {20586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:52:30,764 INFO L290 TraceCheckUtils]: 84: Hoare triple {20590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20331#false} is VALID [2022-04-28 10:52:30,764 INFO L290 TraceCheckUtils]: 85: Hoare triple {20331#false} assume !false; {20331#false} is VALID [2022-04-28 10:52:30,764 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 22 proven. 30 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-28 10:52:30,765 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:52:31,365 INFO L290 TraceCheckUtils]: 85: Hoare triple {20331#false} assume !false; {20331#false} is VALID [2022-04-28 10:52:31,365 INFO L290 TraceCheckUtils]: 84: Hoare triple {20590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20331#false} is VALID [2022-04-28 10:52:31,366 INFO L290 TraceCheckUtils]: 83: Hoare triple {20586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:52:31,366 INFO L272 TraceCheckUtils]: 82: Hoare triple {20606#(= 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)); {20586#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:52:31,367 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {20330#true} {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #69#return; {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:52:31,367 INFO L290 TraceCheckUtils]: 80: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:31,367 INFO L290 TraceCheckUtils]: 79: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:31,367 INFO L290 TraceCheckUtils]: 78: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:31,367 INFO L272 TraceCheckUtils]: 77: Hoare triple {20606#(= 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)); {20330#true} is VALID [2022-04-28 10:52:31,368 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {20330#true} {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #67#return; {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:52:31,368 INFO L290 TraceCheckUtils]: 75: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:31,368 INFO L290 TraceCheckUtils]: 74: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:31,368 INFO L290 TraceCheckUtils]: 73: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:31,368 INFO L272 TraceCheckUtils]: 72: Hoare triple {20606#(= 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)); {20330#true} is VALID [2022-04-28 10:52:31,368 INFO L290 TraceCheckUtils]: 71: Hoare triple {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:52:31,768 INFO L290 TraceCheckUtils]: 70: Hoare triple {20643#(or (< main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:52:31,769 INFO L290 TraceCheckUtils]: 69: Hoare triple {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(~a~0 != ~b~0); {20643#(or (< main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 10:52:31,770 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {20330#true} {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #71#return; {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 10:52:31,770 INFO L290 TraceCheckUtils]: 67: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:31,770 INFO L290 TraceCheckUtils]: 66: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:31,770 INFO L290 TraceCheckUtils]: 65: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:31,770 INFO L272 TraceCheckUtils]: 64: Hoare triple {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:31,770 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {20330#true} {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #69#return; {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 10:52:31,770 INFO L290 TraceCheckUtils]: 62: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:31,771 INFO L290 TraceCheckUtils]: 61: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:31,771 INFO L290 TraceCheckUtils]: 60: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:31,771 INFO L272 TraceCheckUtils]: 59: Hoare triple {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:31,771 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {20330#true} {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #67#return; {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 10:52:31,771 INFO L290 TraceCheckUtils]: 57: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:31,771 INFO L290 TraceCheckUtils]: 56: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:31,771 INFO L290 TraceCheckUtils]: 55: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:31,771 INFO L272 TraceCheckUtils]: 54: Hoare triple {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:31,772 INFO L290 TraceCheckUtils]: 53: Hoare triple {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !false; {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 10:52:31,916 INFO L290 TraceCheckUtils]: 52: Hoare triple {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 10:52:31,917 INFO L290 TraceCheckUtils]: 51: Hoare triple {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !!(~a~0 != ~b~0); {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 10:52:31,918 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20330#true} {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #71#return; {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 10:52:31,918 INFO L290 TraceCheckUtils]: 49: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:31,918 INFO L290 TraceCheckUtils]: 48: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:31,918 INFO L290 TraceCheckUtils]: 47: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:31,918 INFO L272 TraceCheckUtils]: 46: Hoare triple {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:31,919 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {20330#true} {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #69#return; {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 10:52:31,919 INFO L290 TraceCheckUtils]: 44: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:31,919 INFO L290 TraceCheckUtils]: 43: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:31,919 INFO L290 TraceCheckUtils]: 42: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:31,919 INFO L272 TraceCheckUtils]: 41: Hoare triple {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:31,919 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {20330#true} {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #67#return; {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 10:52:31,919 INFO L290 TraceCheckUtils]: 39: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:31,920 INFO L290 TraceCheckUtils]: 38: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:31,920 INFO L290 TraceCheckUtils]: 37: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:31,920 INFO L272 TraceCheckUtils]: 36: Hoare triple {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:31,920 INFO L290 TraceCheckUtils]: 35: Hoare triple {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !false; {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 10:52:33,922 WARN L290 TraceCheckUtils]: 34: Hoare triple {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is UNKNOWN [2022-04-28 10:52:33,923 INFO L290 TraceCheckUtils]: 33: Hoare triple {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !!(~a~0 != ~b~0); {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 10:52:33,923 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20330#true} {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #71#return; {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 10:52:33,923 INFO L290 TraceCheckUtils]: 31: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:33,923 INFO L290 TraceCheckUtils]: 30: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:33,923 INFO L290 TraceCheckUtils]: 29: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:33,923 INFO L272 TraceCheckUtils]: 28: Hoare triple {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:33,924 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {20330#true} {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #69#return; {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 10:52:33,924 INFO L290 TraceCheckUtils]: 26: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:33,924 INFO L290 TraceCheckUtils]: 25: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:33,924 INFO L290 TraceCheckUtils]: 24: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:33,924 INFO L272 TraceCheckUtils]: 23: Hoare triple {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:33,925 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {20330#true} {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #67#return; {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 10:52:33,925 INFO L290 TraceCheckUtils]: 21: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:33,925 INFO L290 TraceCheckUtils]: 20: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:33,925 INFO L290 TraceCheckUtils]: 19: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:33,925 INFO L272 TraceCheckUtils]: 18: Hoare triple {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:33,926 INFO L290 TraceCheckUtils]: 17: Hoare triple {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !false; {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 10:52:33,926 INFO L290 TraceCheckUtils]: 16: Hoare triple {20330#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 10:52:33,926 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20330#true} {20330#true} #65#return; {20330#true} is VALID [2022-04-28 10:52:33,926 INFO L290 TraceCheckUtils]: 14: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:33,926 INFO L290 TraceCheckUtils]: 13: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:33,926 INFO L290 TraceCheckUtils]: 12: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:33,926 INFO L272 TraceCheckUtils]: 11: Hoare triple {20330#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:33,926 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20330#true} {20330#true} #63#return; {20330#true} is VALID [2022-04-28 10:52:33,926 INFO L290 TraceCheckUtils]: 9: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:33,926 INFO L290 TraceCheckUtils]: 8: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 10:52:33,926 INFO L290 TraceCheckUtils]: 7: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 10:52:33,927 INFO L272 TraceCheckUtils]: 6: Hoare triple {20330#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20330#true} is VALID [2022-04-28 10:52:33,927 INFO L290 TraceCheckUtils]: 5: Hoare triple {20330#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20330#true} is VALID [2022-04-28 10:52:33,927 INFO L272 TraceCheckUtils]: 4: Hoare triple {20330#true} call #t~ret6 := main(); {20330#true} is VALID [2022-04-28 10:52:33,927 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20330#true} {20330#true} #81#return; {20330#true} is VALID [2022-04-28 10:52:33,927 INFO L290 TraceCheckUtils]: 2: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 10:52:33,927 INFO L290 TraceCheckUtils]: 1: Hoare triple {20330#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); {20330#true} is VALID [2022-04-28 10:52:33,927 INFO L272 TraceCheckUtils]: 0: Hoare triple {20330#true} call ULTIMATE.init(); {20330#true} is VALID [2022-04-28 10:52:33,927 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 22 proven. 30 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-28 10:52:33,927 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:52:33,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [544453359] [2022-04-28 10:52:33,928 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:52:33,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [890022892] [2022-04-28 10:52:33,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [890022892] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:52:33,928 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:52:33,928 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 10:52:33,928 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:52:33,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1882625168] [2022-04-28 10:52:33,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1882625168] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:52:33,928 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:52:33,928 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 10:52:33,928 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [443632060] [2022-04-28 10:52:33,928 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:52:33,929 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-28 10:52:33,929 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:52:33,929 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 10:52:33,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:52:33,981 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 10:52:33,981 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:52:33,981 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 10:52:33,981 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-28 10:52:33,982 INFO L87 Difference]: Start difference. First operand 233 states and 273 transitions. Second operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 10:52:36,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:52:36,622 INFO L93 Difference]: Finished difference Result 255 states and 307 transitions. [2022-04-28 10:52:36,622 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 10:52:36,622 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-28 10:52:36,622 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:52:36,622 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 10:52:36,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 90 transitions. [2022-04-28 10:52:36,624 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 10:52:36,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 90 transitions. [2022-04-28 10:52:36,625 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 90 transitions. [2022-04-28 10:52:36,746 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:52:36,751 INFO L225 Difference]: With dead ends: 255 [2022-04-28 10:52:36,751 INFO L226 Difference]: Without dead ends: 249 [2022-04-28 10:52:36,752 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 158 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-28 10:52:36,752 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 9 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 293 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 208 SdHoareTripleChecker+Invalid, 303 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 293 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 10:52:36,752 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 208 Invalid, 303 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 293 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 10:52:36,753 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 249 states. [2022-04-28 10:52:37,036 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 249 to 236. [2022-04-28 10:52:37,036 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:52:37,037 INFO L82 GeneralOperation]: Start isEquivalent. First operand 249 states. Second operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 10:52:37,037 INFO L74 IsIncluded]: Start isIncluded. First operand 249 states. Second operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 10:52:37,038 INFO L87 Difference]: Start difference. First operand 249 states. Second operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 10:52:37,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:52:37,042 INFO L93 Difference]: Finished difference Result 249 states and 296 transitions. [2022-04-28 10:52:37,043 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 296 transitions. [2022-04-28 10:52:37,043 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:52:37,043 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:52:37,044 INFO L74 IsIncluded]: Start isIncluded. First operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 249 states. [2022-04-28 10:52:37,044 INFO L87 Difference]: Start difference. First operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 249 states. [2022-04-28 10:52:37,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:52:37,049 INFO L93 Difference]: Finished difference Result 249 states and 296 transitions. [2022-04-28 10:52:37,049 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 296 transitions. [2022-04-28 10:52:37,049 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:52:37,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:52:37,049 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:52:37,050 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:52:37,051 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 10:52:37,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 236 states to 236 states and 278 transitions. [2022-04-28 10:52:37,057 INFO L78 Accepts]: Start accepts. Automaton has 236 states and 278 transitions. Word has length 86 [2022-04-28 10:52:37,057 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:52:37,057 INFO L495 AbstractCegarLoop]: Abstraction has 236 states and 278 transitions. [2022-04-28 10:52:37,057 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 10:52:37,057 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 236 states and 278 transitions. [2022-04-28 10:52:38,207 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 278 edges. 278 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:52:38,207 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 278 transitions. [2022-04-28 10:52:38,208 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 10:52:38,208 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:52:38,208 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:52:38,228 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 10:52:38,423 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:52:38,423 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:52:38,424 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:52:38,424 INFO L85 PathProgramCache]: Analyzing trace with hash -1916098638, now seen corresponding path program 15 times [2022-04-28 10:52:38,424 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:52:38,424 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1932889572] [2022-04-28 10:52:38,424 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:52:38,424 INFO L85 PathProgramCache]: Analyzing trace with hash -1916098638, now seen corresponding path program 16 times [2022-04-28 10:52:38,424 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:52:38,424 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [832687938] [2022-04-28 10:52:38,424 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:52:38,424 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:52:38,435 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:52:38,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1926133515] [2022-04-28 10:52:38,436 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:52:38,436 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:52:38,436 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:52:38,437 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:52:38,440 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 10:52:38,481 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:52:38,481 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:52:38,482 INFO L263 TraceCheckSpWp]: Trace formula consists of 182 conjuncts, 50 conjunts are in the unsatisfiable core [2022-04-28 10:52:38,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:52:38,498 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:53:58,837 INFO L272 TraceCheckUtils]: 0: Hoare triple {22341#true} call ULTIMATE.init(); {22341#true} is VALID [2022-04-28 10:53:58,837 INFO L290 TraceCheckUtils]: 1: Hoare triple {22341#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); {22341#true} is VALID [2022-04-28 10:53:58,837 INFO L290 TraceCheckUtils]: 2: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:53:58,837 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22341#true} {22341#true} #81#return; {22341#true} is VALID [2022-04-28 10:53:58,837 INFO L272 TraceCheckUtils]: 4: Hoare triple {22341#true} call #t~ret6 := main(); {22341#true} is VALID [2022-04-28 10:53:58,837 INFO L290 TraceCheckUtils]: 5: Hoare triple {22341#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22341#true} is VALID [2022-04-28 10:53:58,837 INFO L272 TraceCheckUtils]: 6: Hoare triple {22341#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:53:58,837 INFO L290 TraceCheckUtils]: 7: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:53:58,837 INFO L290 TraceCheckUtils]: 8: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:53:58,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:53:58,837 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22341#true} {22341#true} #63#return; {22341#true} is VALID [2022-04-28 10:53:58,837 INFO L272 TraceCheckUtils]: 11: Hoare triple {22341#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:53:58,837 INFO L290 TraceCheckUtils]: 12: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:53:58,837 INFO L290 TraceCheckUtils]: 13: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:53:58,838 INFO L290 TraceCheckUtils]: 14: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:53:58,838 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22341#true} {22341#true} #65#return; {22341#true} is VALID [2022-04-28 10:53:58,838 INFO L290 TraceCheckUtils]: 16: Hoare triple {22341#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 10:53:58,838 INFO L290 TraceCheckUtils]: 17: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 10:53:58,838 INFO L272 TraceCheckUtils]: 18: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:53:58,838 INFO L290 TraceCheckUtils]: 19: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:53:58,838 INFO L290 TraceCheckUtils]: 20: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:53:58,839 INFO L290 TraceCheckUtils]: 21: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:53:58,839 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22341#true} {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #67#return; {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 10:53:58,839 INFO L272 TraceCheckUtils]: 23: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:53:58,839 INFO L290 TraceCheckUtils]: 24: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:53:58,839 INFO L290 TraceCheckUtils]: 25: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:53:58,839 INFO L290 TraceCheckUtils]: 26: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:53:58,840 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {22341#true} {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #69#return; {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 10:53:58,840 INFO L272 TraceCheckUtils]: 28: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:53:58,840 INFO L290 TraceCheckUtils]: 29: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:53:58,840 INFO L290 TraceCheckUtils]: 30: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:53:58,840 INFO L290 TraceCheckUtils]: 31: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:53:58,841 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {22341#true} {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #71#return; {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 10:53:58,841 INFO L290 TraceCheckUtils]: 33: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 10:53:58,842 INFO L290 TraceCheckUtils]: 34: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 10:53:58,843 INFO L290 TraceCheckUtils]: 35: Hoare triple {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !false; {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 10:53:58,843 INFO L272 TraceCheckUtils]: 36: Hoare triple {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 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)); {22341#true} is VALID [2022-04-28 10:53:58,843 INFO L290 TraceCheckUtils]: 37: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:53:58,843 INFO L290 TraceCheckUtils]: 38: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:53:58,843 INFO L290 TraceCheckUtils]: 39: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:53:58,843 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {22341#true} {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} #67#return; {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 10:53:58,844 INFO L272 TraceCheckUtils]: 41: Hoare triple {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:53:58,844 INFO L290 TraceCheckUtils]: 42: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:53:58,844 INFO L290 TraceCheckUtils]: 43: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:53:58,844 INFO L290 TraceCheckUtils]: 44: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:53:58,844 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {22341#true} {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} #69#return; {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 10:53:58,844 INFO L272 TraceCheckUtils]: 46: Hoare triple {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:53:58,845 INFO L290 TraceCheckUtils]: 47: Hoare triple {22341#true} ~cond := #in~cond; {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:53:58,845 INFO L290 TraceCheckUtils]: 48: Hoare triple {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:53:58,845 INFO L290 TraceCheckUtils]: 49: Hoare triple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:53:58,846 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} #71#return; {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 10:53:58,846 INFO L290 TraceCheckUtils]: 51: Hoare triple {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !!(~a~0 != ~b~0); {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 10:53:58,847 INFO L290 TraceCheckUtils]: 52: Hoare triple {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 10:53:58,848 INFO L290 TraceCheckUtils]: 53: Hoare triple {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 10:53:58,848 INFO L272 TraceCheckUtils]: 54: Hoare triple {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~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)); {22341#true} is VALID [2022-04-28 10:53:58,848 INFO L290 TraceCheckUtils]: 55: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:53:58,848 INFO L290 TraceCheckUtils]: 56: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:53:58,848 INFO L290 TraceCheckUtils]: 57: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:53:58,848 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {22341#true} {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} #67#return; {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 10:53:58,849 INFO L272 TraceCheckUtils]: 59: Hoare triple {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~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)); {22341#true} is VALID [2022-04-28 10:53:58,849 INFO L290 TraceCheckUtils]: 60: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:53:58,849 INFO L290 TraceCheckUtils]: 61: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:53:58,849 INFO L290 TraceCheckUtils]: 62: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:53:58,849 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {22341#true} {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} #69#return; {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 10:53:58,849 INFO L272 TraceCheckUtils]: 64: Hoare triple {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~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)); {22341#true} is VALID [2022-04-28 10:53:58,850 INFO L290 TraceCheckUtils]: 65: Hoare triple {22341#true} ~cond := #in~cond; {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:53:58,850 INFO L290 TraceCheckUtils]: 66: Hoare triple {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:53:58,850 INFO L290 TraceCheckUtils]: 67: Hoare triple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:53:58,851 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} #71#return; {22555#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 10:53:58,852 INFO L290 TraceCheckUtils]: 69: Hoare triple {22555#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} assume !!(~a~0 != ~b~0); {22559#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (not (= main_~b~0 main_~a~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 10:53:58,854 INFO L290 TraceCheckUtils]: 70: Hoare triple {22559#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (not (= main_~b~0 main_~a~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; {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-28 10:53:58,855 INFO L290 TraceCheckUtils]: 71: Hoare triple {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !false; {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-28 10:53:58,855 INFO L272 TraceCheckUtils]: 72: Hoare triple {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:53:58,855 INFO L290 TraceCheckUtils]: 73: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:53:58,855 INFO L290 TraceCheckUtils]: 74: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:53:58,855 INFO L290 TraceCheckUtils]: 75: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:53:58,855 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {22341#true} {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} #67#return; {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-28 10:53:58,855 INFO L272 TraceCheckUtils]: 77: Hoare triple {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:53:58,856 INFO L290 TraceCheckUtils]: 78: Hoare triple {22341#true} ~cond := #in~cond; {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:53:58,856 INFO L290 TraceCheckUtils]: 79: Hoare triple {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:53:58,856 INFO L290 TraceCheckUtils]: 80: Hoare triple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:53:58,859 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} #69#return; {22597#(and (= (* 2 (* main_~y~0 main_~s~0)) (+ main_~b~0 (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) 2))) (* main_~y~0 3))) (< main_~y~0 main_~x~0) (= (+ main_~b~0 main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) 2))) (* main_~y~0 main_~s~0)) (not (= main_~b~0 0)) (= (mod main_~q~0 2) 0) (<= 0 main_~b~0) (= (* main_~y~0 main_~s~0) (+ main_~b~0 (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) 2))))))} is VALID [2022-04-28 10:53:58,861 INFO L272 TraceCheckUtils]: 82: Hoare triple {22597#(and (= (* 2 (* main_~y~0 main_~s~0)) (+ main_~b~0 (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) 2))) (* main_~y~0 3))) (< main_~y~0 main_~x~0) (= (+ main_~b~0 main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) 2))) (* main_~y~0 main_~s~0)) (not (= main_~b~0 0)) (= (mod main_~q~0 2) 0) (<= 0 main_~b~0) (= (* main_~y~0 main_~s~0) (+ main_~b~0 (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) 2))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22601#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:53:58,862 INFO L290 TraceCheckUtils]: 83: Hoare triple {22601#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22605#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:53:58,862 INFO L290 TraceCheckUtils]: 84: Hoare triple {22605#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22342#false} is VALID [2022-04-28 10:53:58,862 INFO L290 TraceCheckUtils]: 85: Hoare triple {22342#false} assume !false; {22342#false} is VALID [2022-04-28 10:53:58,862 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 79 proven. 45 refuted. 0 times theorem prover too weak. 152 trivial. 0 not checked. [2022-04-28 10:53:58,863 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:54:45,135 INFO L290 TraceCheckUtils]: 85: Hoare triple {22342#false} assume !false; {22342#false} is VALID [2022-04-28 10:54:45,136 INFO L290 TraceCheckUtils]: 84: Hoare triple {22605#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22342#false} is VALID [2022-04-28 10:54:45,136 INFO L290 TraceCheckUtils]: 83: Hoare triple {22601#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22605#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:54:45,137 INFO L272 TraceCheckUtils]: 82: Hoare triple {22621#(= 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)); {22601#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:54:45,138 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #69#return; {22621#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:54:45,138 INFO L290 TraceCheckUtils]: 80: Hoare triple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:54:45,139 INFO L290 TraceCheckUtils]: 79: Hoare triple {22635#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:54:45,139 INFO L290 TraceCheckUtils]: 78: Hoare triple {22341#true} ~cond := #in~cond; {22635#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:54:45,139 INFO L272 TraceCheckUtils]: 77: Hoare triple {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:54:45,140 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {22341#true} {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #67#return; {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 10:54:45,140 INFO L290 TraceCheckUtils]: 75: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:54:45,140 INFO L290 TraceCheckUtils]: 74: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:54:45,140 INFO L290 TraceCheckUtils]: 73: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:54:45,140 INFO L272 TraceCheckUtils]: 72: Hoare triple {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:54:45,141 INFO L290 TraceCheckUtils]: 71: Hoare triple {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 10:54:46,216 INFO L290 TraceCheckUtils]: 70: Hoare triple {22660#(or (< main_~b~0 main_~a~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 10:54:46,217 INFO L290 TraceCheckUtils]: 69: Hoare triple {22664#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(~a~0 != ~b~0); {22660#(or (< main_~b~0 main_~a~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 10:54:46,218 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} {22341#true} #71#return; {22664#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 10:54:46,218 INFO L290 TraceCheckUtils]: 67: Hoare triple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:54:46,219 INFO L290 TraceCheckUtils]: 66: Hoare triple {22635#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:54:46,219 INFO L290 TraceCheckUtils]: 65: Hoare triple {22341#true} ~cond := #in~cond; {22635#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:54:46,219 INFO L272 TraceCheckUtils]: 64: Hoare triple {22341#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:54:46,219 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {22341#true} {22341#true} #69#return; {22341#true} is VALID [2022-04-28 10:54:46,219 INFO L290 TraceCheckUtils]: 62: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:54:46,219 INFO L290 TraceCheckUtils]: 61: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:54:46,219 INFO L290 TraceCheckUtils]: 60: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:54:46,219 INFO L272 TraceCheckUtils]: 59: Hoare triple {22341#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:54:46,219 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {22341#true} {22341#true} #67#return; {22341#true} is VALID [2022-04-28 10:54:46,219 INFO L290 TraceCheckUtils]: 57: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:54:46,219 INFO L290 TraceCheckUtils]: 56: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:54:46,219 INFO L290 TraceCheckUtils]: 55: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L272 TraceCheckUtils]: 54: Hoare triple {22341#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L290 TraceCheckUtils]: 53: Hoare triple {22341#true} assume !false; {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L290 TraceCheckUtils]: 52: Hoare triple {22341#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L290 TraceCheckUtils]: 51: Hoare triple {22341#true} assume !!(~a~0 != ~b~0); {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {22341#true} {22341#true} #71#return; {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L290 TraceCheckUtils]: 49: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L290 TraceCheckUtils]: 48: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L290 TraceCheckUtils]: 47: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L272 TraceCheckUtils]: 46: Hoare triple {22341#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {22341#true} {22341#true} #69#return; {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L290 TraceCheckUtils]: 44: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L290 TraceCheckUtils]: 43: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L290 TraceCheckUtils]: 42: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L272 TraceCheckUtils]: 41: Hoare triple {22341#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {22341#true} {22341#true} #67#return; {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L290 TraceCheckUtils]: 39: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L290 TraceCheckUtils]: 38: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L290 TraceCheckUtils]: 37: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:54:46,220 INFO L272 TraceCheckUtils]: 36: Hoare triple {22341#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L290 TraceCheckUtils]: 35: Hoare triple {22341#true} assume !false; {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L290 TraceCheckUtils]: 34: Hoare triple {22341#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L290 TraceCheckUtils]: 33: Hoare triple {22341#true} assume !!(~a~0 != ~b~0); {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {22341#true} {22341#true} #71#return; {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L290 TraceCheckUtils]: 31: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L290 TraceCheckUtils]: 30: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L290 TraceCheckUtils]: 29: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L272 TraceCheckUtils]: 28: Hoare triple {22341#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {22341#true} {22341#true} #69#return; {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L290 TraceCheckUtils]: 26: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L290 TraceCheckUtils]: 25: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L290 TraceCheckUtils]: 24: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L272 TraceCheckUtils]: 23: Hoare triple {22341#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22341#true} {22341#true} #67#return; {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L290 TraceCheckUtils]: 21: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L290 TraceCheckUtils]: 20: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L290 TraceCheckUtils]: 19: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L272 TraceCheckUtils]: 18: Hoare triple {22341#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:54:46,221 INFO L290 TraceCheckUtils]: 17: Hoare triple {22341#true} assume !false; {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L290 TraceCheckUtils]: 16: Hoare triple {22341#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22341#true} {22341#true} #65#return; {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L290 TraceCheckUtils]: 14: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L290 TraceCheckUtils]: 13: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L290 TraceCheckUtils]: 12: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L272 TraceCheckUtils]: 11: Hoare triple {22341#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22341#true} {22341#true} #63#return; {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L290 TraceCheckUtils]: 9: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L290 TraceCheckUtils]: 8: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L290 TraceCheckUtils]: 7: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L272 TraceCheckUtils]: 6: Hoare triple {22341#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L290 TraceCheckUtils]: 5: Hoare triple {22341#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L272 TraceCheckUtils]: 4: Hoare triple {22341#true} call #t~ret6 := main(); {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22341#true} {22341#true} #81#return; {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L290 TraceCheckUtils]: 2: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {22341#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); {22341#true} is VALID [2022-04-28 10:54:46,222 INFO L272 TraceCheckUtils]: 0: Hoare triple {22341#true} call ULTIMATE.init(); {22341#true} is VALID [2022-04-28 10:54:46,223 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 87 proven. 5 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 10:54:46,223 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:54:46,223 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [832687938] [2022-04-28 10:54:46,223 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:54:46,223 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1926133515] [2022-04-28 10:54:46,223 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1926133515] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:54:46,223 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:54:46,223 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 10:54:46,223 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:54:46,223 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1932889572] [2022-04-28 10:54:46,223 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1932889572] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:54:46,224 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:54:46,224 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 10:54:46,224 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [453305500] [2022-04-28 10:54:46,224 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:54:46,224 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-28 10:54:46,224 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:54:46,224 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 10:54:46,286 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:54:46,286 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 10:54:46,286 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:54:46,286 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 10:54:46,286 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=232, Unknown=0, NotChecked=0, Total=306 [2022-04-28 10:54:46,287 INFO L87 Difference]: Start difference. First operand 236 states and 278 transitions. Second operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 10:54:53,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:54:53,058 INFO L93 Difference]: Finished difference Result 282 states and 338 transitions. [2022-04-28 10:54:53,058 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 10:54:53,058 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-28 10:54:53,058 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:54:53,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 10:54:53,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 108 transitions. [2022-04-28 10:54:53,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 10:54:53,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 108 transitions. [2022-04-28 10:54:53,061 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 108 transitions. [2022-04-28 10:54:53,209 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:54:53,215 INFO L225 Difference]: With dead ends: 282 [2022-04-28 10:54:53,215 INFO L226 Difference]: Without dead ends: 272 [2022-04-28 10:54:53,215 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 153 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=87, Invalid=293, Unknown=0, NotChecked=0, Total=380 [2022-04-28 10:54:53,216 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 20 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 569 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 203 SdHoareTripleChecker+Invalid, 589 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 569 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.3s IncrementalHoareTripleChecker+Time [2022-04-28 10:54:53,216 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 203 Invalid, 589 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 569 Invalid, 0 Unknown, 0 Unchecked, 3.3s Time] [2022-04-28 10:54:53,216 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 272 states. [2022-04-28 10:54:53,526 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 272 to 254. [2022-04-28 10:54:53,526 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:54:53,527 INFO L82 GeneralOperation]: Start isEquivalent. First operand 272 states. Second operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 10:54:53,528 INFO L74 IsIncluded]: Start isIncluded. First operand 272 states. Second operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 10:54:53,528 INFO L87 Difference]: Start difference. First operand 272 states. Second operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 10:54:53,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:54:53,538 INFO L93 Difference]: Finished difference Result 272 states and 320 transitions. [2022-04-28 10:54:53,538 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 320 transitions. [2022-04-28 10:54:53,539 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:54:53,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:54:53,540 INFO L74 IsIncluded]: Start isIncluded. First operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) Second operand 272 states. [2022-04-28 10:54:53,540 INFO L87 Difference]: Start difference. First operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) Second operand 272 states. [2022-04-28 10:54:53,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:54:53,545 INFO L93 Difference]: Finished difference Result 272 states and 320 transitions. [2022-04-28 10:54:53,545 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 320 transitions. [2022-04-28 10:54:53,546 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:54:53,546 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:54:53,546 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:54:53,546 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:54:53,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 10:54:53,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 254 states to 254 states and 297 transitions. [2022-04-28 10:54:53,553 INFO L78 Accepts]: Start accepts. Automaton has 254 states and 297 transitions. Word has length 86 [2022-04-28 10:54:53,553 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:54:53,553 INFO L495 AbstractCegarLoop]: Abstraction has 254 states and 297 transitions. [2022-04-28 10:54:53,553 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 10:54:53,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 254 states and 297 transitions. [2022-04-28 10:54:54,768 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 297 edges. 297 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:54:54,769 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 297 transitions. [2022-04-28 10:54:54,769 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 10:54:54,769 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:54:54,769 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:54:54,787 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 10:54:54,970 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:54:54,970 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:54:54,970 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:54:54,970 INFO L85 PathProgramCache]: Analyzing trace with hash 1866224690, now seen corresponding path program 17 times [2022-04-28 10:54:54,971 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:54:54,971 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [532228305] [2022-04-28 10:54:54,971 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:54:54,971 INFO L85 PathProgramCache]: Analyzing trace with hash 1866224690, now seen corresponding path program 18 times [2022-04-28 10:54:54,971 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:54:54,971 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1158101371] [2022-04-28 10:54:54,971 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:54:54,971 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:54:54,987 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:54:54,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1560710319] [2022-04-28 10:54:54,988 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:54:54,988 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:54:54,988 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:54:54,989 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:54:54,989 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 10:54:55,039 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 10:54:55,040 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:54:55,041 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 10:54:55,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:54:55,109 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:55:38,533 INFO L272 TraceCheckUtils]: 0: Hoare triple {24494#true} call ULTIMATE.init(); {24494#true} is VALID [2022-04-28 10:55:38,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {24494#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); {24494#true} is VALID [2022-04-28 10:55:38,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:55:38,533 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24494#true} {24494#true} #81#return; {24494#true} is VALID [2022-04-28 10:55:38,534 INFO L272 TraceCheckUtils]: 4: Hoare triple {24494#true} call #t~ret6 := main(); {24494#true} is VALID [2022-04-28 10:55:38,534 INFO L290 TraceCheckUtils]: 5: Hoare triple {24494#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {24494#true} is VALID [2022-04-28 10:55:38,534 INFO L272 TraceCheckUtils]: 6: Hoare triple {24494#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:55:38,534 INFO L290 TraceCheckUtils]: 7: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:55:38,534 INFO L290 TraceCheckUtils]: 8: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:55:38,534 INFO L290 TraceCheckUtils]: 9: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:55:38,534 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24494#true} {24494#true} #63#return; {24494#true} is VALID [2022-04-28 10:55:38,534 INFO L272 TraceCheckUtils]: 11: Hoare triple {24494#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:55:38,534 INFO L290 TraceCheckUtils]: 12: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:55:38,534 INFO L290 TraceCheckUtils]: 13: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:55:38,534 INFO L290 TraceCheckUtils]: 14: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:55:38,534 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {24494#true} {24494#true} #65#return; {24494#true} is VALID [2022-04-28 10:55:38,534 INFO L290 TraceCheckUtils]: 16: Hoare triple {24494#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:55:38,535 INFO L290 TraceCheckUtils]: 17: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:55:38,535 INFO L272 TraceCheckUtils]: 18: Hoare triple {24547#(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)); {24494#true} is VALID [2022-04-28 10:55:38,535 INFO L290 TraceCheckUtils]: 19: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:55:38,535 INFO L290 TraceCheckUtils]: 20: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:55:38,535 INFO L290 TraceCheckUtils]: 21: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:55:38,535 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:55:38,536 INFO L272 TraceCheckUtils]: 23: Hoare triple {24547#(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)); {24494#true} is VALID [2022-04-28 10:55:38,536 INFO L290 TraceCheckUtils]: 24: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:55:38,536 INFO L290 TraceCheckUtils]: 25: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:55:38,536 INFO L290 TraceCheckUtils]: 26: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:55:38,536 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:55:38,536 INFO L272 TraceCheckUtils]: 28: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:55:38,536 INFO L290 TraceCheckUtils]: 29: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:55:38,536 INFO L290 TraceCheckUtils]: 30: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:55:38,536 INFO L290 TraceCheckUtils]: 31: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:55:38,537 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:55:38,537 INFO L290 TraceCheckUtils]: 33: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:55:38,538 INFO L290 TraceCheckUtils]: 34: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:55:38,538 INFO L290 TraceCheckUtils]: 35: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:55:38,538 INFO L272 TraceCheckUtils]: 36: Hoare triple {24547#(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)); {24494#true} is VALID [2022-04-28 10:55:38,538 INFO L290 TraceCheckUtils]: 37: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:55:38,538 INFO L290 TraceCheckUtils]: 38: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:55:38,538 INFO L290 TraceCheckUtils]: 39: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:55:38,539 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:55:38,539 INFO L272 TraceCheckUtils]: 41: Hoare triple {24547#(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)); {24494#true} is VALID [2022-04-28 10:55:38,539 INFO L290 TraceCheckUtils]: 42: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:55:38,539 INFO L290 TraceCheckUtils]: 43: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:55:38,539 INFO L290 TraceCheckUtils]: 44: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:55:38,539 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:55:38,539 INFO L272 TraceCheckUtils]: 46: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:55:38,540 INFO L290 TraceCheckUtils]: 47: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:55:38,540 INFO L290 TraceCheckUtils]: 48: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:55:38,540 INFO L290 TraceCheckUtils]: 49: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:55:38,540 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:55:38,540 INFO L290 TraceCheckUtils]: 51: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:55:38,541 INFO L290 TraceCheckUtils]: 52: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:55:38,541 INFO L290 TraceCheckUtils]: 53: Hoare triple {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:55:38,541 INFO L272 TraceCheckUtils]: 54: Hoare triple {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~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)); {24494#true} is VALID [2022-04-28 10:55:38,541 INFO L290 TraceCheckUtils]: 55: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:55:38,541 INFO L290 TraceCheckUtils]: 56: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:55:38,542 INFO L290 TraceCheckUtils]: 57: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:55:38,542 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {24494#true} {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #67#return; {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:55:38,542 INFO L272 TraceCheckUtils]: 59: Hoare triple {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~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)); {24494#true} is VALID [2022-04-28 10:55:38,542 INFO L290 TraceCheckUtils]: 60: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:55:38,542 INFO L290 TraceCheckUtils]: 61: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:55:38,542 INFO L290 TraceCheckUtils]: 62: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:55:38,543 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {24494#true} {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #69#return; {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:55:38,543 INFO L272 TraceCheckUtils]: 64: Hoare triple {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~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)); {24494#true} is VALID [2022-04-28 10:55:38,543 INFO L290 TraceCheckUtils]: 65: Hoare triple {24494#true} ~cond := #in~cond; {24696#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:55:38,543 INFO L290 TraceCheckUtils]: 66: Hoare triple {24696#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:55:38,544 INFO L290 TraceCheckUtils]: 67: Hoare triple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:55:38,544 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #71#return; {24707#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:55:38,545 INFO L290 TraceCheckUtils]: 69: Hoare triple {24707#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {24707#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:55:38,645 INFO L290 TraceCheckUtils]: 70: Hoare triple {24707#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 10:55:38,645 INFO L290 TraceCheckUtils]: 71: Hoare triple {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume !false; {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 10:55:38,645 INFO L272 TraceCheckUtils]: 72: Hoare triple {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:55:38,646 INFO L290 TraceCheckUtils]: 73: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:55:38,646 INFO L290 TraceCheckUtils]: 74: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:55:38,646 INFO L290 TraceCheckUtils]: 75: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:55:38,646 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {24494#true} {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #67#return; {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 10:55:38,646 INFO L272 TraceCheckUtils]: 77: Hoare triple {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:55:38,647 INFO L290 TraceCheckUtils]: 78: Hoare triple {24494#true} ~cond := #in~cond; {24696#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:55:38,647 INFO L290 TraceCheckUtils]: 79: Hoare triple {24696#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:55:38,647 INFO L290 TraceCheckUtils]: 80: Hoare triple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:55:40,651 WARN L284 TraceCheckUtils]: 81: Hoare quadruple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #69#return; {24748#(and (= (+ main_~b~0 (* 2 (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) main_~x~0 (* 2 (* (div (* (- 1) main_~s~0) 2) main_~y~0)))) (= (mod main_~s~0 2) 0) (= (mod (+ main_~q~0 1) 2) 0))} is UNKNOWN [2022-04-28 10:55:42,653 WARN L272 TraceCheckUtils]: 82: Hoare triple {24748#(and (= (+ main_~b~0 (* 2 (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) main_~x~0 (* 2 (* (div (* (- 1) main_~s~0) 2) main_~y~0)))) (= (mod main_~s~0 2) 0) (= (mod (+ main_~q~0 1) 2) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24752#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-28 10:55:42,654 INFO L290 TraceCheckUtils]: 83: Hoare triple {24752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:55:42,654 INFO L290 TraceCheckUtils]: 84: Hoare triple {24756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {24495#false} is VALID [2022-04-28 10:55:42,654 INFO L290 TraceCheckUtils]: 85: Hoare triple {24495#false} assume !false; {24495#false} is VALID [2022-04-28 10:55:42,654 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 71 proven. 29 refuted. 0 times theorem prover too weak. 176 trivial. 0 not checked. [2022-04-28 10:55:42,654 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:56:18,180 INFO L290 TraceCheckUtils]: 85: Hoare triple {24495#false} assume !false; {24495#false} is VALID [2022-04-28 10:56:18,180 INFO L290 TraceCheckUtils]: 84: Hoare triple {24756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {24495#false} is VALID [2022-04-28 10:56:18,180 INFO L290 TraceCheckUtils]: 83: Hoare triple {24752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:56:18,181 INFO L272 TraceCheckUtils]: 82: Hoare triple {24772#(= 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)); {24752#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:56:18,182 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #69#return; {24772#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 10:56:18,182 INFO L290 TraceCheckUtils]: 80: Hoare triple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:56:18,182 INFO L290 TraceCheckUtils]: 79: Hoare triple {24786#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:56:18,183 INFO L290 TraceCheckUtils]: 78: Hoare triple {24494#true} ~cond := #in~cond; {24786#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:56:18,183 INFO L272 TraceCheckUtils]: 77: Hoare triple {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:56:18,183 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {24494#true} {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #67#return; {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 10:56:18,183 INFO L290 TraceCheckUtils]: 75: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:56:18,183 INFO L290 TraceCheckUtils]: 74: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:56:18,183 INFO L290 TraceCheckUtils]: 73: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:56:18,183 INFO L272 TraceCheckUtils]: 72: Hoare triple {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:56:18,184 INFO L290 TraceCheckUtils]: 71: Hoare triple {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 10:56:18,367 INFO L290 TraceCheckUtils]: 70: Hoare triple {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 10:56:18,368 INFO L290 TraceCheckUtils]: 69: Hoare triple {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~a~0 != ~b~0); {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 10:56:18,369 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} {24494#true} #71#return; {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 10:56:18,369 INFO L290 TraceCheckUtils]: 67: Hoare triple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:56:18,369 INFO L290 TraceCheckUtils]: 66: Hoare triple {24786#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:56:18,369 INFO L290 TraceCheckUtils]: 65: Hoare triple {24494#true} ~cond := #in~cond; {24786#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:56:18,370 INFO L272 TraceCheckUtils]: 64: Hoare triple {24494#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {24494#true} {24494#true} #69#return; {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L290 TraceCheckUtils]: 62: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L290 TraceCheckUtils]: 61: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L290 TraceCheckUtils]: 60: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L272 TraceCheckUtils]: 59: Hoare triple {24494#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {24494#true} {24494#true} #67#return; {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L290 TraceCheckUtils]: 57: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L290 TraceCheckUtils]: 56: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L290 TraceCheckUtils]: 55: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L272 TraceCheckUtils]: 54: Hoare triple {24494#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L290 TraceCheckUtils]: 53: Hoare triple {24494#true} assume !false; {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L290 TraceCheckUtils]: 52: Hoare triple {24494#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L290 TraceCheckUtils]: 51: Hoare triple {24494#true} assume !!(~a~0 != ~b~0); {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {24494#true} {24494#true} #71#return; {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L290 TraceCheckUtils]: 49: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:56:18,370 INFO L290 TraceCheckUtils]: 48: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L290 TraceCheckUtils]: 47: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L272 TraceCheckUtils]: 46: Hoare triple {24494#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {24494#true} {24494#true} #69#return; {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L290 TraceCheckUtils]: 44: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L290 TraceCheckUtils]: 43: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L290 TraceCheckUtils]: 42: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L272 TraceCheckUtils]: 41: Hoare triple {24494#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {24494#true} {24494#true} #67#return; {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L290 TraceCheckUtils]: 39: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L290 TraceCheckUtils]: 38: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L290 TraceCheckUtils]: 37: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L272 TraceCheckUtils]: 36: Hoare triple {24494#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L290 TraceCheckUtils]: 35: Hoare triple {24494#true} assume !false; {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L290 TraceCheckUtils]: 34: Hoare triple {24494#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L290 TraceCheckUtils]: 33: Hoare triple {24494#true} assume !!(~a~0 != ~b~0); {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {24494#true} {24494#true} #71#return; {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L290 TraceCheckUtils]: 31: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L290 TraceCheckUtils]: 30: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L290 TraceCheckUtils]: 29: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:56:18,371 INFO L272 TraceCheckUtils]: 28: Hoare triple {24494#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {24494#true} {24494#true} #69#return; {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L290 TraceCheckUtils]: 26: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L290 TraceCheckUtils]: 25: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L290 TraceCheckUtils]: 24: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L272 TraceCheckUtils]: 23: Hoare triple {24494#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {24494#true} {24494#true} #67#return; {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L290 TraceCheckUtils]: 21: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L290 TraceCheckUtils]: 20: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L290 TraceCheckUtils]: 19: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L272 TraceCheckUtils]: 18: Hoare triple {24494#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L290 TraceCheckUtils]: 17: Hoare triple {24494#true} assume !false; {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L290 TraceCheckUtils]: 16: Hoare triple {24494#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {24494#true} {24494#true} #65#return; {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L290 TraceCheckUtils]: 14: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L290 TraceCheckUtils]: 13: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L290 TraceCheckUtils]: 12: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L272 TraceCheckUtils]: 11: Hoare triple {24494#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24494#true} {24494#true} #63#return; {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L290 TraceCheckUtils]: 9: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:56:18,372 INFO L290 TraceCheckUtils]: 8: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 10:56:18,373 INFO L290 TraceCheckUtils]: 7: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 10:56:18,373 INFO L272 TraceCheckUtils]: 6: Hoare triple {24494#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {24494#true} is VALID [2022-04-28 10:56:18,373 INFO L290 TraceCheckUtils]: 5: Hoare triple {24494#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {24494#true} is VALID [2022-04-28 10:56:18,373 INFO L272 TraceCheckUtils]: 4: Hoare triple {24494#true} call #t~ret6 := main(); {24494#true} is VALID [2022-04-28 10:56:18,373 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24494#true} {24494#true} #81#return; {24494#true} is VALID [2022-04-28 10:56:18,373 INFO L290 TraceCheckUtils]: 2: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 10:56:18,373 INFO L290 TraceCheckUtils]: 1: Hoare triple {24494#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); {24494#true} is VALID [2022-04-28 10:56:18,373 INFO L272 TraceCheckUtils]: 0: Hoare triple {24494#true} call ULTIMATE.init(); {24494#true} is VALID [2022-04-28 10:56:18,373 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 87 proven. 5 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 10:56:18,373 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:56:18,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1158101371] [2022-04-28 10:56:18,373 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:56:18,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1560710319] [2022-04-28 10:56:18,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1560710319] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:56:18,374 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:56:18,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 14 [2022-04-28 10:56:18,374 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:56:18,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [532228305] [2022-04-28 10:56:18,374 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [532228305] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:56:18,374 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:56:18,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 10:56:18,374 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [149875359] [2022-04-28 10:56:18,374 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:56:18,375 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) Word has length 86 [2022-04-28 10:56:18,375 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:56:18,375 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 10:56:22,587 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 46 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 10:56:22,587 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 10:56:22,587 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:56:22,588 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 10:56:22,588 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=143, Unknown=3, NotChecked=0, Total=182 [2022-04-28 10:56:22,588 INFO L87 Difference]: Start difference. First operand 254 states and 297 transitions. Second operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 10:56:25,407 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 10:56:27,429 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 10:56:33,602 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.61s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 10:56:39,580 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.91s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 10:56:45,638 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 10:56:47,761 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 10:56:51,610 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.62s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 10:56:56,900 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 10:56:57,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:56:57,141 INFO L93 Difference]: Finished difference Result 305 states and 372 transitions. [2022-04-28 10:56:57,141 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 10:56:57,141 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) Word has length 86 [2022-04-28 10:56:57,141 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:56:57,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 10:56:57,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 106 transitions. [2022-04-28 10:56:57,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 10:56:57,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 106 transitions. [2022-04-28 10:56:57,145 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 106 transitions. [2022-04-28 10:57:01,520 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 104 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 10:57:01,525 INFO L225 Difference]: With dead ends: 305 [2022-04-28 10:57:01,525 INFO L226 Difference]: Without dead ends: 291 [2022-04-28 10:57:01,526 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 174 GetRequests, 157 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 9.1s TimeCoverageRelationStatistics Valid=55, Invalid=214, Unknown=3, NotChecked=0, Total=272 [2022-04-28 10:57:01,526 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 21 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 446 mSolverCounterSat, 24 mSolverCounterUnsat, 5 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 18.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 475 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 446 IncrementalHoareTripleChecker+Invalid, 5 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 18.9s IncrementalHoareTripleChecker+Time [2022-04-28 10:57:01,526 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 170 Invalid, 475 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 446 Invalid, 5 Unknown, 0 Unchecked, 18.9s Time] [2022-04-28 10:57:01,527 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 291 states. [2022-04-28 10:57:01,894 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 291 to 287. [2022-04-28 10:57:01,894 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:57:01,894 INFO L82 GeneralOperation]: Start isEquivalent. First operand 291 states. Second operand has 287 states, 176 states have (on average 1.1363636363636365) internal successors, (200), 180 states have internal predecessors, (200), 73 states have call successors, (73), 38 states have call predecessors, (73), 37 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-28 10:57:01,895 INFO L74 IsIncluded]: Start isIncluded. First operand 291 states. Second operand has 287 states, 176 states have (on average 1.1363636363636365) internal successors, (200), 180 states have internal predecessors, (200), 73 states have call successors, (73), 38 states have call predecessors, (73), 37 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-28 10:57:01,895 INFO L87 Difference]: Start difference. First operand 291 states. Second operand has 287 states, 176 states have (on average 1.1363636363636365) internal successors, (200), 180 states have internal predecessors, (200), 73 states have call successors, (73), 38 states have call predecessors, (73), 37 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-28 10:57:01,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:57:01,904 INFO L93 Difference]: Finished difference Result 291 states and 351 transitions. [2022-04-28 10:57:01,904 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 351 transitions. [2022-04-28 10:57:01,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:57:01,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:57:01,905 INFO L74 IsIncluded]: Start isIncluded. First operand has 287 states, 176 states have (on average 1.1363636363636365) internal successors, (200), 180 states have internal predecessors, (200), 73 states have call successors, (73), 38 states have call predecessors, (73), 37 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) Second operand 291 states. [2022-04-28 10:57:01,905 INFO L87 Difference]: Start difference. First operand has 287 states, 176 states have (on average 1.1363636363636365) internal successors, (200), 180 states have internal predecessors, (200), 73 states have call successors, (73), 38 states have call predecessors, (73), 37 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) Second operand 291 states. [2022-04-28 10:57:01,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:57:01,913 INFO L93 Difference]: Finished difference Result 291 states and 351 transitions. [2022-04-28 10:57:01,913 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 351 transitions. [2022-04-28 10:57:01,914 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:57:01,914 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:57:01,914 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:57:01,914 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:57:01,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 287 states, 176 states have (on average 1.1363636363636365) internal successors, (200), 180 states have internal predecessors, (200), 73 states have call successors, (73), 38 states have call predecessors, (73), 37 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-28 10:57:01,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 287 states to 287 states and 344 transitions. [2022-04-28 10:57:01,924 INFO L78 Accepts]: Start accepts. Automaton has 287 states and 344 transitions. Word has length 86 [2022-04-28 10:57:01,924 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:57:01,924 INFO L495 AbstractCegarLoop]: Abstraction has 287 states and 344 transitions. [2022-04-28 10:57:01,924 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 10:57:01,924 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 287 states and 344 transitions. [2022-04-28 10:57:08,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 344 edges. 343 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 10:57:08,876 INFO L276 IsEmpty]: Start isEmpty. Operand 287 states and 344 transitions. [2022-04-28 10:57:08,877 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 10:57:08,877 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:57:08,877 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:57:08,893 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Ended with exit code 0 [2022-04-28 10:57:09,077 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-28 10:57:09,078 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:57:09,078 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:57:09,078 INFO L85 PathProgramCache]: Analyzing trace with hash 396850335, now seen corresponding path program 9 times [2022-04-28 10:57:09,078 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:57:09,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [412191522] [2022-04-28 10:57:09,078 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:57:09,079 INFO L85 PathProgramCache]: Analyzing trace with hash 396850335, now seen corresponding path program 10 times [2022-04-28 10:57:09,079 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:57:09,079 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [499100466] [2022-04-28 10:57:09,079 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:57:09,079 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:57:09,087 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:57:09,087 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1387561860] [2022-04-28 10:57:09,087 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:57:09,088 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:57:09,088 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:57:09,089 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:57:09,091 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 10:57:09,138 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:57:09,138 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:57:09,140 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-28 10:57:09,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:57:09,158 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:57:12,912 INFO L272 TraceCheckUtils]: 0: Hoare triple {26795#true} call ULTIMATE.init(); {26795#true} is VALID [2022-04-28 10:57:12,912 INFO L290 TraceCheckUtils]: 1: Hoare triple {26795#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); {26795#true} is VALID [2022-04-28 10:57:12,912 INFO L290 TraceCheckUtils]: 2: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:57:12,912 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26795#true} {26795#true} #81#return; {26795#true} is VALID [2022-04-28 10:57:12,912 INFO L272 TraceCheckUtils]: 4: Hoare triple {26795#true} call #t~ret6 := main(); {26795#true} is VALID [2022-04-28 10:57:12,912 INFO L290 TraceCheckUtils]: 5: Hoare triple {26795#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {26795#true} is VALID [2022-04-28 10:57:12,912 INFO L272 TraceCheckUtils]: 6: Hoare triple {26795#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:57:12,912 INFO L290 TraceCheckUtils]: 7: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:57:12,912 INFO L290 TraceCheckUtils]: 8: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:57:12,912 INFO L290 TraceCheckUtils]: 9: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:57:12,912 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26795#true} {26795#true} #63#return; {26795#true} is VALID [2022-04-28 10:57:12,912 INFO L272 TraceCheckUtils]: 11: Hoare triple {26795#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:57:12,912 INFO L290 TraceCheckUtils]: 12: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:57:12,912 INFO L290 TraceCheckUtils]: 13: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:57:12,912 INFO L290 TraceCheckUtils]: 14: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:57:12,913 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {26795#true} {26795#true} #65#return; {26795#true} is VALID [2022-04-28 10:57:12,913 INFO L290 TraceCheckUtils]: 16: Hoare triple {26795#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {26848#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:57:12,913 INFO L290 TraceCheckUtils]: 17: Hoare triple {26848#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {26848#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:57:12,913 INFO L272 TraceCheckUtils]: 18: Hoare triple {26848#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= 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)); {26795#true} is VALID [2022-04-28 10:57:12,913 INFO L290 TraceCheckUtils]: 19: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:57:12,913 INFO L290 TraceCheckUtils]: 20: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:57:12,913 INFO L290 TraceCheckUtils]: 21: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:57:12,914 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {26795#true} {26848#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #67#return; {26848#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 10:57:12,914 INFO L272 TraceCheckUtils]: 23: Hoare triple {26848#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:57:12,914 INFO L290 TraceCheckUtils]: 24: Hoare triple {26795#true} ~cond := #in~cond; {26873#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:57:12,915 INFO L290 TraceCheckUtils]: 25: Hoare triple {26873#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:57:12,915 INFO L290 TraceCheckUtils]: 26: Hoare triple {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:57:12,916 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} {26848#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #69#return; {26884#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} is VALID [2022-04-28 10:57:12,916 INFO L272 TraceCheckUtils]: 28: Hoare triple {26884#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:57:12,916 INFO L290 TraceCheckUtils]: 29: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:57:12,916 INFO L290 TraceCheckUtils]: 30: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:57:12,916 INFO L290 TraceCheckUtils]: 31: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:57:12,916 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {26795#true} {26884#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} #71#return; {26884#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} is VALID [2022-04-28 10:57:12,917 INFO L290 TraceCheckUtils]: 33: Hoare triple {26884#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {26884#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} is VALID [2022-04-28 10:57:12,918 INFO L290 TraceCheckUtils]: 34: Hoare triple {26884#(and (= main_~r~0 0) (= 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) (= 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; {26906#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:57:12,919 INFO L290 TraceCheckUtils]: 35: Hoare triple {26906#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} assume !false; {26906#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:57:12,919 INFO L272 TraceCheckUtils]: 36: Hoare triple {26906#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~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)); {26795#true} is VALID [2022-04-28 10:57:12,919 INFO L290 TraceCheckUtils]: 37: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:57:12,919 INFO L290 TraceCheckUtils]: 38: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:57:12,919 INFO L290 TraceCheckUtils]: 39: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:57:12,920 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {26795#true} {26906#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #67#return; {26906#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:57:12,920 INFO L272 TraceCheckUtils]: 41: Hoare triple {26906#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~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)); {26795#true} is VALID [2022-04-28 10:57:12,920 INFO L290 TraceCheckUtils]: 42: Hoare triple {26795#true} ~cond := #in~cond; {26873#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:57:12,920 INFO L290 TraceCheckUtils]: 43: Hoare triple {26873#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:57:12,920 INFO L290 TraceCheckUtils]: 44: Hoare triple {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:57:12,921 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} {26906#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #69#return; {26940#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:57:12,921 INFO L272 TraceCheckUtils]: 46: Hoare triple {26940#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~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)); {26795#true} is VALID [2022-04-28 10:57:12,921 INFO L290 TraceCheckUtils]: 47: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:57:12,921 INFO L290 TraceCheckUtils]: 48: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:57:12,922 INFO L290 TraceCheckUtils]: 49: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:57:12,922 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {26795#true} {26940#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #71#return; {26940#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:57:12,923 INFO L290 TraceCheckUtils]: 51: Hoare triple {26940#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {26940#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:57:12,926 INFO L290 TraceCheckUtils]: 52: Hoare triple {26940#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~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; {26962#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 10:57:12,927 INFO L290 TraceCheckUtils]: 53: Hoare triple {26962#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !false; {26962#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 10:57:12,927 INFO L272 TraceCheckUtils]: 54: Hoare triple {26962#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:57:12,927 INFO L290 TraceCheckUtils]: 55: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:57:12,927 INFO L290 TraceCheckUtils]: 56: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:57:12,927 INFO L290 TraceCheckUtils]: 57: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:57:12,928 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {26795#true} {26962#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #67#return; {26962#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 10:57:12,928 INFO L272 TraceCheckUtils]: 59: Hoare triple {26962#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:57:12,928 INFO L290 TraceCheckUtils]: 60: Hoare triple {26795#true} ~cond := #in~cond; {26873#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:57:12,929 INFO L290 TraceCheckUtils]: 61: Hoare triple {26873#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:57:12,929 INFO L290 TraceCheckUtils]: 62: Hoare triple {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:57:12,930 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} {26962#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #69#return; {26962#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 10:57:12,930 INFO L272 TraceCheckUtils]: 64: Hoare triple {26962#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:57:12,930 INFO L290 TraceCheckUtils]: 65: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:57:12,930 INFO L290 TraceCheckUtils]: 66: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:57:12,930 INFO L290 TraceCheckUtils]: 67: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:57:12,931 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {26795#true} {26962#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #71#return; {26962#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 10:57:12,932 INFO L290 TraceCheckUtils]: 69: Hoare triple {26962#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {26962#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 10:57:12,933 INFO L290 TraceCheckUtils]: 70: Hoare triple {26962#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27017#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:57:12,934 INFO L290 TraceCheckUtils]: 71: Hoare triple {27017#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {27017#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:57:12,934 INFO L272 TraceCheckUtils]: 72: Hoare triple {27017#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= 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)); {26795#true} is VALID [2022-04-28 10:57:12,934 INFO L290 TraceCheckUtils]: 73: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:57:12,934 INFO L290 TraceCheckUtils]: 74: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:57:12,934 INFO L290 TraceCheckUtils]: 75: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:57:12,934 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {26795#true} {27017#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #67#return; {27017#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:57:12,935 INFO L272 TraceCheckUtils]: 77: Hoare triple {27017#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= 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)); {26795#true} is VALID [2022-04-28 10:57:12,935 INFO L290 TraceCheckUtils]: 78: Hoare triple {26795#true} ~cond := #in~cond; {26873#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:57:12,935 INFO L290 TraceCheckUtils]: 79: Hoare triple {26873#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:57:12,935 INFO L290 TraceCheckUtils]: 80: Hoare triple {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:57:12,936 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} {27017#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #69#return; {27017#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:57:12,936 INFO L272 TraceCheckUtils]: 82: Hoare triple {27017#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= 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)); {26795#true} is VALID [2022-04-28 10:57:12,936 INFO L290 TraceCheckUtils]: 83: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:57:12,936 INFO L290 TraceCheckUtils]: 84: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:57:12,936 INFO L290 TraceCheckUtils]: 85: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:57:12,937 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26795#true} {27017#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #71#return; {27017#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:57:12,937 INFO L290 TraceCheckUtils]: 87: Hoare triple {27017#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {27017#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:57:12,941 INFO L290 TraceCheckUtils]: 88: Hoare triple {27017#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= 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; {27072#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} is VALID [2022-04-28 10:57:12,941 INFO L290 TraceCheckUtils]: 89: Hoare triple {27072#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} assume !false; {27072#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} is VALID [2022-04-28 10:57:12,941 INFO L272 TraceCheckUtils]: 90: Hoare triple {27072#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:57:12,941 INFO L290 TraceCheckUtils]: 91: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:57:12,941 INFO L290 TraceCheckUtils]: 92: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:57:12,941 INFO L290 TraceCheckUtils]: 93: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:57:12,942 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {26795#true} {27072#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} #67#return; {27072#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} is VALID [2022-04-28 10:57:12,945 INFO L272 TraceCheckUtils]: 95: Hoare triple {27072#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27094#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:57:12,946 INFO L290 TraceCheckUtils]: 96: Hoare triple {27094#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27098#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:57:12,946 INFO L290 TraceCheckUtils]: 97: Hoare triple {27098#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {26796#false} is VALID [2022-04-28 10:57:12,946 INFO L290 TraceCheckUtils]: 98: Hoare triple {26796#false} assume !false; {26796#false} is VALID [2022-04-28 10:57:12,947 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 70 proven. 112 refuted. 0 times theorem prover too weak. 208 trivial. 0 not checked. [2022-04-28 10:57:12,947 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:58:21,643 INFO L290 TraceCheckUtils]: 98: Hoare triple {26796#false} assume !false; {26796#false} is VALID [2022-04-28 10:58:21,643 INFO L290 TraceCheckUtils]: 97: Hoare triple {27098#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {26796#false} is VALID [2022-04-28 10:58:21,644 INFO L290 TraceCheckUtils]: 96: Hoare triple {27094#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27098#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:58:21,644 INFO L272 TraceCheckUtils]: 95: Hoare triple {27114#(= 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)); {27094#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:58:21,645 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {26795#true} {27114#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {27114#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:58:21,645 INFO L290 TraceCheckUtils]: 93: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:58:21,645 INFO L290 TraceCheckUtils]: 92: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:58:21,645 INFO L290 TraceCheckUtils]: 91: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:58:21,645 INFO L272 TraceCheckUtils]: 90: Hoare triple {27114#(= 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)); {26795#true} is VALID [2022-04-28 10:58:21,645 INFO L290 TraceCheckUtils]: 89: Hoare triple {27114#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {27114#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:58:21,797 INFO L290 TraceCheckUtils]: 88: Hoare triple {27136#(= (+ main_~a~0 (* (- 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; {27114#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:58:21,798 INFO L290 TraceCheckUtils]: 87: Hoare triple {27136#(= (+ main_~a~0 (* (- 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); {27136#(= (+ main_~a~0 (* (- 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 10:58:21,798 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26795#true} {27136#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #71#return; {27136#(= (+ main_~a~0 (* (- 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 10:58:21,798 INFO L290 TraceCheckUtils]: 85: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:58:21,798 INFO L290 TraceCheckUtils]: 84: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:58:21,798 INFO L290 TraceCheckUtils]: 83: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:58:21,799 INFO L272 TraceCheckUtils]: 82: Hoare triple {27136#(= (+ main_~a~0 (* (- 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)); {26795#true} is VALID [2022-04-28 10:58:21,799 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} {27158#(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)))))} #69#return; {27136#(= (+ main_~a~0 (* (- 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 10:58:21,800 INFO L290 TraceCheckUtils]: 80: Hoare triple {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:58:21,800 INFO L290 TraceCheckUtils]: 79: Hoare triple {27168#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:58:21,800 INFO L290 TraceCheckUtils]: 78: Hoare triple {26795#true} ~cond := #in~cond; {27168#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:58:21,800 INFO L272 TraceCheckUtils]: 77: Hoare triple {27158#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:58:21,801 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {26795#true} {27158#(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)))))} #67#return; {27158#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 10:58:21,801 INFO L290 TraceCheckUtils]: 75: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:58:21,801 INFO L290 TraceCheckUtils]: 74: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:58:21,801 INFO L290 TraceCheckUtils]: 73: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:58:21,801 INFO L272 TraceCheckUtils]: 72: Hoare triple {27158#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:58:21,801 INFO L290 TraceCheckUtils]: 71: Hoare triple {27158#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {27158#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 10:58:21,853 INFO L290 TraceCheckUtils]: 70: Hoare triple {27193#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27158#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 10:58:21,853 INFO L290 TraceCheckUtils]: 69: Hoare triple {27193#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(~a~0 != ~b~0); {27193#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 10:58:21,854 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {26795#true} {27193#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #71#return; {27193#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 10:58:21,854 INFO L290 TraceCheckUtils]: 67: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:58:21,854 INFO L290 TraceCheckUtils]: 66: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:58:21,854 INFO L290 TraceCheckUtils]: 65: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:58:21,854 INFO L272 TraceCheckUtils]: 64: Hoare triple {27193#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:58:21,856 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} {26795#true} #69#return; {27193#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 10:58:21,856 INFO L290 TraceCheckUtils]: 62: Hoare triple {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:58:21,857 INFO L290 TraceCheckUtils]: 61: Hoare triple {27168#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {26877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:58:21,857 INFO L290 TraceCheckUtils]: 60: Hoare triple {26795#true} ~cond := #in~cond; {27168#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:58:21,857 INFO L272 TraceCheckUtils]: 59: Hoare triple {26795#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:58:21,857 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {26795#true} {26795#true} #67#return; {26795#true} is VALID [2022-04-28 10:58:21,857 INFO L290 TraceCheckUtils]: 57: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:58:21,857 INFO L290 TraceCheckUtils]: 56: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:58:21,857 INFO L290 TraceCheckUtils]: 55: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:58:21,857 INFO L272 TraceCheckUtils]: 54: Hoare triple {26795#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:58:21,857 INFO L290 TraceCheckUtils]: 53: Hoare triple {26795#true} assume !false; {26795#true} is VALID [2022-04-28 10:58:21,857 INFO L290 TraceCheckUtils]: 52: Hoare triple {26795#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {26795#true} is VALID [2022-04-28 10:58:21,857 INFO L290 TraceCheckUtils]: 51: Hoare triple {26795#true} assume !!(~a~0 != ~b~0); {26795#true} is VALID [2022-04-28 10:58:21,857 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {26795#true} {26795#true} #71#return; {26795#true} is VALID [2022-04-28 10:58:21,857 INFO L290 TraceCheckUtils]: 49: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:58:21,857 INFO L290 TraceCheckUtils]: 48: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:58:21,857 INFO L290 TraceCheckUtils]: 47: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L272 TraceCheckUtils]: 46: Hoare triple {26795#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {26795#true} {26795#true} #69#return; {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L290 TraceCheckUtils]: 44: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L290 TraceCheckUtils]: 43: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L290 TraceCheckUtils]: 42: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L272 TraceCheckUtils]: 41: Hoare triple {26795#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {26795#true} {26795#true} #67#return; {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L290 TraceCheckUtils]: 39: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L290 TraceCheckUtils]: 38: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L290 TraceCheckUtils]: 37: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L272 TraceCheckUtils]: 36: Hoare triple {26795#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L290 TraceCheckUtils]: 35: Hoare triple {26795#true} assume !false; {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L290 TraceCheckUtils]: 34: Hoare triple {26795#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L290 TraceCheckUtils]: 33: Hoare triple {26795#true} assume !!(~a~0 != ~b~0); {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {26795#true} {26795#true} #71#return; {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L290 TraceCheckUtils]: 31: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L290 TraceCheckUtils]: 30: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L290 TraceCheckUtils]: 29: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L272 TraceCheckUtils]: 28: Hoare triple {26795#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:58:21,858 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {26795#true} {26795#true} #69#return; {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L290 TraceCheckUtils]: 26: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L290 TraceCheckUtils]: 25: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L290 TraceCheckUtils]: 24: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L272 TraceCheckUtils]: 23: Hoare triple {26795#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {26795#true} {26795#true} #67#return; {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L290 TraceCheckUtils]: 21: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L290 TraceCheckUtils]: 20: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L290 TraceCheckUtils]: 19: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L272 TraceCheckUtils]: 18: Hoare triple {26795#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L290 TraceCheckUtils]: 17: Hoare triple {26795#true} assume !false; {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L290 TraceCheckUtils]: 16: Hoare triple {26795#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {26795#true} {26795#true} #65#return; {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L290 TraceCheckUtils]: 14: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L290 TraceCheckUtils]: 13: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L290 TraceCheckUtils]: 12: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L272 TraceCheckUtils]: 11: Hoare triple {26795#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26795#true} {26795#true} #63#return; {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L290 TraceCheckUtils]: 9: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:58:21,859 INFO L290 TraceCheckUtils]: 8: Hoare triple {26795#true} assume !(0 == ~cond); {26795#true} is VALID [2022-04-28 10:58:21,860 INFO L290 TraceCheckUtils]: 7: Hoare triple {26795#true} ~cond := #in~cond; {26795#true} is VALID [2022-04-28 10:58:21,860 INFO L272 TraceCheckUtils]: 6: Hoare triple {26795#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {26795#true} is VALID [2022-04-28 10:58:21,860 INFO L290 TraceCheckUtils]: 5: Hoare triple {26795#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {26795#true} is VALID [2022-04-28 10:58:21,860 INFO L272 TraceCheckUtils]: 4: Hoare triple {26795#true} call #t~ret6 := main(); {26795#true} is VALID [2022-04-28 10:58:21,860 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26795#true} {26795#true} #81#return; {26795#true} is VALID [2022-04-28 10:58:21,860 INFO L290 TraceCheckUtils]: 2: Hoare triple {26795#true} assume true; {26795#true} is VALID [2022-04-28 10:58:21,860 INFO L290 TraceCheckUtils]: 1: Hoare triple {26795#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); {26795#true} is VALID [2022-04-28 10:58:21,860 INFO L272 TraceCheckUtils]: 0: Hoare triple {26795#true} call ULTIMATE.init(); {26795#true} is VALID [2022-04-28 10:58:21,860 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 102 proven. 26 refuted. 0 times theorem prover too weak. 262 trivial. 0 not checked. [2022-04-28 10:58:21,860 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:58:21,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [499100466] [2022-04-28 10:58:21,860 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:58:21,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1387561860] [2022-04-28 10:58:21,861 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1387561860] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:58:21,861 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:58:21,861 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 10:58:21,861 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:58:21,861 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [412191522] [2022-04-28 10:58:21,861 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [412191522] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:58:21,861 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:58:21,861 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 10:58:21,861 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [598540313] [2022-04-28 10:58:21,861 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:58:21,861 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) Word has length 99 [2022-04-28 10:58:21,862 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:58:21,862 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-28 10:58:21,934 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 10:58:21,934 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 10:58:21,934 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:58:21,934 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 10:58:21,935 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=247, Unknown=0, NotChecked=0, Total=306 [2022-04-28 10:58:21,935 INFO L87 Difference]: Start difference. First operand 287 states and 344 transitions. Second operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-28 10:58:25,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:58:25,740 INFO L93 Difference]: Finished difference Result 317 states and 383 transitions. [2022-04-28 10:58:25,740 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 10:58:25,740 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) Word has length 99 [2022-04-28 10:58:25,740 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:58:25,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-28 10:58:25,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-28 10:58:25,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-28 10:58:25,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-28 10:58:25,744 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 100 transitions. [2022-04-28 10:58:25,920 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:58:25,928 INFO L225 Difference]: With dead ends: 317 [2022-04-28 10:58:25,928 INFO L226 Difference]: Without dead ends: 315 [2022-04-28 10:58:25,928 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 199 GetRequests, 178 SyntacticMatches, 3 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=72, Invalid=308, Unknown=0, NotChecked=0, Total=380 [2022-04-28 10:58:25,929 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 16 mSDsluCounter, 196 mSDsCounter, 0 mSdLazyCounter, 692 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 243 SdHoareTripleChecker+Invalid, 713 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 692 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-28 10:58:25,929 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 243 Invalid, 713 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 692 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-28 10:58:25,930 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 315 states. [2022-04-28 10:58:26,349 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 315 to 311. [2022-04-28 10:58:26,349 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:58:26,350 INFO L82 GeneralOperation]: Start isEquivalent. First operand 315 states. Second operand has 311 states, 191 states have (on average 1.1413612565445026) internal successors, (218), 195 states have internal predecessors, (218), 79 states have call successors, (79), 41 states have call predecessors, (79), 40 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 10:58:26,350 INFO L74 IsIncluded]: Start isIncluded. First operand 315 states. Second operand has 311 states, 191 states have (on average 1.1413612565445026) internal successors, (218), 195 states have internal predecessors, (218), 79 states have call successors, (79), 41 states have call predecessors, (79), 40 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 10:58:26,351 INFO L87 Difference]: Start difference. First operand 315 states. Second operand has 311 states, 191 states have (on average 1.1413612565445026) internal successors, (218), 195 states have internal predecessors, (218), 79 states have call successors, (79), 41 states have call predecessors, (79), 40 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 10:58:26,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:58:26,359 INFO L93 Difference]: Finished difference Result 315 states and 381 transitions. [2022-04-28 10:58:26,359 INFO L276 IsEmpty]: Start isEmpty. Operand 315 states and 381 transitions. [2022-04-28 10:58:26,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:58:26,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:58:26,360 INFO L74 IsIncluded]: Start isIncluded. First operand has 311 states, 191 states have (on average 1.1413612565445026) internal successors, (218), 195 states have internal predecessors, (218), 79 states have call successors, (79), 41 states have call predecessors, (79), 40 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) Second operand 315 states. [2022-04-28 10:58:26,360 INFO L87 Difference]: Start difference. First operand has 311 states, 191 states have (on average 1.1413612565445026) internal successors, (218), 195 states have internal predecessors, (218), 79 states have call successors, (79), 41 states have call predecessors, (79), 40 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) Second operand 315 states. [2022-04-28 10:58:26,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:58:26,368 INFO L93 Difference]: Finished difference Result 315 states and 381 transitions. [2022-04-28 10:58:26,368 INFO L276 IsEmpty]: Start isEmpty. Operand 315 states and 381 transitions. [2022-04-28 10:58:26,369 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:58:26,369 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:58:26,369 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:58:26,369 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:58:26,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 311 states, 191 states have (on average 1.1413612565445026) internal successors, (218), 195 states have internal predecessors, (218), 79 states have call successors, (79), 41 states have call predecessors, (79), 40 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 10:58:26,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 311 states to 311 states and 374 transitions. [2022-04-28 10:58:26,386 INFO L78 Accepts]: Start accepts. Automaton has 311 states and 374 transitions. Word has length 99 [2022-04-28 10:58:26,386 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:58:26,386 INFO L495 AbstractCegarLoop]: Abstraction has 311 states and 374 transitions. [2022-04-28 10:58:26,387 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-28 10:58:26,387 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 311 states and 374 transitions. [2022-04-28 10:58:33,294 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 374 edges. 373 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 10:58:33,294 INFO L276 IsEmpty]: Start isEmpty. Operand 311 states and 374 transitions. [2022-04-28 10:58:33,295 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 10:58:33,295 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:58:33,295 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:58:33,315 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-28 10:58:33,507 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-28 10:58:33,507 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:58:33,507 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:58:33,508 INFO L85 PathProgramCache]: Analyzing trace with hash 1783053729, now seen corresponding path program 19 times [2022-04-28 10:58:33,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:58:33,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1874864986] [2022-04-28 10:58:33,508 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:58:33,508 INFO L85 PathProgramCache]: Analyzing trace with hash 1783053729, now seen corresponding path program 20 times [2022-04-28 10:58:33,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:58:33,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [845318198] [2022-04-28 10:58:33,508 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:58:33,508 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:58:33,517 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:58:33,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1743201427] [2022-04-28 10:58:33,517 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:58:33,517 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:58:33,517 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:58:33,518 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:58:33,535 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 10:58:33,576 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:58:33,576 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:58:33,577 INFO L263 TraceCheckSpWp]: Trace formula consists of 240 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 10:58:33,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:58:33,594 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:58:34,749 INFO L272 TraceCheckUtils]: 0: Hoare triple {29296#true} call ULTIMATE.init(); {29296#true} is VALID [2022-04-28 10:58:34,749 INFO L290 TraceCheckUtils]: 1: Hoare triple {29296#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); {29296#true} is VALID [2022-04-28 10:58:34,750 INFO L290 TraceCheckUtils]: 2: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,750 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29296#true} {29296#true} #81#return; {29296#true} is VALID [2022-04-28 10:58:34,750 INFO L272 TraceCheckUtils]: 4: Hoare triple {29296#true} call #t~ret6 := main(); {29296#true} is VALID [2022-04-28 10:58:34,750 INFO L290 TraceCheckUtils]: 5: Hoare triple {29296#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29296#true} is VALID [2022-04-28 10:58:34,750 INFO L272 TraceCheckUtils]: 6: Hoare triple {29296#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:34,750 INFO L290 TraceCheckUtils]: 7: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:34,750 INFO L290 TraceCheckUtils]: 8: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:34,750 INFO L290 TraceCheckUtils]: 9: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,750 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29296#true} {29296#true} #63#return; {29296#true} is VALID [2022-04-28 10:58:34,750 INFO L272 TraceCheckUtils]: 11: Hoare triple {29296#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:34,750 INFO L290 TraceCheckUtils]: 12: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:34,750 INFO L290 TraceCheckUtils]: 13: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:34,750 INFO L290 TraceCheckUtils]: 14: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,750 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29296#true} {29296#true} #65#return; {29296#true} is VALID [2022-04-28 10:58:34,751 INFO L290 TraceCheckUtils]: 16: Hoare triple {29296#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29349#(and (= main_~r~0 0) (= 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 10:58:34,751 INFO L290 TraceCheckUtils]: 17: Hoare triple {29349#(and (= main_~r~0 0) (= 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; {29349#(and (= main_~r~0 0) (= 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 10:58:34,751 INFO L272 TraceCheckUtils]: 18: Hoare triple {29349#(and (= main_~r~0 0) (= 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)); {29296#true} is VALID [2022-04-28 10:58:34,751 INFO L290 TraceCheckUtils]: 19: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:34,751 INFO L290 TraceCheckUtils]: 20: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:34,751 INFO L290 TraceCheckUtils]: 21: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,752 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {29296#true} {29349#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {29349#(and (= main_~r~0 0) (= 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 10:58:34,752 INFO L272 TraceCheckUtils]: 23: Hoare triple {29349#(and (= main_~r~0 0) (= 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)); {29296#true} is VALID [2022-04-28 10:58:34,752 INFO L290 TraceCheckUtils]: 24: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:34,752 INFO L290 TraceCheckUtils]: 25: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:34,752 INFO L290 TraceCheckUtils]: 26: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,753 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {29296#true} {29349#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {29349#(and (= main_~r~0 0) (= 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 10:58:34,753 INFO L272 TraceCheckUtils]: 28: Hoare triple {29349#(and (= main_~r~0 0) (= 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)); {29296#true} is VALID [2022-04-28 10:58:34,753 INFO L290 TraceCheckUtils]: 29: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:34,753 INFO L290 TraceCheckUtils]: 30: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:34,753 INFO L290 TraceCheckUtils]: 31: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,753 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {29296#true} {29349#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {29349#(and (= main_~r~0 0) (= 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 10:58:34,754 INFO L290 TraceCheckUtils]: 33: Hoare triple {29349#(and (= main_~r~0 0) (= 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); {29349#(and (= main_~r~0 0) (= 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 10:58:34,754 INFO L290 TraceCheckUtils]: 34: Hoare triple {29349#(and (= main_~r~0 0) (= 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; {29404#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 10:58:34,755 INFO L290 TraceCheckUtils]: 35: Hoare triple {29404#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !false; {29404#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 10:58:34,755 INFO L272 TraceCheckUtils]: 36: Hoare triple {29404#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:34,755 INFO L290 TraceCheckUtils]: 37: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:34,755 INFO L290 TraceCheckUtils]: 38: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:34,755 INFO L290 TraceCheckUtils]: 39: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,755 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {29296#true} {29404#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #67#return; {29404#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 10:58:34,755 INFO L272 TraceCheckUtils]: 41: Hoare triple {29404#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:34,756 INFO L290 TraceCheckUtils]: 42: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:34,756 INFO L290 TraceCheckUtils]: 43: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:34,756 INFO L290 TraceCheckUtils]: 44: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,756 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {29296#true} {29404#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #69#return; {29404#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 10:58:34,756 INFO L272 TraceCheckUtils]: 46: Hoare triple {29404#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:34,756 INFO L290 TraceCheckUtils]: 47: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:34,756 INFO L290 TraceCheckUtils]: 48: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:34,756 INFO L290 TraceCheckUtils]: 49: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,757 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {29296#true} {29404#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #71#return; {29404#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 10:58:34,757 INFO L290 TraceCheckUtils]: 51: Hoare triple {29404#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {29404#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 10:58:34,759 INFO L290 TraceCheckUtils]: 52: Hoare triple {29404#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~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; {29459#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 10:58:34,759 INFO L290 TraceCheckUtils]: 53: Hoare triple {29459#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} assume !false; {29459#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 10:58:34,759 INFO L272 TraceCheckUtils]: 54: Hoare triple {29459#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:34,759 INFO L290 TraceCheckUtils]: 55: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:34,759 INFO L290 TraceCheckUtils]: 56: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:34,759 INFO L290 TraceCheckUtils]: 57: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,760 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {29296#true} {29459#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #67#return; {29459#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 10:58:34,760 INFO L272 TraceCheckUtils]: 59: Hoare triple {29459#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:34,760 INFO L290 TraceCheckUtils]: 60: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:34,760 INFO L290 TraceCheckUtils]: 61: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:34,760 INFO L290 TraceCheckUtils]: 62: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,761 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {29296#true} {29459#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #69#return; {29459#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 10:58:34,761 INFO L272 TraceCheckUtils]: 64: Hoare triple {29459#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:34,761 INFO L290 TraceCheckUtils]: 65: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:34,761 INFO L290 TraceCheckUtils]: 66: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:34,761 INFO L290 TraceCheckUtils]: 67: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,780 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {29296#true} {29459#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #71#return; {29459#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 10:58:34,781 INFO L290 TraceCheckUtils]: 69: Hoare triple {29459#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {29511#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:58:34,782 INFO L290 TraceCheckUtils]: 70: Hoare triple {29511#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29515#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 10:58:34,783 INFO L290 TraceCheckUtils]: 71: Hoare triple {29515#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {29515#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 10:58:34,783 INFO L272 TraceCheckUtils]: 72: Hoare triple {29515#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~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)); {29296#true} is VALID [2022-04-28 10:58:34,783 INFO L290 TraceCheckUtils]: 73: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:34,783 INFO L290 TraceCheckUtils]: 74: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:34,783 INFO L290 TraceCheckUtils]: 75: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,784 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {29296#true} {29515#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #67#return; {29515#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 10:58:34,784 INFO L272 TraceCheckUtils]: 77: Hoare triple {29515#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~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)); {29296#true} is VALID [2022-04-28 10:58:34,784 INFO L290 TraceCheckUtils]: 78: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:34,784 INFO L290 TraceCheckUtils]: 79: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:34,784 INFO L290 TraceCheckUtils]: 80: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,786 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {29296#true} {29515#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #69#return; {29515#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 10:58:34,786 INFO L272 TraceCheckUtils]: 82: Hoare triple {29515#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~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)); {29296#true} is VALID [2022-04-28 10:58:34,786 INFO L290 TraceCheckUtils]: 83: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:34,786 INFO L290 TraceCheckUtils]: 84: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:34,786 INFO L290 TraceCheckUtils]: 85: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,787 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {29296#true} {29515#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #71#return; {29515#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 10:58:34,788 INFO L290 TraceCheckUtils]: 87: Hoare triple {29515#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {29515#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 10:58:34,790 INFO L290 TraceCheckUtils]: 88: Hoare triple {29515#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~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; {29570#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} is VALID [2022-04-28 10:58:34,790 INFO L290 TraceCheckUtils]: 89: Hoare triple {29570#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} assume !false; {29570#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} is VALID [2022-04-28 10:58:34,790 INFO L272 TraceCheckUtils]: 90: Hoare triple {29570#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:34,790 INFO L290 TraceCheckUtils]: 91: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:34,790 INFO L290 TraceCheckUtils]: 92: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:34,790 INFO L290 TraceCheckUtils]: 93: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:34,791 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29296#true} {29570#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} #67#return; {29570#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} is VALID [2022-04-28 10:58:34,792 INFO L272 TraceCheckUtils]: 95: Hoare triple {29570#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29592#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:58:34,792 INFO L290 TraceCheckUtils]: 96: Hoare triple {29592#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29596#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:58:34,792 INFO L290 TraceCheckUtils]: 97: Hoare triple {29596#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29297#false} is VALID [2022-04-28 10:58:34,792 INFO L290 TraceCheckUtils]: 98: Hoare triple {29297#false} assume !false; {29297#false} is VALID [2022-04-28 10:58:34,793 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 26 proven. 48 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-28 10:58:34,793 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:58:35,570 INFO L290 TraceCheckUtils]: 98: Hoare triple {29297#false} assume !false; {29297#false} is VALID [2022-04-28 10:58:35,570 INFO L290 TraceCheckUtils]: 97: Hoare triple {29596#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29297#false} is VALID [2022-04-28 10:58:35,571 INFO L290 TraceCheckUtils]: 96: Hoare triple {29592#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29596#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:58:35,571 INFO L272 TraceCheckUtils]: 95: Hoare triple {29612#(= 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)); {29592#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:58:35,572 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29296#true} {29612#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {29612#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:58:35,572 INFO L290 TraceCheckUtils]: 93: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:35,572 INFO L290 TraceCheckUtils]: 92: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:35,572 INFO L290 TraceCheckUtils]: 91: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:35,572 INFO L272 TraceCheckUtils]: 90: Hoare triple {29612#(= 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)); {29296#true} is VALID [2022-04-28 10:58:35,572 INFO L290 TraceCheckUtils]: 89: Hoare triple {29612#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {29612#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:58:36,052 INFO L290 TraceCheckUtils]: 88: Hoare triple {29634#(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; {29612#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:58:36,053 INFO L290 TraceCheckUtils]: 87: Hoare triple {29634#(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); {29634#(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 10:58:36,054 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {29296#true} {29634#(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)))} #71#return; {29634#(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 10:58:36,054 INFO L290 TraceCheckUtils]: 85: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:36,054 INFO L290 TraceCheckUtils]: 84: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:36,054 INFO L290 TraceCheckUtils]: 83: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:36,054 INFO L272 TraceCheckUtils]: 82: Hoare triple {29634#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:36,055 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {29296#true} {29634#(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)))} #69#return; {29634#(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 10:58:36,055 INFO L290 TraceCheckUtils]: 80: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:36,055 INFO L290 TraceCheckUtils]: 79: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:36,055 INFO L290 TraceCheckUtils]: 78: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:36,055 INFO L272 TraceCheckUtils]: 77: Hoare triple {29634#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:36,055 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {29296#true} {29634#(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)))} #67#return; {29634#(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 10:58:36,056 INFO L290 TraceCheckUtils]: 75: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:36,056 INFO L290 TraceCheckUtils]: 74: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:36,056 INFO L290 TraceCheckUtils]: 73: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:36,056 INFO L272 TraceCheckUtils]: 72: Hoare triple {29634#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:36,056 INFO L290 TraceCheckUtils]: 71: Hoare triple {29634#(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 !false; {29634#(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 10:58:36,319 INFO L290 TraceCheckUtils]: 70: Hoare triple {29689#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29634#(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 10:58:36,319 INFO L290 TraceCheckUtils]: 69: Hoare triple {29693#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(~a~0 != ~b~0); {29689#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 10:58:36,320 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {29296#true} {29693#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #71#return; {29693#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 10:58:36,320 INFO L290 TraceCheckUtils]: 67: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:36,320 INFO L290 TraceCheckUtils]: 66: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:36,320 INFO L290 TraceCheckUtils]: 65: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:36,320 INFO L272 TraceCheckUtils]: 64: Hoare triple {29693#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:36,321 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {29296#true} {29693#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #69#return; {29693#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 10:58:36,321 INFO L290 TraceCheckUtils]: 62: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:36,321 INFO L290 TraceCheckUtils]: 61: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:36,321 INFO L290 TraceCheckUtils]: 60: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:36,321 INFO L272 TraceCheckUtils]: 59: Hoare triple {29693#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:36,322 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {29296#true} {29693#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #67#return; {29693#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 10:58:36,322 INFO L290 TraceCheckUtils]: 57: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:36,322 INFO L290 TraceCheckUtils]: 56: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:36,322 INFO L290 TraceCheckUtils]: 55: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:36,322 INFO L272 TraceCheckUtils]: 54: Hoare triple {29693#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:36,322 INFO L290 TraceCheckUtils]: 53: Hoare triple {29693#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !false; {29693#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 10:58:38,103 INFO L290 TraceCheckUtils]: 52: Hoare triple {29745#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {29693#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 10:58:38,103 INFO L290 TraceCheckUtils]: 51: Hoare triple {29745#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} assume !!(~a~0 != ~b~0); {29745#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 10:58:38,104 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {29296#true} {29745#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #71#return; {29745#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 10:58:38,104 INFO L290 TraceCheckUtils]: 49: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:38,104 INFO L290 TraceCheckUtils]: 48: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:38,104 INFO L290 TraceCheckUtils]: 47: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:38,104 INFO L272 TraceCheckUtils]: 46: Hoare triple {29745#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:38,105 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {29296#true} {29745#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #69#return; {29745#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 10:58:38,105 INFO L290 TraceCheckUtils]: 44: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:38,105 INFO L290 TraceCheckUtils]: 43: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:38,105 INFO L290 TraceCheckUtils]: 42: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:38,105 INFO L272 TraceCheckUtils]: 41: Hoare triple {29745#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:38,106 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {29296#true} {29745#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #67#return; {29745#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 10:58:38,106 INFO L290 TraceCheckUtils]: 39: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:38,106 INFO L290 TraceCheckUtils]: 38: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:38,106 INFO L290 TraceCheckUtils]: 37: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:38,106 INFO L272 TraceCheckUtils]: 36: Hoare triple {29745#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:38,106 INFO L290 TraceCheckUtils]: 35: Hoare triple {29745#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} assume !false; {29745#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 10:58:38,474 INFO L290 TraceCheckUtils]: 34: Hoare triple {29800#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {29745#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 10:58:38,475 INFO L290 TraceCheckUtils]: 33: Hoare triple {29800#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} assume !!(~a~0 != ~b~0); {29800#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 10:58:38,476 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {29296#true} {29800#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #71#return; {29800#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 10:58:38,476 INFO L290 TraceCheckUtils]: 31: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:38,476 INFO L290 TraceCheckUtils]: 30: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:38,476 INFO L290 TraceCheckUtils]: 29: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:38,476 INFO L272 TraceCheckUtils]: 28: Hoare triple {29800#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:38,477 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {29296#true} {29800#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #69#return; {29800#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 10:58:38,477 INFO L290 TraceCheckUtils]: 26: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:38,477 INFO L290 TraceCheckUtils]: 25: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:38,477 INFO L290 TraceCheckUtils]: 24: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:38,477 INFO L272 TraceCheckUtils]: 23: Hoare triple {29800#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:38,483 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {29296#true} {29800#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #67#return; {29800#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 10:58:38,484 INFO L290 TraceCheckUtils]: 21: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:38,484 INFO L290 TraceCheckUtils]: 20: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:38,484 INFO L290 TraceCheckUtils]: 19: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:38,484 INFO L272 TraceCheckUtils]: 18: Hoare triple {29800#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:38,485 INFO L290 TraceCheckUtils]: 17: Hoare triple {29800#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} assume !false; {29800#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 10:58:38,485 INFO L290 TraceCheckUtils]: 16: Hoare triple {29296#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29800#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 10:58:38,485 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29296#true} {29296#true} #65#return; {29296#true} is VALID [2022-04-28 10:58:38,485 INFO L290 TraceCheckUtils]: 14: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:38,486 INFO L290 TraceCheckUtils]: 13: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:38,486 INFO L290 TraceCheckUtils]: 12: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:38,486 INFO L272 TraceCheckUtils]: 11: Hoare triple {29296#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:38,486 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29296#true} {29296#true} #63#return; {29296#true} is VALID [2022-04-28 10:58:38,486 INFO L290 TraceCheckUtils]: 9: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:38,486 INFO L290 TraceCheckUtils]: 8: Hoare triple {29296#true} assume !(0 == ~cond); {29296#true} is VALID [2022-04-28 10:58:38,486 INFO L290 TraceCheckUtils]: 7: Hoare triple {29296#true} ~cond := #in~cond; {29296#true} is VALID [2022-04-28 10:58:38,486 INFO L272 TraceCheckUtils]: 6: Hoare triple {29296#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29296#true} is VALID [2022-04-28 10:58:38,486 INFO L290 TraceCheckUtils]: 5: Hoare triple {29296#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29296#true} is VALID [2022-04-28 10:58:38,486 INFO L272 TraceCheckUtils]: 4: Hoare triple {29296#true} call #t~ret6 := main(); {29296#true} is VALID [2022-04-28 10:58:38,486 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29296#true} {29296#true} #81#return; {29296#true} is VALID [2022-04-28 10:58:38,486 INFO L290 TraceCheckUtils]: 2: Hoare triple {29296#true} assume true; {29296#true} is VALID [2022-04-28 10:58:38,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {29296#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); {29296#true} is VALID [2022-04-28 10:58:38,487 INFO L272 TraceCheckUtils]: 0: Hoare triple {29296#true} call ULTIMATE.init(); {29296#true} is VALID [2022-04-28 10:58:38,487 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 26 proven. 48 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-28 10:58:38,487 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:58:38,487 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [845318198] [2022-04-28 10:58:38,487 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:58:38,487 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1743201427] [2022-04-28 10:58:38,488 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1743201427] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:58:38,488 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:58:38,488 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-28 10:58:38,488 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:58:38,488 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1874864986] [2022-04-28 10:58:38,488 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1874864986] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:58:38,488 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:58:38,488 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 10:58:38,488 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [561082659] [2022-04-28 10:58:38,488 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:58:38,489 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 99 [2022-04-28 10:58:38,489 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:58:38,489 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 10:58:38,557 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:58:38,558 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 10:58:38,558 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:58:38,558 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 10:58:38,558 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-28 10:58:38,558 INFO L87 Difference]: Start difference. First operand 311 states and 374 transitions. Second operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 10:58:41,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:58:41,036 INFO L93 Difference]: Finished difference Result 352 states and 424 transitions. [2022-04-28 10:58:41,036 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 10:58:41,036 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 99 [2022-04-28 10:58:41,037 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:58:41,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 10:58:41,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 100 transitions. [2022-04-28 10:58:41,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 10:58:41,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 100 transitions. [2022-04-28 10:58:41,039 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 100 transitions. [2022-04-28 10:58:41,174 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:58:41,180 INFO L225 Difference]: With dead ends: 352 [2022-04-28 10:58:41,180 INFO L226 Difference]: Without dead ends: 350 [2022-04-28 10:58:41,181 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 198 GetRequests, 182 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=66, Invalid=206, Unknown=0, NotChecked=0, Total=272 [2022-04-28 10:58:41,181 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 9 mSDsluCounter, 188 mSDsCounter, 0 mSdLazyCounter, 419 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 245 SdHoareTripleChecker+Invalid, 431 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 419 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:58:41,181 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 245 Invalid, 431 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 419 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 10:58:41,182 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 350 states. [2022-04-28 10:58:41,638 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 350 to 323. [2022-04-28 10:58:41,638 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:58:41,639 INFO L82 GeneralOperation]: Start isEquivalent. First operand 350 states. Second operand has 323 states, 200 states have (on average 1.13) internal successors, (226), 204 states have internal predecessors, (226), 79 states have call successors, (79), 44 states have call predecessors, (79), 43 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 10:58:41,639 INFO L74 IsIncluded]: Start isIncluded. First operand 350 states. Second operand has 323 states, 200 states have (on average 1.13) internal successors, (226), 204 states have internal predecessors, (226), 79 states have call successors, (79), 44 states have call predecessors, (79), 43 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 10:58:41,640 INFO L87 Difference]: Start difference. First operand 350 states. Second operand has 323 states, 200 states have (on average 1.13) internal successors, (226), 204 states have internal predecessors, (226), 79 states have call successors, (79), 44 states have call predecessors, (79), 43 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 10:58:41,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:58:41,647 INFO L93 Difference]: Finished difference Result 350 states and 422 transitions. [2022-04-28 10:58:41,647 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 422 transitions. [2022-04-28 10:58:41,648 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:58:41,648 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:58:41,649 INFO L74 IsIncluded]: Start isIncluded. First operand has 323 states, 200 states have (on average 1.13) internal successors, (226), 204 states have internal predecessors, (226), 79 states have call successors, (79), 44 states have call predecessors, (79), 43 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) Second operand 350 states. [2022-04-28 10:58:41,649 INFO L87 Difference]: Start difference. First operand has 323 states, 200 states have (on average 1.13) internal successors, (226), 204 states have internal predecessors, (226), 79 states have call successors, (79), 44 states have call predecessors, (79), 43 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) Second operand 350 states. [2022-04-28 10:58:41,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:58:41,657 INFO L93 Difference]: Finished difference Result 350 states and 422 transitions. [2022-04-28 10:58:41,657 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 422 transitions. [2022-04-28 10:58:41,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:58:41,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:58:41,658 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:58:41,658 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:58:41,658 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 323 states, 200 states have (on average 1.13) internal successors, (226), 204 states have internal predecessors, (226), 79 states have call successors, (79), 44 states have call predecessors, (79), 43 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 10:58:41,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 323 states to 323 states and 382 transitions. [2022-04-28 10:58:41,667 INFO L78 Accepts]: Start accepts. Automaton has 323 states and 382 transitions. Word has length 99 [2022-04-28 10:58:41,667 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:58:41,667 INFO L495 AbstractCegarLoop]: Abstraction has 323 states and 382 transitions. [2022-04-28 10:58:41,667 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 10:58:41,667 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 323 states and 382 transitions. [2022-04-28 10:58:46,292 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 382 edges. 381 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 10:58:46,292 INFO L276 IsEmpty]: Start isEmpty. Operand 323 states and 382 transitions. [2022-04-28 10:58:46,294 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 10:58:46,294 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:58:46,294 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:58:46,313 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-28 10:58:46,507 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:58:46,508 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:58:46,508 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:58:46,508 INFO L85 PathProgramCache]: Analyzing trace with hash 43761953, now seen corresponding path program 21 times [2022-04-28 10:58:46,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:58:46,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [785453316] [2022-04-28 10:58:46,508 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:58:46,508 INFO L85 PathProgramCache]: Analyzing trace with hash 43761953, now seen corresponding path program 22 times [2022-04-28 10:58:46,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:58:46,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1296334126] [2022-04-28 10:58:46,509 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:58:46,509 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:58:46,518 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:58:46,518 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1914185040] [2022-04-28 10:58:46,518 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:58:46,518 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:58:46,518 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:58:46,519 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:58:46,525 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 10:58:46,579 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:58:46,579 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:58:46,580 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-28 10:58:46,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:58:46,598 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:58:49,574 INFO L272 TraceCheckUtils]: 0: Hoare triple {31957#true} call ULTIMATE.init(); {31957#true} is VALID [2022-04-28 10:58:49,574 INFO L290 TraceCheckUtils]: 1: Hoare triple {31957#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); {31957#true} is VALID [2022-04-28 10:58:49,574 INFO L290 TraceCheckUtils]: 2: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:58:49,574 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31957#true} {31957#true} #81#return; {31957#true} is VALID [2022-04-28 10:58:49,574 INFO L272 TraceCheckUtils]: 4: Hoare triple {31957#true} call #t~ret6 := main(); {31957#true} is VALID [2022-04-28 10:58:49,574 INFO L290 TraceCheckUtils]: 5: Hoare triple {31957#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {31957#true} is VALID [2022-04-28 10:58:49,574 INFO L272 TraceCheckUtils]: 6: Hoare triple {31957#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:58:49,575 INFO L290 TraceCheckUtils]: 7: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:58:49,575 INFO L290 TraceCheckUtils]: 8: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:58:49,575 INFO L290 TraceCheckUtils]: 9: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:58:49,575 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31957#true} {31957#true} #63#return; {31957#true} is VALID [2022-04-28 10:58:49,575 INFO L272 TraceCheckUtils]: 11: Hoare triple {31957#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:58:49,575 INFO L290 TraceCheckUtils]: 12: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:58:49,575 INFO L290 TraceCheckUtils]: 13: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:58:49,575 INFO L290 TraceCheckUtils]: 14: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:58:49,575 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {31957#true} {31957#true} #65#return; {31957#true} is VALID [2022-04-28 10:58:49,576 INFO L290 TraceCheckUtils]: 16: Hoare triple {31957#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {32010#(and (<= 1 main_~s~0) (= 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 10:58:49,576 INFO L290 TraceCheckUtils]: 17: Hoare triple {32010#(and (<= 1 main_~s~0) (= 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; {32010#(and (<= 1 main_~s~0) (= 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 10:58:49,576 INFO L272 TraceCheckUtils]: 18: Hoare triple {32010#(and (<= 1 main_~s~0) (= 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)); {31957#true} is VALID [2022-04-28 10:58:49,576 INFO L290 TraceCheckUtils]: 19: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:58:49,577 INFO L290 TraceCheckUtils]: 20: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:58:49,577 INFO L290 TraceCheckUtils]: 21: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:58:49,577 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {31957#true} {32010#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {32010#(and (<= 1 main_~s~0) (= 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 10:58:49,577 INFO L272 TraceCheckUtils]: 23: Hoare triple {32010#(and (<= 1 main_~s~0) (= 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)); {31957#true} is VALID [2022-04-28 10:58:49,578 INFO L290 TraceCheckUtils]: 24: Hoare triple {31957#true} ~cond := #in~cond; {32035#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:58:49,578 INFO L290 TraceCheckUtils]: 25: Hoare triple {32035#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:58:49,578 INFO L290 TraceCheckUtils]: 26: Hoare triple {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:58:49,579 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} {32010#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {32010#(and (<= 1 main_~s~0) (= 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 10:58:49,579 INFO L272 TraceCheckUtils]: 28: Hoare triple {32010#(and (<= 1 main_~s~0) (= 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)); {31957#true} is VALID [2022-04-28 10:58:49,579 INFO L290 TraceCheckUtils]: 29: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:58:49,579 INFO L290 TraceCheckUtils]: 30: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:58:49,580 INFO L290 TraceCheckUtils]: 31: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:58:49,580 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {31957#true} {32010#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {32010#(and (<= 1 main_~s~0) (= 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 10:58:49,581 INFO L290 TraceCheckUtils]: 33: Hoare triple {32010#(and (<= 1 main_~s~0) (= 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); {32010#(and (<= 1 main_~s~0) (= 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 10:58:49,581 INFO L290 TraceCheckUtils]: 34: Hoare triple {32010#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {32067#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:58:49,582 INFO L290 TraceCheckUtils]: 35: Hoare triple {32067#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {32067#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:58:49,582 INFO L272 TraceCheckUtils]: 36: Hoare triple {32067#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:58:49,582 INFO L290 TraceCheckUtils]: 37: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:58:49,582 INFO L290 TraceCheckUtils]: 38: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:58:49,582 INFO L290 TraceCheckUtils]: 39: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:58:49,583 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {31957#true} {32067#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #67#return; {32067#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:58:49,583 INFO L272 TraceCheckUtils]: 41: Hoare triple {32067#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:58:49,583 INFO L290 TraceCheckUtils]: 42: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:58:49,583 INFO L290 TraceCheckUtils]: 43: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:58:49,583 INFO L290 TraceCheckUtils]: 44: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:58:49,584 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {31957#true} {32067#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #69#return; {32067#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:58:49,584 INFO L272 TraceCheckUtils]: 46: Hoare triple {32067#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:58:49,584 INFO L290 TraceCheckUtils]: 47: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:58:49,584 INFO L290 TraceCheckUtils]: 48: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:58:49,584 INFO L290 TraceCheckUtils]: 49: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:58:49,585 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {31957#true} {32067#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #71#return; {32067#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:58:49,586 INFO L290 TraceCheckUtils]: 51: Hoare triple {32067#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {32067#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 10:58:49,588 INFO L290 TraceCheckUtils]: 52: Hoare triple {32067#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {32122#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-28 10:58:49,588 INFO L290 TraceCheckUtils]: 53: Hoare triple {32122#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} assume !false; {32122#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-28 10:58:49,589 INFO L272 TraceCheckUtils]: 54: Hoare triple {32122#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:58:49,589 INFO L290 TraceCheckUtils]: 55: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:58:49,589 INFO L290 TraceCheckUtils]: 56: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:58:49,589 INFO L290 TraceCheckUtils]: 57: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:58:49,590 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {31957#true} {32122#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} #67#return; {32122#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-28 10:58:49,590 INFO L272 TraceCheckUtils]: 59: Hoare triple {32122#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:58:49,590 INFO L290 TraceCheckUtils]: 60: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:58:49,590 INFO L290 TraceCheckUtils]: 61: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:58:49,590 INFO L290 TraceCheckUtils]: 62: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:58:49,591 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {31957#true} {32122#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} #69#return; {32122#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-28 10:58:49,591 INFO L272 TraceCheckUtils]: 64: Hoare triple {32122#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:58:49,591 INFO L290 TraceCheckUtils]: 65: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:58:49,591 INFO L290 TraceCheckUtils]: 66: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:58:49,591 INFO L290 TraceCheckUtils]: 67: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:58:49,592 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {31957#true} {32122#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} #71#return; {32122#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-28 10:58:49,592 INFO L290 TraceCheckUtils]: 69: Hoare triple {32122#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} assume !!(~a~0 != ~b~0); {32122#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-28 10:58:49,594 INFO L290 TraceCheckUtils]: 70: Hoare triple {32122#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {32177#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} is VALID [2022-04-28 10:58:49,595 INFO L290 TraceCheckUtils]: 71: Hoare triple {32177#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} assume !false; {32177#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} is VALID [2022-04-28 10:58:49,595 INFO L272 TraceCheckUtils]: 72: Hoare triple {32177#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:58:49,595 INFO L290 TraceCheckUtils]: 73: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:58:49,595 INFO L290 TraceCheckUtils]: 74: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:58:49,595 INFO L290 TraceCheckUtils]: 75: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:58:49,596 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {31957#true} {32177#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} #67#return; {32177#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} is VALID [2022-04-28 10:58:49,596 INFO L272 TraceCheckUtils]: 77: Hoare triple {32177#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:58:49,596 INFO L290 TraceCheckUtils]: 78: Hoare triple {31957#true} ~cond := #in~cond; {32035#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:58:49,597 INFO L290 TraceCheckUtils]: 79: Hoare triple {32035#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:58:49,597 INFO L290 TraceCheckUtils]: 80: Hoare triple {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:58:49,598 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} {32177#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} #69#return; {32211#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-28 10:58:49,598 INFO L272 TraceCheckUtils]: 82: Hoare triple {32211#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:58:49,599 INFO L290 TraceCheckUtils]: 83: Hoare triple {31957#true} ~cond := #in~cond; {32035#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:58:49,599 INFO L290 TraceCheckUtils]: 84: Hoare triple {32035#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:58:49,599 INFO L290 TraceCheckUtils]: 85: Hoare triple {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:58:49,600 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} {32211#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} #71#return; {32211#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-28 10:58:49,601 INFO L290 TraceCheckUtils]: 87: Hoare triple {32211#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} assume !!(~a~0 != ~b~0); {32211#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-28 10:58:49,606 INFO L290 TraceCheckUtils]: 88: Hoare triple {32211#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {32233#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-28 10:58:49,607 INFO L290 TraceCheckUtils]: 89: Hoare triple {32233#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} assume !false; {32233#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-28 10:58:49,607 INFO L272 TraceCheckUtils]: 90: Hoare triple {32233#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 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)); {31957#true} is VALID [2022-04-28 10:58:49,607 INFO L290 TraceCheckUtils]: 91: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:58:49,607 INFO L290 TraceCheckUtils]: 92: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:58:49,607 INFO L290 TraceCheckUtils]: 93: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:58:49,608 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {31957#true} {32233#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} #67#return; {32233#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-28 10:58:49,613 INFO L272 TraceCheckUtils]: 95: Hoare triple {32233#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 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)); {32255#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:58:49,614 INFO L290 TraceCheckUtils]: 96: Hoare triple {32255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:58:49,614 INFO L290 TraceCheckUtils]: 97: Hoare triple {32259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31958#false} is VALID [2022-04-28 10:58:49,614 INFO L290 TraceCheckUtils]: 98: Hoare triple {31958#false} assume !false; {31958#false} is VALID [2022-04-28 10:58:49,615 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 80 proven. 84 refuted. 0 times theorem prover too weak. 226 trivial. 0 not checked. [2022-04-28 10:58:49,615 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:59:19,414 INFO L290 TraceCheckUtils]: 98: Hoare triple {31958#false} assume !false; {31958#false} is VALID [2022-04-28 10:59:19,415 INFO L290 TraceCheckUtils]: 97: Hoare triple {32259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31958#false} is VALID [2022-04-28 10:59:19,415 INFO L290 TraceCheckUtils]: 96: Hoare triple {32255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:59:19,416 INFO L272 TraceCheckUtils]: 95: Hoare triple {32275#(= 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)); {32255#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:59:19,416 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {31957#true} {32275#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {32275#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:59:19,416 INFO L290 TraceCheckUtils]: 93: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:59:19,416 INFO L290 TraceCheckUtils]: 92: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:59:19,416 INFO L290 TraceCheckUtils]: 91: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:59:19,416 INFO L272 TraceCheckUtils]: 90: Hoare triple {32275#(= 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)); {31957#true} is VALID [2022-04-28 10:59:19,417 INFO L290 TraceCheckUtils]: 89: Hoare triple {32275#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {32275#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:59:19,561 INFO L290 TraceCheckUtils]: 88: Hoare triple {32297#(= (+ main_~a~0 (* (- 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; {32275#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 10:59:19,562 INFO L290 TraceCheckUtils]: 87: Hoare triple {32297#(= (+ main_~a~0 (* (- 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); {32297#(= (+ main_~a~0 (* (- 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 10:59:19,563 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} {32304#(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)))))} #71#return; {32297#(= (+ main_~a~0 (* (- 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 10:59:19,563 INFO L290 TraceCheckUtils]: 85: Hoare triple {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:59:19,563 INFO L290 TraceCheckUtils]: 84: Hoare triple {32314#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:59:19,564 INFO L290 TraceCheckUtils]: 83: Hoare triple {31957#true} ~cond := #in~cond; {32314#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:59:19,564 INFO L272 TraceCheckUtils]: 82: Hoare triple {32304#(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)); {31957#true} is VALID [2022-04-28 10:59:19,565 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} {31957#true} #69#return; {32304#(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 10:59:19,566 INFO L290 TraceCheckUtils]: 80: Hoare triple {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:59:19,566 INFO L290 TraceCheckUtils]: 79: Hoare triple {32314#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32039#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:59:19,566 INFO L290 TraceCheckUtils]: 78: Hoare triple {31957#true} ~cond := #in~cond; {32314#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:59:19,566 INFO L272 TraceCheckUtils]: 77: Hoare triple {31957#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:59:19,566 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {31957#true} {31957#true} #67#return; {31957#true} is VALID [2022-04-28 10:59:19,566 INFO L290 TraceCheckUtils]: 75: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:59:19,566 INFO L290 TraceCheckUtils]: 74: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:59:19,566 INFO L290 TraceCheckUtils]: 73: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L272 TraceCheckUtils]: 72: Hoare triple {31957#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L290 TraceCheckUtils]: 71: Hoare triple {31957#true} assume !false; {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L290 TraceCheckUtils]: 70: Hoare triple {31957#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L290 TraceCheckUtils]: 69: Hoare triple {31957#true} assume !!(~a~0 != ~b~0); {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {31957#true} {31957#true} #71#return; {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L290 TraceCheckUtils]: 67: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L290 TraceCheckUtils]: 66: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L290 TraceCheckUtils]: 65: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L272 TraceCheckUtils]: 64: Hoare triple {31957#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {31957#true} {31957#true} #69#return; {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L290 TraceCheckUtils]: 62: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L290 TraceCheckUtils]: 61: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L290 TraceCheckUtils]: 60: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L272 TraceCheckUtils]: 59: Hoare triple {31957#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {31957#true} {31957#true} #67#return; {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L290 TraceCheckUtils]: 57: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L290 TraceCheckUtils]: 56: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L290 TraceCheckUtils]: 55: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L272 TraceCheckUtils]: 54: Hoare triple {31957#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:59:19,567 INFO L290 TraceCheckUtils]: 53: Hoare triple {31957#true} assume !false; {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L290 TraceCheckUtils]: 52: Hoare triple {31957#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L290 TraceCheckUtils]: 51: Hoare triple {31957#true} assume !!(~a~0 != ~b~0); {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {31957#true} {31957#true} #71#return; {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L290 TraceCheckUtils]: 49: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L290 TraceCheckUtils]: 48: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L290 TraceCheckUtils]: 47: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L272 TraceCheckUtils]: 46: Hoare triple {31957#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {31957#true} {31957#true} #69#return; {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L290 TraceCheckUtils]: 44: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L290 TraceCheckUtils]: 43: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L290 TraceCheckUtils]: 42: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L272 TraceCheckUtils]: 41: Hoare triple {31957#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {31957#true} {31957#true} #67#return; {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L290 TraceCheckUtils]: 39: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L290 TraceCheckUtils]: 38: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L290 TraceCheckUtils]: 37: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L272 TraceCheckUtils]: 36: Hoare triple {31957#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L290 TraceCheckUtils]: 35: Hoare triple {31957#true} assume !false; {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L290 TraceCheckUtils]: 34: Hoare triple {31957#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {31957#true} is VALID [2022-04-28 10:59:19,568 INFO L290 TraceCheckUtils]: 33: Hoare triple {31957#true} assume !!(~a~0 != ~b~0); {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {31957#true} {31957#true} #71#return; {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L290 TraceCheckUtils]: 31: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L290 TraceCheckUtils]: 30: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L290 TraceCheckUtils]: 29: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L272 TraceCheckUtils]: 28: Hoare triple {31957#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {31957#true} {31957#true} #69#return; {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L290 TraceCheckUtils]: 26: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L290 TraceCheckUtils]: 25: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L290 TraceCheckUtils]: 24: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L272 TraceCheckUtils]: 23: Hoare triple {31957#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {31957#true} {31957#true} #67#return; {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L290 TraceCheckUtils]: 21: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L290 TraceCheckUtils]: 20: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L290 TraceCheckUtils]: 19: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L272 TraceCheckUtils]: 18: Hoare triple {31957#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L290 TraceCheckUtils]: 17: Hoare triple {31957#true} assume !false; {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L290 TraceCheckUtils]: 16: Hoare triple {31957#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {31957#true} {31957#true} #65#return; {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L290 TraceCheckUtils]: 14: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:59:19,569 INFO L290 TraceCheckUtils]: 13: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:59:19,570 INFO L290 TraceCheckUtils]: 12: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:59:19,570 INFO L272 TraceCheckUtils]: 11: Hoare triple {31957#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:59:19,570 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31957#true} {31957#true} #63#return; {31957#true} is VALID [2022-04-28 10:59:19,570 INFO L290 TraceCheckUtils]: 9: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:59:19,570 INFO L290 TraceCheckUtils]: 8: Hoare triple {31957#true} assume !(0 == ~cond); {31957#true} is VALID [2022-04-28 10:59:19,570 INFO L290 TraceCheckUtils]: 7: Hoare triple {31957#true} ~cond := #in~cond; {31957#true} is VALID [2022-04-28 10:59:19,570 INFO L272 TraceCheckUtils]: 6: Hoare triple {31957#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31957#true} is VALID [2022-04-28 10:59:19,570 INFO L290 TraceCheckUtils]: 5: Hoare triple {31957#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {31957#true} is VALID [2022-04-28 10:59:19,570 INFO L272 TraceCheckUtils]: 4: Hoare triple {31957#true} call #t~ret6 := main(); {31957#true} is VALID [2022-04-28 10:59:19,570 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31957#true} {31957#true} #81#return; {31957#true} is VALID [2022-04-28 10:59:19,570 INFO L290 TraceCheckUtils]: 2: Hoare triple {31957#true} assume true; {31957#true} is VALID [2022-04-28 10:59:19,570 INFO L290 TraceCheckUtils]: 1: Hoare triple {31957#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); {31957#true} is VALID [2022-04-28 10:59:19,570 INFO L272 TraceCheckUtils]: 0: Hoare triple {31957#true} call ULTIMATE.init(); {31957#true} is VALID [2022-04-28 10:59:19,570 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 105 proven. 8 refuted. 0 times theorem prover too weak. 277 trivial. 0 not checked. [2022-04-28 10:59:19,571 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:59:19,571 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1296334126] [2022-04-28 10:59:19,571 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 10:59:19,571 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1914185040] [2022-04-28 10:59:19,571 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1914185040] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:59:19,571 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 10:59:19,571 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-28 10:59:19,571 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:59:19,571 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [785453316] [2022-04-28 10:59:19,571 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [785453316] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:59:19,571 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:59:19,571 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 10:59:19,571 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1822195463] [2022-04-28 10:59:19,571 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:59:19,572 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 99 [2022-04-28 10:59:19,572 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:59:19,572 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 10:59:19,658 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 10:59:19,659 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 10:59:19,659 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:59:19,659 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 10:59:19,659 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=194, Unknown=0, NotChecked=0, Total=240 [2022-04-28 10:59:19,659 INFO L87 Difference]: Start difference. First operand 323 states and 382 transitions. Second operand has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 10:59:28,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:59:28,073 INFO L93 Difference]: Finished difference Result 357 states and 424 transitions. [2022-04-28 10:59:28,073 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 10:59:28,073 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 99 [2022-04-28 10:59:28,073 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:59:28,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 10:59:28,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-28 10:59:28,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 10:59:28,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-28 10:59:28,077 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 100 transitions. [2022-04-28 10:59:28,223 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:59:28,230 INFO L225 Difference]: With dead ends: 357 [2022-04-28 10:59:28,230 INFO L226 Difference]: Without dead ends: 355 [2022-04-28 10:59:28,230 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 199 GetRequests, 181 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=59, Invalid=247, Unknown=0, NotChecked=0, Total=306 [2022-04-28 10:59:28,230 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 13 mSDsluCounter, 198 mSDsCounter, 0 mSdLazyCounter, 690 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 245 SdHoareTripleChecker+Invalid, 697 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 690 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.0s IncrementalHoareTripleChecker+Time [2022-04-28 10:59:28,231 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 245 Invalid, 697 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 690 Invalid, 0 Unknown, 0 Unchecked, 3.0s Time] [2022-04-28 10:59:28,231 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 355 states. [2022-04-28 10:59:28,730 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 355 to 334. [2022-04-28 10:59:28,730 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:59:28,731 INFO L82 GeneralOperation]: Start isEquivalent. First operand 355 states. Second operand has 334 states, 208 states have (on average 1.1298076923076923) internal successors, (235), 211 states have internal predecessors, (235), 80 states have call successors, (80), 46 states have call predecessors, (80), 45 states have return successors, (78), 76 states have call predecessors, (78), 78 states have call successors, (78) [2022-04-28 10:59:28,731 INFO L74 IsIncluded]: Start isIncluded. First operand 355 states. Second operand has 334 states, 208 states have (on average 1.1298076923076923) internal successors, (235), 211 states have internal predecessors, (235), 80 states have call successors, (80), 46 states have call predecessors, (80), 45 states have return successors, (78), 76 states have call predecessors, (78), 78 states have call successors, (78) [2022-04-28 10:59:28,732 INFO L87 Difference]: Start difference. First operand 355 states. Second operand has 334 states, 208 states have (on average 1.1298076923076923) internal successors, (235), 211 states have internal predecessors, (235), 80 states have call successors, (80), 46 states have call predecessors, (80), 45 states have return successors, (78), 76 states have call predecessors, (78), 78 states have call successors, (78) [2022-04-28 10:59:28,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:59:28,743 INFO L93 Difference]: Finished difference Result 355 states and 422 transitions. [2022-04-28 10:59:28,743 INFO L276 IsEmpty]: Start isEmpty. Operand 355 states and 422 transitions. [2022-04-28 10:59:28,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:59:28,744 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:59:28,745 INFO L74 IsIncluded]: Start isIncluded. First operand has 334 states, 208 states have (on average 1.1298076923076923) internal successors, (235), 211 states have internal predecessors, (235), 80 states have call successors, (80), 46 states have call predecessors, (80), 45 states have return successors, (78), 76 states have call predecessors, (78), 78 states have call successors, (78) Second operand 355 states. [2022-04-28 10:59:28,745 INFO L87 Difference]: Start difference. First operand has 334 states, 208 states have (on average 1.1298076923076923) internal successors, (235), 211 states have internal predecessors, (235), 80 states have call successors, (80), 46 states have call predecessors, (80), 45 states have return successors, (78), 76 states have call predecessors, (78), 78 states have call successors, (78) Second operand 355 states. [2022-04-28 10:59:28,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:59:28,753 INFO L93 Difference]: Finished difference Result 355 states and 422 transitions. [2022-04-28 10:59:28,753 INFO L276 IsEmpty]: Start isEmpty. Operand 355 states and 422 transitions. [2022-04-28 10:59:28,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:59:28,754 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:59:28,754 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:59:28,754 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:59:28,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 334 states, 208 states have (on average 1.1298076923076923) internal successors, (235), 211 states have internal predecessors, (235), 80 states have call successors, (80), 46 states have call predecessors, (80), 45 states have return successors, (78), 76 states have call predecessors, (78), 78 states have call successors, (78) [2022-04-28 10:59:28,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 334 states to 334 states and 393 transitions. [2022-04-28 10:59:28,763 INFO L78 Accepts]: Start accepts. Automaton has 334 states and 393 transitions. Word has length 99 [2022-04-28 10:59:28,763 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:59:28,763 INFO L495 AbstractCegarLoop]: Abstraction has 334 states and 393 transitions. [2022-04-28 10:59:28,763 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 10:59:28,763 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 334 states and 393 transitions. [2022-04-28 10:59:34,276 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 393 edges. 392 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 10:59:34,276 INFO L276 IsEmpty]: Start isEmpty. Operand 334 states and 393 transitions. [2022-04-28 10:59:34,277 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 10:59:34,277 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:59:34,277 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 4, 4, 4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:59:34,295 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 10:59:34,477 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:59:34,478 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:59:34,478 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:59:34,478 INFO L85 PathProgramCache]: Analyzing trace with hash 1429965347, now seen corresponding path program 23 times [2022-04-28 10:59:34,478 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:59:34,478 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1726082097] [2022-04-28 10:59:34,478 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:59:34,478 INFO L85 PathProgramCache]: Analyzing trace with hash 1429965347, now seen corresponding path program 24 times [2022-04-28 10:59:34,478 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:59:34,478 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [474263122] [2022-04-28 10:59:34,479 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:59:34,479 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:59:34,486 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 10:59:34,486 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1435673546] [2022-04-28 10:59:34,487 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:59:34,487 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:59:34,487 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:59:34,488 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:59:34,488 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 10:59:35,046 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 10:59:35,047 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:59:35,049 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-28 10:59:35,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:59:35,070 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:59:43,764 INFO L272 TraceCheckUtils]: 0: Hoare triple {34662#true} call ULTIMATE.init(); {34662#true} is VALID [2022-04-28 10:59:43,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {34662#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); {34662#true} is VALID [2022-04-28 10:59:43,764 INFO L290 TraceCheckUtils]: 2: Hoare triple {34662#true} assume true; {34662#true} is VALID [2022-04-28 10:59:43,765 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34662#true} {34662#true} #81#return; {34662#true} is VALID [2022-04-28 10:59:43,765 INFO L272 TraceCheckUtils]: 4: Hoare triple {34662#true} call #t~ret6 := main(); {34662#true} is VALID [2022-04-28 10:59:43,765 INFO L290 TraceCheckUtils]: 5: Hoare triple {34662#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {34662#true} is VALID [2022-04-28 10:59:43,765 INFO L272 TraceCheckUtils]: 6: Hoare triple {34662#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {34662#true} is VALID [2022-04-28 10:59:43,765 INFO L290 TraceCheckUtils]: 7: Hoare triple {34662#true} ~cond := #in~cond; {34662#true} is VALID [2022-04-28 10:59:43,765 INFO L290 TraceCheckUtils]: 8: Hoare triple {34662#true} assume !(0 == ~cond); {34662#true} is VALID [2022-04-28 10:59:43,765 INFO L290 TraceCheckUtils]: 9: Hoare triple {34662#true} assume true; {34662#true} is VALID [2022-04-28 10:59:43,765 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34662#true} {34662#true} #63#return; {34662#true} is VALID [2022-04-28 10:59:43,765 INFO L272 TraceCheckUtils]: 11: Hoare triple {34662#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {34662#true} is VALID [2022-04-28 10:59:43,765 INFO L290 TraceCheckUtils]: 12: Hoare triple {34662#true} ~cond := #in~cond; {34703#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 10:59:43,766 INFO L290 TraceCheckUtils]: 13: Hoare triple {34703#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {34707#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 10:59:43,766 INFO L290 TraceCheckUtils]: 14: Hoare triple {34707#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {34707#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 10:59:43,766 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34707#(not (= |assume_abort_if_not_#in~cond| 0))} {34662#true} #65#return; {34714#(<= 1 main_~y~0)} is VALID [2022-04-28 10:59:43,767 INFO L290 TraceCheckUtils]: 16: Hoare triple {34714#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {34718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:59:43,767 INFO L290 TraceCheckUtils]: 17: Hoare triple {34718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {34718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:59:43,767 INFO L272 TraceCheckUtils]: 18: Hoare triple {34718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34662#true} is VALID [2022-04-28 10:59:43,767 INFO L290 TraceCheckUtils]: 19: Hoare triple {34662#true} ~cond := #in~cond; {34662#true} is VALID [2022-04-28 10:59:43,767 INFO L290 TraceCheckUtils]: 20: Hoare triple {34662#true} assume !(0 == ~cond); {34662#true} is VALID [2022-04-28 10:59:43,767 INFO L290 TraceCheckUtils]: 21: Hoare triple {34662#true} assume true; {34662#true} is VALID [2022-04-28 10:59:43,768 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {34662#true} {34718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {34718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:59:43,768 INFO L272 TraceCheckUtils]: 23: Hoare triple {34718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34662#true} is VALID [2022-04-28 10:59:43,768 INFO L290 TraceCheckUtils]: 24: Hoare triple {34662#true} ~cond := #in~cond; {34662#true} is VALID [2022-04-28 10:59:43,768 INFO L290 TraceCheckUtils]: 25: Hoare triple {34662#true} assume !(0 == ~cond); {34662#true} is VALID [2022-04-28 10:59:43,768 INFO L290 TraceCheckUtils]: 26: Hoare triple {34662#true} assume true; {34662#true} is VALID [2022-04-28 10:59:43,769 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {34662#true} {34718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {34718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:59:43,769 INFO L272 TraceCheckUtils]: 28: Hoare triple {34718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34662#true} is VALID [2022-04-28 10:59:43,769 INFO L290 TraceCheckUtils]: 29: Hoare triple {34662#true} ~cond := #in~cond; {34662#true} is VALID [2022-04-28 10:59:43,769 INFO L290 TraceCheckUtils]: 30: Hoare triple {34662#true} assume !(0 == ~cond); {34662#true} is VALID [2022-04-28 10:59:43,769 INFO L290 TraceCheckUtils]: 31: Hoare triple {34662#true} assume true; {34662#true} is VALID [2022-04-28 10:59:43,769 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {34662#true} {34718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {34718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:59:43,770 INFO L290 TraceCheckUtils]: 33: Hoare triple {34718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {34718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 10:59:43,771 INFO L290 TraceCheckUtils]: 34: Hoare triple {34718#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,771 INFO L290 TraceCheckUtils]: 35: Hoare triple {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !false; {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,771 INFO L272 TraceCheckUtils]: 36: Hoare triple {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34662#true} is VALID [2022-04-28 10:59:43,771 INFO L290 TraceCheckUtils]: 37: Hoare triple {34662#true} ~cond := #in~cond; {34662#true} is VALID [2022-04-28 10:59:43,771 INFO L290 TraceCheckUtils]: 38: Hoare triple {34662#true} assume !(0 == ~cond); {34662#true} is VALID [2022-04-28 10:59:43,771 INFO L290 TraceCheckUtils]: 39: Hoare triple {34662#true} assume true; {34662#true} is VALID [2022-04-28 10:59:43,772 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {34662#true} {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #67#return; {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,772 INFO L272 TraceCheckUtils]: 41: Hoare triple {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34662#true} is VALID [2022-04-28 10:59:43,772 INFO L290 TraceCheckUtils]: 42: Hoare triple {34662#true} ~cond := #in~cond; {34662#true} is VALID [2022-04-28 10:59:43,772 INFO L290 TraceCheckUtils]: 43: Hoare triple {34662#true} assume !(0 == ~cond); {34662#true} is VALID [2022-04-28 10:59:43,772 INFO L290 TraceCheckUtils]: 44: Hoare triple {34662#true} assume true; {34662#true} is VALID [2022-04-28 10:59:43,773 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {34662#true} {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #69#return; {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,773 INFO L272 TraceCheckUtils]: 46: Hoare triple {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34662#true} is VALID [2022-04-28 10:59:43,773 INFO L290 TraceCheckUtils]: 47: Hoare triple {34662#true} ~cond := #in~cond; {34662#true} is VALID [2022-04-28 10:59:43,773 INFO L290 TraceCheckUtils]: 48: Hoare triple {34662#true} assume !(0 == ~cond); {34662#true} is VALID [2022-04-28 10:59:43,773 INFO L290 TraceCheckUtils]: 49: Hoare triple {34662#true} assume true; {34662#true} is VALID [2022-04-28 10:59:43,773 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {34662#true} {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #71#return; {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,774 INFO L290 TraceCheckUtils]: 51: Hoare triple {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,774 INFO L290 TraceCheckUtils]: 52: Hoare triple {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~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; {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,775 INFO L290 TraceCheckUtils]: 53: Hoare triple {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !false; {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,775 INFO L272 TraceCheckUtils]: 54: Hoare triple {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34662#true} is VALID [2022-04-28 10:59:43,775 INFO L290 TraceCheckUtils]: 55: Hoare triple {34662#true} ~cond := #in~cond; {34662#true} is VALID [2022-04-28 10:59:43,775 INFO L290 TraceCheckUtils]: 56: Hoare triple {34662#true} assume !(0 == ~cond); {34662#true} is VALID [2022-04-28 10:59:43,775 INFO L290 TraceCheckUtils]: 57: Hoare triple {34662#true} assume true; {34662#true} is VALID [2022-04-28 10:59:43,775 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {34662#true} {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #67#return; {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,775 INFO L272 TraceCheckUtils]: 59: Hoare triple {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34662#true} is VALID [2022-04-28 10:59:43,775 INFO L290 TraceCheckUtils]: 60: Hoare triple {34662#true} ~cond := #in~cond; {34662#true} is VALID [2022-04-28 10:59:43,775 INFO L290 TraceCheckUtils]: 61: Hoare triple {34662#true} assume !(0 == ~cond); {34662#true} is VALID [2022-04-28 10:59:43,776 INFO L290 TraceCheckUtils]: 62: Hoare triple {34662#true} assume true; {34662#true} is VALID [2022-04-28 10:59:43,776 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {34662#true} {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #69#return; {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,776 INFO L272 TraceCheckUtils]: 64: Hoare triple {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34662#true} is VALID [2022-04-28 10:59:43,776 INFO L290 TraceCheckUtils]: 65: Hoare triple {34662#true} ~cond := #in~cond; {34662#true} is VALID [2022-04-28 10:59:43,776 INFO L290 TraceCheckUtils]: 66: Hoare triple {34662#true} assume !(0 == ~cond); {34662#true} is VALID [2022-04-28 10:59:43,776 INFO L290 TraceCheckUtils]: 67: Hoare triple {34662#true} assume true; {34662#true} is VALID [2022-04-28 10:59:43,777 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {34662#true} {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #71#return; {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,777 INFO L290 TraceCheckUtils]: 69: Hoare triple {34773#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {34879#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-28 10:59:43,778 INFO L290 TraceCheckUtils]: 70: Hoare triple {34879#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0) (not (= main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {34883#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,779 INFO L290 TraceCheckUtils]: 71: Hoare triple {34883#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !false; {34883#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,779 INFO L272 TraceCheckUtils]: 72: Hoare triple {34883#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34662#true} is VALID [2022-04-28 10:59:43,779 INFO L290 TraceCheckUtils]: 73: Hoare triple {34662#true} ~cond := #in~cond; {34662#true} is VALID [2022-04-28 10:59:43,779 INFO L290 TraceCheckUtils]: 74: Hoare triple {34662#true} assume !(0 == ~cond); {34662#true} is VALID [2022-04-28 10:59:43,779 INFO L290 TraceCheckUtils]: 75: Hoare triple {34662#true} assume true; {34662#true} is VALID [2022-04-28 10:59:43,779 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {34662#true} {34883#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #67#return; {34883#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,779 INFO L272 TraceCheckUtils]: 77: Hoare triple {34883#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34662#true} is VALID [2022-04-28 10:59:43,779 INFO L290 TraceCheckUtils]: 78: Hoare triple {34662#true} ~cond := #in~cond; {34662#true} is VALID [2022-04-28 10:59:43,780 INFO L290 TraceCheckUtils]: 79: Hoare triple {34662#true} assume !(0 == ~cond); {34662#true} is VALID [2022-04-28 10:59:43,780 INFO L290 TraceCheckUtils]: 80: Hoare triple {34662#true} assume true; {34662#true} is VALID [2022-04-28 10:59:43,780 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {34662#true} {34883#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #69#return; {34883#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,780 INFO L272 TraceCheckUtils]: 82: Hoare triple {34883#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34662#true} is VALID [2022-04-28 10:59:43,780 INFO L290 TraceCheckUtils]: 83: Hoare triple {34662#true} ~cond := #in~cond; {34923#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:59:43,781 INFO L290 TraceCheckUtils]: 84: Hoare triple {34923#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {34927#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:59:43,781 INFO L290 TraceCheckUtils]: 85: Hoare triple {34927#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {34927#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:59:43,782 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {34927#(not (= |__VERIFIER_assert_#in~cond| 0))} {34883#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #71#return; {34934#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~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)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,782 INFO L290 TraceCheckUtils]: 87: Hoare triple {34934#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~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)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {34934#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~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)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,784 INFO L290 TraceCheckUtils]: 88: Hoare triple {34934#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~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)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34941#(and (not (= (+ main_~a~0 main_~y~0) main_~x~0)) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,784 INFO L290 TraceCheckUtils]: 89: Hoare triple {34941#(and (not (= (+ main_~a~0 main_~y~0) main_~x~0)) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} assume !false; {34941#(and (not (= (+ main_~a~0 main_~y~0) main_~x~0)) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} is VALID [2022-04-28 10:59:43,784 INFO L272 TraceCheckUtils]: 90: Hoare triple {34941#(and (not (= (+ main_~a~0 main_~y~0) main_~x~0)) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34662#true} is VALID [2022-04-28 10:59:43,785 INFO L290 TraceCheckUtils]: 91: Hoare triple {34662#true} ~cond := #in~cond; {34923#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:59:43,785 INFO L290 TraceCheckUtils]: 92: Hoare triple {34923#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {34927#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:59:43,785 INFO L290 TraceCheckUtils]: 93: Hoare triple {34927#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {34927#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:59:43,789 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {34927#(not (= |__VERIFIER_assert_#in~cond| 0))} {34941#(and (not (= (+ main_~a~0 main_~y~0) main_~x~0)) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} #67#return; {34960#(and (not (= (+ main_~a~0 main_~y~0) main_~x~0)) (<= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~x~0 (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* main_~y~0 (+ (- 1) (* (- 1) main_~r~0))) main_~a~0 main_~y~0)) (< 0 main_~a~0) (<= 1 main_~y~0) (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1) (* main_~p~0 (+ (- 1) (* (- 1) main_~r~0)))))} is VALID [2022-04-28 10:59:43,790 INFO L272 TraceCheckUtils]: 95: Hoare triple {34960#(and (not (= (+ main_~a~0 main_~y~0) main_~x~0)) (<= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~x~0 (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* main_~y~0 (+ (- 1) (* (- 1) main_~r~0))) main_~a~0 main_~y~0)) (< 0 main_~a~0) (<= 1 main_~y~0) (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1) (* main_~p~0 (+ (- 1) (* (- 1) main_~r~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34964#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 10:59:43,790 INFO L290 TraceCheckUtils]: 96: Hoare triple {34964#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {34968#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 10:59:43,790 INFO L290 TraceCheckUtils]: 97: Hoare triple {34968#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {34663#false} is VALID [2022-04-28 10:59:43,790 INFO L290 TraceCheckUtils]: 98: Hoare triple {34663#false} assume !false; {34663#false} is VALID [2022-04-28 10:59:43,791 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 105 proven. 33 refuted. 0 times theorem prover too weak. 252 trivial. 0 not checked. [2022-04-28 10:59:43,791 INFO L328 TraceCheckSpWp]: Computing backward predicates...