/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 14:43:23,230 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 14:43:23,261 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 14:43:23,303 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 14:43:23,304 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 14:43:23,304 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 14:43:23,305 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 14:43:23,306 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 14:43:23,307 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 14:43:23,310 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 14:43:23,311 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 14:43:23,311 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 14:43:23,312 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 14:43:23,312 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 14:43:23,313 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 14:43:23,313 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 14:43:23,314 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 14:43:23,314 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 14:43:23,315 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 14:43:23,316 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 14:43:23,317 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 14:43:23,319 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 14:43:23,320 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 14:43:23,322 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 14:43:23,323 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 14:43:23,328 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 14:43:23,328 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 14:43:23,328 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 14:43:23,329 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 14:43:23,329 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 14:43:23,330 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 14:43:23,330 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 14:43:23,331 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 14:43:23,331 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 14:43:23,332 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 14:43:23,334 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 14:43:23,334 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 14:43:23,334 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 14:43:23,334 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 14:43:23,334 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 14:43:23,335 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 14:43:23,336 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 14:43:23,337 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 14:43:23,345 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 14:43:23,345 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 14:43:23,346 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 14:43:23,346 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 14:43:23,346 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 14:43:23,346 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 14:43:23,346 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 14:43:23,346 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 14:43:23,346 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 14:43:23,347 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 14:43:23,347 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 14:43:23,347 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 14:43:23,347 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 14:43:23,347 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 14:43:23,347 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 14:43:23,347 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 14:43:23,347 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 14:43:23,348 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 14:43:23,348 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 14:43:23,348 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 14:43:23,348 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 14:43:23,348 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 14:43:23,348 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 14:43:23,530 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 14:43:23,557 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 14:43:23,559 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 14:43:23,560 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 14:43:23,575 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 14:43:23,577 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound10.c [2022-04-15 14:43:23,618 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/21b984497/7c27b2609c9743ee943cce3ce6303adf/FLAG7a211e225 [2022-04-15 14:43:23,982 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 14:43:23,982 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound10.c [2022-04-15 14:43:23,987 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/21b984497/7c27b2609c9743ee943cce3ce6303adf/FLAG7a211e225 [2022-04-15 14:43:23,999 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/21b984497/7c27b2609c9743ee943cce3ce6303adf [2022-04-15 14:43:24,000 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 14:43:24,001 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 14:43:24,003 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 14:43:24,003 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 14:43:24,006 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 14:43:24,007 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 02:43:23" (1/1) ... [2022-04-15 14:43:24,007 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3f79869c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:24, skipping insertion in model container [2022-04-15 14:43:24,007 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 02:43:23" (1/1) ... [2022-04-15 14:43:24,011 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 14:43:24,021 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 14:43:24,125 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound10.c[489,502] [2022-04-15 14:43:24,156 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 14:43:24,161 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 14:43:24,171 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound10.c[489,502] [2022-04-15 14:43:24,176 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 14:43:24,187 INFO L208 MainTranslator]: Completed translation [2022-04-15 14:43:24,187 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:24 WrapperNode [2022-04-15 14:43:24,187 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 14:43:24,188 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 14:43:24,188 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 14:43:24,189 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 14:43:24,195 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:24" (1/1) ... [2022-04-15 14:43:24,195 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:24" (1/1) ... [2022-04-15 14:43:24,200 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:24" (1/1) ... [2022-04-15 14:43:24,200 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:24" (1/1) ... [2022-04-15 14:43:24,212 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:24" (1/1) ... [2022-04-15 14:43:24,215 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:24" (1/1) ... [2022-04-15 14:43:24,215 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:24" (1/1) ... [2022-04-15 14:43:24,216 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 14:43:24,217 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 14:43:24,217 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 14:43:24,217 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 14:43:24,218 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:24" (1/1) ... [2022-04-15 14:43:24,224 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 14:43:24,231 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:24,251 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 14:43:24,258 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 14:43:24,276 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 14:43:24,277 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 14:43:24,277 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 14:43:24,277 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 14:43:24,277 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 14:43:24,277 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 14:43:24,277 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 14:43:24,277 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 14:43:24,277 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 14:43:24,277 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 14:43:24,277 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 14:43:24,277 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 14:43:24,277 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 14:43:24,277 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 14:43:24,278 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 14:43:24,278 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 14:43:24,278 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 14:43:24,278 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 14:43:24,278 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 14:43:24,278 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 14:43:24,322 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 14:43:24,324 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 14:43:24,538 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 14:43:24,545 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 14:43:24,545 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 14:43:24,547 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 02:43:24 BoogieIcfgContainer [2022-04-15 14:43:24,547 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 14:43:24,548 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 14:43:24,549 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 14:43:24,551 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 14:43:24,552 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 02:43:23" (1/3) ... [2022-04-15 14:43:24,552 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3a728a84 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 02:43:24, skipping insertion in model container [2022-04-15 14:43:24,552 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:24" (2/3) ... [2022-04-15 14:43:24,553 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3a728a84 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 02:43:24, skipping insertion in model container [2022-04-15 14:43:24,553 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 02:43:24" (3/3) ... [2022-04-15 14:43:24,554 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound10.c [2022-04-15 14:43:24,558 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 14:43:24,558 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 14:43:24,588 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 14:43:24,592 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 14:43:24,592 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 14:43:24,607 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 14:43:24,613 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 14:43:24,614 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:24,614 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:24,615 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:24,628 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:24,628 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 1 times [2022-04-15 14:43:24,635 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:24,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1242122475] [2022-04-15 14:43:24,645 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:24,645 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 2 times [2022-04-15 14:43:24,648 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:24,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [743257525] [2022-04-15 14:43:24,649 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:24,650 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:24,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:24,835 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 14:43:24,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:24,864 INFO L290 TraceCheckUtils]: 0: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-15 14:43:24,865 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-15 14:43:24,865 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-15 14:43:24,866 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 14:43:24,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:24,892 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:24,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:24,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:24,893 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-15 14:43:24,893 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 14:43:24,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:24,906 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:24,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:24,907 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:24,907 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-15 14:43:24,907 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 14:43:24,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:24,917 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:24,917 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:24,917 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:24,917 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-15 14:43:24,918 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-15 14:43:24,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:24,928 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:24,929 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:24,929 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:24,929 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-15 14:43:24,932 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 14:43:24,932 INFO L290 TraceCheckUtils]: 1: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-15 14:43:24,932 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-15 14:43:24,932 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-15 14:43:24,932 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-15 14:43:24,933 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {40#true} is VALID [2022-04-15 14:43:24,933 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {40#true} is VALID [2022-04-15 14:43:24,933 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:24,934 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:24,934 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:24,934 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-15 14:43:24,934 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {41#false} is VALID [2022-04-15 14:43:24,935 INFO L272 TraceCheckUtils]: 12: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {40#true} is VALID [2022-04-15 14:43:24,935 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:24,935 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:24,937 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:24,937 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-15 14:43:24,937 INFO L272 TraceCheckUtils]: 17: Hoare triple {41#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-15 14:43:24,937 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:24,938 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:24,938 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:24,939 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-15 14:43:24,939 INFO L272 TraceCheckUtils]: 22: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-15 14:43:24,939 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:24,940 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:24,941 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:24,941 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-15 14:43:24,941 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41#false} is VALID [2022-04-15 14:43:24,942 INFO L290 TraceCheckUtils]: 28: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-15 14:43:24,944 INFO L272 TraceCheckUtils]: 29: Hoare triple {41#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {41#false} is VALID [2022-04-15 14:43:24,944 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-15 14:43:24,945 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-15 14:43:24,945 INFO L290 TraceCheckUtils]: 32: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-15 14:43:24,946 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 14:43:24,946 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:24,947 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [743257525] [2022-04-15 14:43:24,948 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [743257525] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:24,948 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:24,948 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 14:43:24,951 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:24,952 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1242122475] [2022-04-15 14:43:24,952 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1242122475] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:24,952 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:24,952 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 14:43:24,952 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [108668889] [2022-04-15 14:43:24,953 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:24,959 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 14:43:24,961 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:24,963 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 14:43:24,998 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:24,998 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 14:43:24,998 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:25,032 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 14:43:25,033 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 14:43:25,036 INFO L87 Difference]: Start difference. First operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 14:43:25,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:25,212 INFO L93 Difference]: Finished difference Result 67 states and 105 transitions. [2022-04-15 14:43:25,212 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 14:43:25,213 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 14:43:25,213 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:25,214 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 14:43:25,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-15 14:43:25,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 14:43:25,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-15 14:43:25,227 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 105 transitions. [2022-04-15 14:43:25,395 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:25,401 INFO L225 Difference]: With dead ends: 67 [2022-04-15 14:43:25,401 INFO L226 Difference]: Without dead ends: 32 [2022-04-15 14:43:25,404 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 14:43:25,406 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:25,407 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 39 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:43:25,418 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-15 14:43:25,429 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-15 14:43:25,429 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:25,429 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 14:43:25,430 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 14:43:25,430 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 14:43:25,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:25,434 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-15 14:43:25,434 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-15 14:43:25,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:25,435 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:25,435 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-15 14:43:25,436 INFO L87 Difference]: Start difference. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-15 14:43:25,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:25,439 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-15 14:43:25,439 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-15 14:43:25,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:25,440 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:25,440 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:25,440 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:25,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 14:43:25,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-15 14:43:25,444 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 33 [2022-04-15 14:43:25,444 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:25,444 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-15 14:43:25,444 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 14:43:25,444 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-15 14:43:25,485 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:25,486 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-15 14:43:25,486 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 14:43:25,487 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:25,487 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:25,487 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 14:43:25,487 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:25,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:25,488 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 1 times [2022-04-15 14:43:25,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:25,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1662736327] [2022-04-15 14:43:25,489 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:25,489 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 2 times [2022-04-15 14:43:25,489 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:25,489 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [452616652] [2022-04-15 14:43:25,489 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:25,489 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:25,508 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:25,509 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1134750565] [2022-04-15 14:43:25,509 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:43:25,509 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:25,509 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:25,547 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:25,559 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 14:43:25,590 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 14:43:25,590 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:25,592 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 14:43:25,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:25,604 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:25,840 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-15 14:43:25,840 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {326#true} is VALID [2022-04-15 14:43:25,840 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 14:43:25,840 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #88#return; {326#true} is VALID [2022-04-15 14:43:25,840 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-15 14:43:25,841 INFO L290 TraceCheckUtils]: 5: Hoare triple {326#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {326#true} is VALID [2022-04-15 14:43:25,841 INFO L272 TraceCheckUtils]: 6: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {326#true} is VALID [2022-04-15 14:43:25,841 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 14:43:25,841 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 14:43:25,841 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 14:43:25,841 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #66#return; {326#true} is VALID [2022-04-15 14:43:25,842 INFO L290 TraceCheckUtils]: 11: Hoare triple {326#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {326#true} is VALID [2022-04-15 14:43:25,842 INFO L272 TraceCheckUtils]: 12: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {326#true} is VALID [2022-04-15 14:43:25,842 INFO L290 TraceCheckUtils]: 13: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 14:43:25,842 INFO L290 TraceCheckUtils]: 14: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 14:43:25,842 INFO L290 TraceCheckUtils]: 15: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 14:43:25,842 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {326#true} {326#true} #68#return; {326#true} is VALID [2022-04-15 14:43:25,843 INFO L272 TraceCheckUtils]: 17: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-15 14:43:25,843 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 14:43:25,843 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 14:43:25,843 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 14:43:25,843 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {326#true} #70#return; {326#true} is VALID [2022-04-15 14:43:25,843 INFO L272 TraceCheckUtils]: 22: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-15 14:43:25,843 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 14:43:25,844 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 14:43:25,844 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 14:43:25,844 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {326#true} #72#return; {326#true} is VALID [2022-04-15 14:43:25,845 INFO L290 TraceCheckUtils]: 27: Hoare triple {326#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-15 14:43:25,845 INFO L290 TraceCheckUtils]: 28: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !false; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-15 14:43:25,846 INFO L272 TraceCheckUtils]: 29: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {419#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:25,846 INFO L290 TraceCheckUtils]: 30: Hoare triple {419#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {423#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:25,847 INFO L290 TraceCheckUtils]: 31: Hoare triple {423#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {327#false} is VALID [2022-04-15 14:43:25,847 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-15 14:43:25,847 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 14:43:25,847 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:43:25,848 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:25,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [452616652] [2022-04-15 14:43:25,848 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:43:25,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1134750565] [2022-04-15 14:43:25,848 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1134750565] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:25,848 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:25,848 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:25,849 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:25,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1662736327] [2022-04-15 14:43:25,849 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1662736327] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:25,849 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:25,850 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:25,850 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1546998513] [2022-04-15 14:43:25,850 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:25,851 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-15 14:43:25,851 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:25,851 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 14:43:25,867 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:25,867 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:43:25,867 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:25,868 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:43:25,868 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:43:25,868 INFO L87 Difference]: Start difference. First operand 32 states and 42 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 14:43:26,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:26,054 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-04-15 14:43:26,054 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:43:26,054 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-15 14:43:26,055 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:26,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 14:43:26,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 14:43:26,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 14:43:26,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 14:43:26,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 14:43:26,113 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:26,116 INFO L225 Difference]: With dead ends: 48 [2022-04-15 14:43:26,116 INFO L226 Difference]: Without dead ends: 46 [2022-04-15 14:43:26,117 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 14:43:26,118 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:26,121 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 143 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:43:26,122 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-15 14:43:26,139 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-04-15 14:43:26,140 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:26,140 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:26,140 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:26,141 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:26,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:26,149 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-15 14:43:26,149 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-15 14:43:26,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:26,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:26,155 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-15 14:43:26,156 INFO L87 Difference]: Start difference. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-15 14:43:26,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:26,158 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-15 14:43:26,158 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-15 14:43:26,158 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:26,158 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:26,158 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:26,158 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:26,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:26,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 62 transitions. [2022-04-15 14:43:26,163 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 62 transitions. Word has length 33 [2022-04-15 14:43:26,163 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:26,164 INFO L478 AbstractCegarLoop]: Abstraction has 45 states and 62 transitions. [2022-04-15 14:43:26,164 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 14:43:26,164 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 62 transitions. [2022-04-15 14:43:26,223 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:26,223 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-15 14:43:26,224 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-15 14:43:26,224 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:26,224 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:26,258 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-15 14:43:26,440 WARN L460 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-15 14:43:26,440 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:26,441 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:26,441 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 1 times [2022-04-15 14:43:26,441 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:26,441 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [316629563] [2022-04-15 14:43:26,441 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:26,441 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 2 times [2022-04-15 14:43:26,442 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:26,442 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [252798568] [2022-04-15 14:43:26,442 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:26,442 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:26,471 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:26,471 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1373522472] [2022-04-15 14:43:26,472 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:43:26,472 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:26,472 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:26,484 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:26,499 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 14:43:26,553 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:43:26,554 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:26,555 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 14:43:26,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:26,574 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:26,742 INFO L272 TraceCheckUtils]: 0: Hoare triple {709#true} call ULTIMATE.init(); {709#true} is VALID [2022-04-15 14:43:26,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {709#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {709#true} is VALID [2022-04-15 14:43:26,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:43:26,742 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {709#true} {709#true} #88#return; {709#true} is VALID [2022-04-15 14:43:26,742 INFO L272 TraceCheckUtils]: 4: Hoare triple {709#true} call #t~ret6 := main(); {709#true} is VALID [2022-04-15 14:43:26,743 INFO L290 TraceCheckUtils]: 5: Hoare triple {709#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {709#true} is VALID [2022-04-15 14:43:26,743 INFO L272 TraceCheckUtils]: 6: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {709#true} is VALID [2022-04-15 14:43:26,743 INFO L290 TraceCheckUtils]: 7: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 14:43:26,743 INFO L290 TraceCheckUtils]: 8: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 14:43:26,743 INFO L290 TraceCheckUtils]: 9: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:43:26,743 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {709#true} {709#true} #66#return; {709#true} is VALID [2022-04-15 14:43:26,743 INFO L290 TraceCheckUtils]: 11: Hoare triple {709#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {709#true} is VALID [2022-04-15 14:43:26,743 INFO L272 TraceCheckUtils]: 12: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {709#true} is VALID [2022-04-15 14:43:26,743 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 14:43:26,744 INFO L290 TraceCheckUtils]: 14: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 14:43:26,744 INFO L290 TraceCheckUtils]: 15: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:43:26,744 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {709#true} {709#true} #68#return; {709#true} is VALID [2022-04-15 14:43:26,744 INFO L272 TraceCheckUtils]: 17: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-15 14:43:26,744 INFO L290 TraceCheckUtils]: 18: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 14:43:26,744 INFO L290 TraceCheckUtils]: 19: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 14:43:26,744 INFO L290 TraceCheckUtils]: 20: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:43:26,744 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {709#true} {709#true} #70#return; {709#true} is VALID [2022-04-15 14:43:26,744 INFO L272 TraceCheckUtils]: 22: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-15 14:43:26,744 INFO L290 TraceCheckUtils]: 23: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 14:43:26,745 INFO L290 TraceCheckUtils]: 24: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 14:43:26,745 INFO L290 TraceCheckUtils]: 25: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:43:26,745 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {709#true} {709#true} #72#return; {709#true} is VALID [2022-04-15 14:43:26,745 INFO L290 TraceCheckUtils]: 27: Hoare triple {709#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:26,746 INFO L290 TraceCheckUtils]: 28: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:26,746 INFO L272 TraceCheckUtils]: 29: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {709#true} is VALID [2022-04-15 14:43:26,746 INFO L290 TraceCheckUtils]: 30: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 14:43:26,746 INFO L290 TraceCheckUtils]: 31: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 14:43:26,746 INFO L290 TraceCheckUtils]: 32: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:43:26,747 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {709#true} {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:26,748 INFO L272 TraceCheckUtils]: 34: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:26,748 INFO L290 TraceCheckUtils]: 35: Hoare triple {817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:26,748 INFO L290 TraceCheckUtils]: 36: Hoare triple {821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {710#false} is VALID [2022-04-15 14:43:26,749 INFO L290 TraceCheckUtils]: 37: Hoare triple {710#false} assume !false; {710#false} is VALID [2022-04-15 14:43:26,749 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 14:43:26,749 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:43:26,749 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:26,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [252798568] [2022-04-15 14:43:26,749 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:43:26,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1373522472] [2022-04-15 14:43:26,749 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1373522472] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:26,749 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:26,750 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:26,750 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:26,750 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [316629563] [2022-04-15 14:43:26,750 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [316629563] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:26,750 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:26,750 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:26,750 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1440272796] [2022-04-15 14:43:26,750 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:26,751 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-15 14:43:26,751 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:26,751 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 14:43:26,770 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-15 14:43:26,770 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:43:26,771 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:26,771 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:43:26,771 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:43:26,771 INFO L87 Difference]: Start difference. First operand 45 states and 62 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 14:43:26,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:26,930 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2022-04-15 14:43:26,930 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:43:26,931 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-15 14:43:26,931 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:26,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 14:43:26,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 14:43:26,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 14:43:26,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 14:43:26,934 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 14:43:26,979 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:26,981 INFO L225 Difference]: With dead ends: 52 [2022-04-15 14:43:26,981 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 14:43:26,981 INFO L912 BasicCegarLoop]: 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-15 14:43:26,982 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:26,982 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 140 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:43:26,983 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 14:43:26,994 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-15 14:43:26,994 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:26,994 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:26,994 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:26,995 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:26,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:26,997 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-15 14:43:26,997 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-15 14:43:26,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:26,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:26,998 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-15 14:43:26,998 INFO L87 Difference]: Start difference. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-15 14:43:27,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:27,000 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-15 14:43:27,000 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-15 14:43:27,001 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:27,001 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:27,001 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:27,001 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:27,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:27,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 65 transitions. [2022-04-15 14:43:27,003 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 65 transitions. Word has length 38 [2022-04-15 14:43:27,003 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:27,003 INFO L478 AbstractCegarLoop]: Abstraction has 49 states and 65 transitions. [2022-04-15 14:43:27,003 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 14:43:27,004 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 65 transitions. [2022-04-15 14:43:27,063 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:27,064 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-15 14:43:27,065 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 14:43:27,065 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:27,066 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:27,082 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 14:43:27,282 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 14:43:27,283 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:27,283 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:27,283 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 1 times [2022-04-15 14:43:27,283 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:27,283 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1868868398] [2022-04-15 14:43:27,284 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:27,284 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 2 times [2022-04-15 14:43:27,285 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:27,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1700403680] [2022-04-15 14:43:27,285 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:27,285 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:27,298 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:27,298 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [350286544] [2022-04-15 14:43:27,298 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:43:27,298 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:27,299 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:27,299 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:27,327 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 14:43:27,344 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:43:27,344 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:27,345 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 14:43:27,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:27,356 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:27,477 INFO L272 TraceCheckUtils]: 0: Hoare triple {1131#true} call ULTIMATE.init(); {1131#true} is VALID [2022-04-15 14:43:27,478 INFO L290 TraceCheckUtils]: 1: Hoare triple {1131#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1131#true} is VALID [2022-04-15 14:43:27,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 14:43:27,478 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1131#true} {1131#true} #88#return; {1131#true} is VALID [2022-04-15 14:43:27,478 INFO L272 TraceCheckUtils]: 4: Hoare triple {1131#true} call #t~ret6 := main(); {1131#true} is VALID [2022-04-15 14:43:27,478 INFO L290 TraceCheckUtils]: 5: Hoare triple {1131#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1131#true} is VALID [2022-04-15 14:43:27,478 INFO L272 TraceCheckUtils]: 6: Hoare triple {1131#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {1131#true} is VALID [2022-04-15 14:43:27,478 INFO L290 TraceCheckUtils]: 7: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 14:43:27,478 INFO L290 TraceCheckUtils]: 8: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 14:43:27,478 INFO L290 TraceCheckUtils]: 9: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 14:43:27,479 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1131#true} {1131#true} #66#return; {1131#true} is VALID [2022-04-15 14:43:27,479 INFO L290 TraceCheckUtils]: 11: Hoare triple {1131#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1131#true} is VALID [2022-04-15 14:43:27,479 INFO L272 TraceCheckUtils]: 12: Hoare triple {1131#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {1131#true} is VALID [2022-04-15 14:43:27,479 INFO L290 TraceCheckUtils]: 13: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 14:43:27,479 INFO L290 TraceCheckUtils]: 14: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 14:43:27,479 INFO L290 TraceCheckUtils]: 15: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 14:43:27,479 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1131#true} {1131#true} #68#return; {1131#true} is VALID [2022-04-15 14:43:27,479 INFO L272 TraceCheckUtils]: 17: Hoare triple {1131#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1131#true} is VALID [2022-04-15 14:43:27,479 INFO L290 TraceCheckUtils]: 18: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 14:43:27,480 INFO L290 TraceCheckUtils]: 19: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 14:43:27,480 INFO L290 TraceCheckUtils]: 20: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 14:43:27,480 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1131#true} {1131#true} #70#return; {1131#true} is VALID [2022-04-15 14:43:27,480 INFO L272 TraceCheckUtils]: 22: Hoare triple {1131#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1131#true} is VALID [2022-04-15 14:43:27,480 INFO L290 TraceCheckUtils]: 23: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 14:43:27,480 INFO L290 TraceCheckUtils]: 24: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 14:43:27,480 INFO L290 TraceCheckUtils]: 25: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 14:43:27,480 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1131#true} {1131#true} #72#return; {1131#true} is VALID [2022-04-15 14:43:27,481 INFO L290 TraceCheckUtils]: 27: Hoare triple {1131#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:43:27,481 INFO L290 TraceCheckUtils]: 28: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:43:27,481 INFO L272 TraceCheckUtils]: 29: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1131#true} is VALID [2022-04-15 14:43:27,481 INFO L290 TraceCheckUtils]: 30: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 14:43:27,482 INFO L290 TraceCheckUtils]: 31: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 14:43:27,482 INFO L290 TraceCheckUtils]: 32: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 14:43:27,483 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1131#true} {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:43:27,483 INFO L272 TraceCheckUtils]: 34: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1131#true} is VALID [2022-04-15 14:43:27,483 INFO L290 TraceCheckUtils]: 35: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 14:43:27,483 INFO L290 TraceCheckUtils]: 36: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 14:43:27,483 INFO L290 TraceCheckUtils]: 37: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 14:43:27,484 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1131#true} {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:43:27,486 INFO L272 TraceCheckUtils]: 39: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1254#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:27,487 INFO L290 TraceCheckUtils]: 40: Hoare triple {1254#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1258#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:27,487 INFO L290 TraceCheckUtils]: 41: Hoare triple {1258#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1132#false} is VALID [2022-04-15 14:43:27,487 INFO L290 TraceCheckUtils]: 42: Hoare triple {1132#false} assume !false; {1132#false} is VALID [2022-04-15 14:43:27,487 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 14:43:27,487 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:43:27,488 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:27,488 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1700403680] [2022-04-15 14:43:27,488 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:43:27,488 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [350286544] [2022-04-15 14:43:27,488 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [350286544] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:27,488 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:27,488 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:27,489 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:27,489 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1868868398] [2022-04-15 14:43:27,489 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1868868398] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:27,489 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:27,489 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:27,489 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [423203346] [2022-04-15 14:43:27,489 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:27,490 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-15 14:43:27,490 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:27,490 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 14:43:27,511 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:27,511 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:43:27,511 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:27,512 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:43:27,512 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:43:27,512 INFO L87 Difference]: Start difference. First operand 49 states and 65 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 14:43:27,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:27,681 INFO L93 Difference]: Finished difference Result 74 states and 105 transitions. [2022-04-15 14:43:27,682 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:43:27,682 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-15 14:43:27,682 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:27,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 14:43:27,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 14:43:27,683 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 14:43:27,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 14:43:27,685 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 14:43:27,740 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:27,742 INFO L225 Difference]: With dead ends: 74 [2022-04-15 14:43:27,742 INFO L226 Difference]: Without dead ends: 70 [2022-04-15 14:43:27,743 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 14:43:27,744 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:27,744 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 139 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:43:27,744 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-15 14:43:27,760 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-15 14:43:27,760 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:27,761 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:27,761 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:27,761 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:27,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:27,764 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-15 14:43:27,764 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-15 14:43:27,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:27,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:27,765 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-15 14:43:27,765 INFO L87 Difference]: Start difference. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-15 14:43:27,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:27,768 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-15 14:43:27,768 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-15 14:43:27,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:27,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:27,769 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:27,769 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:27,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:27,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 98 transitions. [2022-04-15 14:43:27,772 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 98 transitions. Word has length 43 [2022-04-15 14:43:27,772 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:27,772 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 98 transitions. [2022-04-15 14:43:27,772 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 14:43:27,772 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 98 transitions. [2022-04-15 14:43:27,868 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:27,868 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-15 14:43:27,869 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 14:43:27,869 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:27,869 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:27,886 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-15 14:43:28,086 WARN L460 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-15 14:43:28,086 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:28,087 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:28,087 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 1 times [2022-04-15 14:43:28,087 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:28,087 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1810667465] [2022-04-15 14:43:28,087 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:28,087 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 2 times [2022-04-15 14:43:28,087 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:28,087 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1648054892] [2022-04-15 14:43:28,088 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:28,088 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:28,101 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:28,101 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [3283658] [2022-04-15 14:43:28,101 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:43:28,101 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:28,101 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:28,102 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:28,103 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 14:43:28,138 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:43:28,138 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:28,139 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 14:43:28,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:28,146 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:28,258 INFO L272 TraceCheckUtils]: 0: Hoare triple {1694#true} call ULTIMATE.init(); {1694#true} is VALID [2022-04-15 14:43:28,258 INFO L290 TraceCheckUtils]: 1: Hoare triple {1694#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1694#true} is VALID [2022-04-15 14:43:28,258 INFO L290 TraceCheckUtils]: 2: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:28,258 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1694#true} {1694#true} #88#return; {1694#true} is VALID [2022-04-15 14:43:28,258 INFO L272 TraceCheckUtils]: 4: Hoare triple {1694#true} call #t~ret6 := main(); {1694#true} is VALID [2022-04-15 14:43:28,259 INFO L290 TraceCheckUtils]: 5: Hoare triple {1694#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1694#true} is VALID [2022-04-15 14:43:28,259 INFO L272 TraceCheckUtils]: 6: Hoare triple {1694#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {1694#true} is VALID [2022-04-15 14:43:28,259 INFO L290 TraceCheckUtils]: 7: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 14:43:28,259 INFO L290 TraceCheckUtils]: 8: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 14:43:28,259 INFO L290 TraceCheckUtils]: 9: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:28,259 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1694#true} {1694#true} #66#return; {1694#true} is VALID [2022-04-15 14:43:28,259 INFO L290 TraceCheckUtils]: 11: Hoare triple {1694#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1694#true} is VALID [2022-04-15 14:43:28,259 INFO L272 TraceCheckUtils]: 12: Hoare triple {1694#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {1694#true} is VALID [2022-04-15 14:43:28,259 INFO L290 TraceCheckUtils]: 13: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 14:43:28,259 INFO L290 TraceCheckUtils]: 14: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 14:43:28,259 INFO L290 TraceCheckUtils]: 15: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:28,260 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1694#true} {1694#true} #68#return; {1694#true} is VALID [2022-04-15 14:43:28,260 INFO L272 TraceCheckUtils]: 17: Hoare triple {1694#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1694#true} is VALID [2022-04-15 14:43:28,260 INFO L290 TraceCheckUtils]: 18: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 14:43:28,260 INFO L290 TraceCheckUtils]: 19: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 14:43:28,260 INFO L290 TraceCheckUtils]: 20: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:28,260 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1694#true} {1694#true} #70#return; {1694#true} is VALID [2022-04-15 14:43:28,260 INFO L272 TraceCheckUtils]: 22: Hoare triple {1694#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1694#true} is VALID [2022-04-15 14:43:28,260 INFO L290 TraceCheckUtils]: 23: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 14:43:28,260 INFO L290 TraceCheckUtils]: 24: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 14:43:28,260 INFO L290 TraceCheckUtils]: 25: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:28,260 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1694#true} {1694#true} #72#return; {1694#true} is VALID [2022-04-15 14:43:28,260 INFO L290 TraceCheckUtils]: 27: Hoare triple {1694#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1694#true} is VALID [2022-04-15 14:43:28,261 INFO L290 TraceCheckUtils]: 28: Hoare triple {1694#true} assume !false; {1694#true} is VALID [2022-04-15 14:43:28,261 INFO L272 TraceCheckUtils]: 29: Hoare triple {1694#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1694#true} is VALID [2022-04-15 14:43:28,261 INFO L290 TraceCheckUtils]: 30: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 14:43:28,261 INFO L290 TraceCheckUtils]: 31: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 14:43:28,261 INFO L290 TraceCheckUtils]: 32: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:28,261 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1694#true} {1694#true} #74#return; {1694#true} is VALID [2022-04-15 14:43:28,261 INFO L272 TraceCheckUtils]: 34: Hoare triple {1694#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1694#true} is VALID [2022-04-15 14:43:28,261 INFO L290 TraceCheckUtils]: 35: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 14:43:28,261 INFO L290 TraceCheckUtils]: 36: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 14:43:28,261 INFO L290 TraceCheckUtils]: 37: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:28,261 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1694#true} {1694#true} #76#return; {1694#true} is VALID [2022-04-15 14:43:28,261 INFO L272 TraceCheckUtils]: 39: Hoare triple {1694#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1694#true} is VALID [2022-04-15 14:43:28,262 INFO L290 TraceCheckUtils]: 40: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 14:43:28,262 INFO L290 TraceCheckUtils]: 41: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 14:43:28,262 INFO L290 TraceCheckUtils]: 42: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:28,262 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1694#true} {1694#true} #78#return; {1694#true} is VALID [2022-04-15 14:43:28,262 INFO L290 TraceCheckUtils]: 44: Hoare triple {1694#true} assume !(~a~0 != ~b~0); {1831#(= main_~b~0 main_~a~0)} is VALID [2022-04-15 14:43:28,263 INFO L272 TraceCheckUtils]: 45: Hoare triple {1831#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {1835#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:28,263 INFO L290 TraceCheckUtils]: 46: Hoare triple {1835#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1839#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:28,264 INFO L290 TraceCheckUtils]: 47: Hoare triple {1839#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1695#false} is VALID [2022-04-15 14:43:28,264 INFO L290 TraceCheckUtils]: 48: Hoare triple {1695#false} assume !false; {1695#false} is VALID [2022-04-15 14:43:28,265 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 14:43:28,265 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:43:28,265 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:28,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1648054892] [2022-04-15 14:43:28,265 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:43:28,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [3283658] [2022-04-15 14:43:28,265 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [3283658] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:28,265 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:28,265 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:28,265 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:28,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1810667465] [2022-04-15 14:43:28,265 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1810667465] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:28,266 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:28,266 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:28,266 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1299910603] [2022-04-15 14:43:28,266 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:28,266 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-15 14:43:28,266 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:28,266 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-15 14:43:28,298 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-15 14:43:28,298 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:43:28,298 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:28,298 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:43:28,298 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:43:28,298 INFO L87 Difference]: Start difference. First operand 70 states and 98 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-15 14:43:28,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:28,465 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-15 14:43:28,465 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:43:28,465 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-15 14:43:28,467 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:28,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-15 14:43:28,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-15 14:43:28,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-15 14:43:28,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-15 14:43:28,469 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-15 14:43:28,502 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-15 14:43:28,504 INFO L225 Difference]: With dead ends: 76 [2022-04-15 14:43:28,505 INFO L226 Difference]: Without dead ends: 74 [2022-04-15 14:43:28,505 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 14:43:28,505 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 5 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:28,506 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 139 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:43:28,506 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-15 14:43:28,523 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-15 14:43:28,524 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:28,524 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:28,524 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:28,524 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:28,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:28,527 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-15 14:43:28,527 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-15 14:43:28,527 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:28,527 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:28,528 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-15 14:43:28,528 INFO L87 Difference]: Start difference. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-15 14:43:28,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:28,530 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-15 14:43:28,530 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-15 14:43:28,530 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:28,530 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:28,531 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:28,531 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:28,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:28,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 101 transitions. [2022-04-15 14:43:28,533 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 101 transitions. Word has length 49 [2022-04-15 14:43:28,533 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:28,533 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 101 transitions. [2022-04-15 14:43:28,534 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-15 14:43:28,534 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 101 transitions. [2022-04-15 14:43:28,648 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:28,649 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-15 14:43:28,649 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-15 14:43:28,649 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:28,650 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:28,667 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 14:43:28,863 WARN L460 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-15 14:43:28,864 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:28,864 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:28,864 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 1 times [2022-04-15 14:43:28,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:28,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [233720794] [2022-04-15 14:43:28,865 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:28,865 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 2 times [2022-04-15 14:43:28,865 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:28,865 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [285953789] [2022-04-15 14:43:28,865 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:28,865 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:28,879 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:28,879 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [677698581] [2022-04-15 14:43:28,879 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:43:28,879 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:28,880 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:28,880 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:28,907 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 14:43:28,943 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:43:28,943 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:28,944 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 14:43:28,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:28,958 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:29,123 INFO L272 TraceCheckUtils]: 0: Hoare triple {2295#true} call ULTIMATE.init(); {2295#true} is VALID [2022-04-15 14:43:29,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {2295#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2295#true} is VALID [2022-04-15 14:43:29,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:29,123 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2295#true} {2295#true} #88#return; {2295#true} is VALID [2022-04-15 14:43:29,123 INFO L272 TraceCheckUtils]: 4: Hoare triple {2295#true} call #t~ret6 := main(); {2295#true} is VALID [2022-04-15 14:43:29,123 INFO L290 TraceCheckUtils]: 5: Hoare triple {2295#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2295#true} is VALID [2022-04-15 14:43:29,123 INFO L272 TraceCheckUtils]: 6: Hoare triple {2295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {2295#true} is VALID [2022-04-15 14:43:29,123 INFO L290 TraceCheckUtils]: 7: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 14:43:29,123 INFO L290 TraceCheckUtils]: 8: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 14:43:29,124 INFO L290 TraceCheckUtils]: 9: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:29,124 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2295#true} {2295#true} #66#return; {2295#true} is VALID [2022-04-15 14:43:29,124 INFO L290 TraceCheckUtils]: 11: Hoare triple {2295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2295#true} is VALID [2022-04-15 14:43:29,124 INFO L272 TraceCheckUtils]: 12: Hoare triple {2295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {2295#true} is VALID [2022-04-15 14:43:29,124 INFO L290 TraceCheckUtils]: 13: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 14:43:29,124 INFO L290 TraceCheckUtils]: 14: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 14:43:29,124 INFO L290 TraceCheckUtils]: 15: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:29,124 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2295#true} {2295#true} #68#return; {2295#true} is VALID [2022-04-15 14:43:29,124 INFO L272 TraceCheckUtils]: 17: Hoare triple {2295#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2295#true} is VALID [2022-04-15 14:43:29,124 INFO L290 TraceCheckUtils]: 18: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 14:43:29,124 INFO L290 TraceCheckUtils]: 19: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 14:43:29,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:29,124 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2295#true} {2295#true} #70#return; {2295#true} is VALID [2022-04-15 14:43:29,125 INFO L272 TraceCheckUtils]: 22: Hoare triple {2295#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2295#true} is VALID [2022-04-15 14:43:29,125 INFO L290 TraceCheckUtils]: 23: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 14:43:29,125 INFO L290 TraceCheckUtils]: 24: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 14:43:29,125 INFO L290 TraceCheckUtils]: 25: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:29,125 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2295#true} {2295#true} #72#return; {2295#true} is VALID [2022-04-15 14:43:29,125 INFO L290 TraceCheckUtils]: 27: Hoare triple {2295#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:29,126 INFO L290 TraceCheckUtils]: 28: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:29,126 INFO L272 TraceCheckUtils]: 29: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2295#true} is VALID [2022-04-15 14:43:29,126 INFO L290 TraceCheckUtils]: 30: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 14:43:29,126 INFO L290 TraceCheckUtils]: 31: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 14:43:29,126 INFO L290 TraceCheckUtils]: 32: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:29,131 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:29,131 INFO L272 TraceCheckUtils]: 34: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2295#true} is VALID [2022-04-15 14:43:29,131 INFO L290 TraceCheckUtils]: 35: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 14:43:29,131 INFO L290 TraceCheckUtils]: 36: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 14:43:29,131 INFO L290 TraceCheckUtils]: 37: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:29,132 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:29,132 INFO L272 TraceCheckUtils]: 39: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2295#true} is VALID [2022-04-15 14:43:29,132 INFO L290 TraceCheckUtils]: 40: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 14:43:29,132 INFO L290 TraceCheckUtils]: 41: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 14:43:29,133 INFO L290 TraceCheckUtils]: 42: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:29,133 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:29,133 INFO L290 TraceCheckUtils]: 44: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:29,134 INFO L290 TraceCheckUtils]: 45: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:29,134 INFO L290 TraceCheckUtils]: 46: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:29,135 INFO L272 TraceCheckUtils]: 47: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2442#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:29,135 INFO L290 TraceCheckUtils]: 48: Hoare triple {2442#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2446#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:29,135 INFO L290 TraceCheckUtils]: 49: Hoare triple {2446#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2296#false} is VALID [2022-04-15 14:43:29,135 INFO L290 TraceCheckUtils]: 50: Hoare triple {2296#false} assume !false; {2296#false} is VALID [2022-04-15 14:43:29,136 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-15 14:43:29,136 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:43:29,136 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:29,136 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [285953789] [2022-04-15 14:43:29,136 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:43:29,136 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [677698581] [2022-04-15 14:43:29,136 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [677698581] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:29,136 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:29,136 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:29,136 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:29,136 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [233720794] [2022-04-15 14:43:29,137 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [233720794] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:29,137 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:29,137 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:29,137 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1094056308] [2022-04-15 14:43:29,137 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:29,137 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-15 14:43:29,137 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:29,137 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:43:29,159 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:29,159 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:43:29,159 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:29,160 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:43:29,160 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:43:29,160 INFO L87 Difference]: Start difference. First operand 74 states and 101 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:43:29,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:29,306 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-04-15 14:43:29,306 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:43:29,306 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-15 14:43:29,306 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:29,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:43:29,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-15 14:43:29,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:43:29,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-15 14:43:29,308 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-15 14:43:29,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:29,353 INFO L225 Difference]: With dead ends: 84 [2022-04-15 14:43:29,353 INFO L226 Difference]: Without dead ends: 81 [2022-04-15 14:43:29,354 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 14:43:29,354 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 6 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:29,354 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 146 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:43:29,355 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-15 14:43:29,376 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2022-04-15 14:43:29,376 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:29,377 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 14:43:29,377 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 14:43:29,377 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 14:43:29,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:29,379 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-15 14:43:29,379 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-15 14:43:29,380 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:29,380 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:29,380 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-15 14:43:29,380 INFO L87 Difference]: Start difference. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-15 14:43:29,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:29,383 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-15 14:43:29,383 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-15 14:43:29,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:29,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:29,383 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:29,383 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:29,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 14:43:29,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 102 transitions. [2022-04-15 14:43:29,385 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 102 transitions. Word has length 51 [2022-04-15 14:43:29,385 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:29,385 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 102 transitions. [2022-04-15 14:43:29,386 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:43:29,386 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 102 transitions. [2022-04-15 14:43:29,482 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:29,482 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-15 14:43:29,482 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-15 14:43:29,482 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:29,482 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:29,499 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-15 14:43:29,699 WARN L460 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-15 14:43:29,700 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:29,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:29,700 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 1 times [2022-04-15 14:43:29,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:29,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [132758898] [2022-04-15 14:43:29,700 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:29,701 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 2 times [2022-04-15 14:43:29,701 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:29,701 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1740580096] [2022-04-15 14:43:29,701 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:29,701 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:29,712 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:29,712 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1088819096] [2022-04-15 14:43:29,713 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:43:29,713 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:29,713 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:29,713 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:29,715 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 14:43:29,749 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:43:29,749 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:29,750 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 14:43:29,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:29,760 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:29,889 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-15 14:43:29,890 INFO L290 TraceCheckUtils]: 1: Hoare triple {2942#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2942#true} is VALID [2022-04-15 14:43:29,890 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:29,890 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-15 14:43:29,890 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-15 14:43:29,890 INFO L290 TraceCheckUtils]: 5: Hoare triple {2942#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2942#true} is VALID [2022-04-15 14:43:29,890 INFO L272 TraceCheckUtils]: 6: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:29,890 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:29,890 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:29,890 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:29,890 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-15 14:43:29,890 INFO L290 TraceCheckUtils]: 11: Hoare triple {2942#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2942#true} is VALID [2022-04-15 14:43:29,891 INFO L272 TraceCheckUtils]: 12: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:29,891 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:29,891 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:29,891 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:29,891 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-15 14:43:29,891 INFO L272 TraceCheckUtils]: 17: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:29,891 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:29,891 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:29,891 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:29,891 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-15 14:43:29,891 INFO L272 TraceCheckUtils]: 22: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:29,891 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:29,891 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:29,892 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:29,892 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-15 14:43:29,892 INFO L290 TraceCheckUtils]: 27: Hoare triple {2942#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2942#true} is VALID [2022-04-15 14:43:29,892 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-15 14:43:29,892 INFO L272 TraceCheckUtils]: 29: Hoare triple {2942#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:29,892 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:29,892 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:29,892 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:29,892 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-15 14:43:29,892 INFO L272 TraceCheckUtils]: 34: Hoare triple {2942#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:29,893 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:29,893 INFO L290 TraceCheckUtils]: 36: Hoare triple {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:43:29,893 INFO L290 TraceCheckUtils]: 37: Hoare triple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:43:29,894 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} {2942#true} #76#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:29,894 INFO L272 TraceCheckUtils]: 39: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:29,894 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:29,895 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:29,895 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:29,895 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2942#true} {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:29,896 INFO L290 TraceCheckUtils]: 44: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:29,896 INFO L272 TraceCheckUtils]: 45: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:29,896 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:29,896 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:29,896 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:29,897 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2942#true} {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:29,897 INFO L272 TraceCheckUtils]: 50: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:29,898 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:29,898 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-15 14:43:29,898 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-15 14:43:29,898 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-15 14:43:29,898 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:43:51,559 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-15 14:43:51,559 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-15 14:43:51,560 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:51,560 INFO L272 TraceCheckUtils]: 50: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:51,561 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2942#true} {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:51,561 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:51,561 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:51,561 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:51,561 INFO L272 TraceCheckUtils]: 45: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:51,562 INFO L290 TraceCheckUtils]: 44: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:51,562 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2942#true} {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:51,562 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:51,562 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:51,563 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:51,563 INFO L272 TraceCheckUtils]: 39: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:51,563 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} {2942#true} #76#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:51,565 INFO L290 TraceCheckUtils]: 37: Hoare triple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:43:51,566 INFO L290 TraceCheckUtils]: 36: Hoare triple {3166#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:43:51,566 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3166#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:43:51,566 INFO L272 TraceCheckUtils]: 34: Hoare triple {2942#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:51,566 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-15 14:43:51,566 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:51,566 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:51,567 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:51,567 INFO L272 TraceCheckUtils]: 29: Hoare triple {2942#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:51,567 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-15 14:43:51,567 INFO L290 TraceCheckUtils]: 27: Hoare triple {2942#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2942#true} is VALID [2022-04-15 14:43:51,567 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-15 14:43:51,567 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:51,567 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:51,567 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:51,567 INFO L272 TraceCheckUtils]: 22: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:51,567 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-15 14:43:51,567 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:51,567 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:51,567 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:51,568 INFO L272 TraceCheckUtils]: 17: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:51,568 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-15 14:43:51,568 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:51,568 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:51,568 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:51,568 INFO L272 TraceCheckUtils]: 12: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:51,568 INFO L290 TraceCheckUtils]: 11: Hoare triple {2942#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2942#true} is VALID [2022-04-15 14:43:51,568 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-15 14:43:51,568 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:51,568 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:51,568 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:51,568 INFO L272 TraceCheckUtils]: 6: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:51,568 INFO L290 TraceCheckUtils]: 5: Hoare triple {2942#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2942#true} is VALID [2022-04-15 14:43:51,568 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-15 14:43:51,569 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-15 14:43:51,569 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:51,569 INFO L290 TraceCheckUtils]: 1: Hoare triple {2942#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2942#true} is VALID [2022-04-15 14:43:51,569 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-15 14:43:51,569 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-15 14:43:51,569 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:51,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1740580096] [2022-04-15 14:43:51,569 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:43:51,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1088819096] [2022-04-15 14:43:51,569 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1088819096] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:43:51,569 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:43:51,570 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 14:43:51,570 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:51,570 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [132758898] [2022-04-15 14:43:51,570 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [132758898] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:51,570 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:51,570 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:43:51,570 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [774471071] [2022-04-15 14:43:51,570 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:51,570 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-15 14:43:51,571 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:51,571 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:43:51,596 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:51,597 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 14:43:51,597 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:51,597 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 14:43:51,597 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:43:51,597 INFO L87 Difference]: Start difference. First operand 79 states and 102 transitions. Second operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:43:52,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:52,210 INFO L93 Difference]: Finished difference Result 88 states and 112 transitions. [2022-04-15 14:43:52,210 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 14:43:52,210 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-15 14:43:52,211 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:52,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:43:52,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-15 14:43:52,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:43:52,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-15 14:43:52,213 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 52 transitions. [2022-04-15 14:43:52,251 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:52,252 INFO L225 Difference]: With dead ends: 88 [2022-04-15 14:43:52,252 INFO L226 Difference]: Without dead ends: 84 [2022-04-15 14:43:52,253 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-15 14:43:52,253 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 133 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 122 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:52,253 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 129 Invalid, 133 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 14:43:52,254 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-15 14:43:52,283 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-15 14:43:52,284 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:52,284 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 14:43:52,284 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 14:43:52,284 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 14:43:52,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:52,287 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-15 14:43:52,287 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-15 14:43:52,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:52,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:52,287 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-15 14:43:52,288 INFO L87 Difference]: Start difference. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-15 14:43:52,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:52,290 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-15 14:43:52,290 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-15 14:43:52,290 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:52,290 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:52,290 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:52,290 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:52,290 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 14:43:52,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 105 transitions. [2022-04-15 14:43:52,293 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 105 transitions. Word has length 54 [2022-04-15 14:43:52,293 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:52,293 INFO L478 AbstractCegarLoop]: Abstraction has 84 states and 105 transitions. [2022-04-15 14:43:52,293 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:43:52,293 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 105 transitions. [2022-04-15 14:43:52,406 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:52,406 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-15 14:43:52,406 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-15 14:43:52,406 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:52,406 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:52,424 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 14:43:52,607 WARN L460 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-15 14:43:52,607 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:52,607 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:52,607 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 3 times [2022-04-15 14:43:52,607 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:52,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [443654794] [2022-04-15 14:43:52,608 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:52,608 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 4 times [2022-04-15 14:43:52,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:52,609 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1768342672] [2022-04-15 14:43:52,609 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:52,609 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:52,623 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:52,623 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1350734820] [2022-04-15 14:43:52,623 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:43:52,623 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:52,623 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:52,624 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:52,625 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 14:43:52,662 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:43:52,662 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:52,663 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 14:43:52,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:52,675 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:53,091 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-15 14:43:53,091 INFO L290 TraceCheckUtils]: 1: Hoare triple {3792#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3792#true} is VALID [2022-04-15 14:43:53,092 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:53,092 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-15 14:43:53,092 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-15 14:43:53,092 INFO L290 TraceCheckUtils]: 5: Hoare triple {3792#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3792#true} is VALID [2022-04-15 14:43:53,092 INFO L272 TraceCheckUtils]: 6: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:43:53,092 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:43:53,092 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:43:53,092 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:53,092 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-15 14:43:53,092 INFO L290 TraceCheckUtils]: 11: Hoare triple {3792#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3792#true} is VALID [2022-04-15 14:43:53,092 INFO L272 TraceCheckUtils]: 12: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:43:53,093 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:43:53,093 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:43:53,093 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:53,093 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-15 14:43:53,093 INFO L272 TraceCheckUtils]: 17: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:43:53,093 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:43:53,093 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:43:53,093 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:53,093 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-15 14:43:53,093 INFO L272 TraceCheckUtils]: 22: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:43:53,097 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3866#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 14:43:53,098 INFO L290 TraceCheckUtils]: 24: Hoare triple {3866#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3870#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:43:53,098 INFO L290 TraceCheckUtils]: 25: Hoare triple {3870#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3870#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:43:53,099 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3870#(not (= |assume_abort_if_not_#in~cond| 0))} {3792#true} #72#return; {3877#(<= 1 main_~y~0)} is VALID [2022-04-15 14:43:53,099 INFO L290 TraceCheckUtils]: 27: Hoare triple {3877#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:53,101 INFO L290 TraceCheckUtils]: 28: Hoare triple {3881#(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; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:53,101 INFO L272 TraceCheckUtils]: 29: Hoare triple {3881#(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)); {3792#true} is VALID [2022-04-15 14:43:53,101 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:43:53,101 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:43:53,101 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:53,102 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3792#true} {3881#(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))} #74#return; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:53,102 INFO L272 TraceCheckUtils]: 34: Hoare triple {3881#(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)); {3792#true} is VALID [2022-04-15 14:43:53,102 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:43:53,102 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:43:53,102 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:53,103 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3792#true} {3881#(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))} #76#return; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:53,103 INFO L272 TraceCheckUtils]: 39: Hoare triple {3881#(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)); {3792#true} is VALID [2022-04-15 14:43:53,103 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:43:53,103 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:43:53,103 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:53,104 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3792#true} {3881#(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))} #78#return; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:53,104 INFO L290 TraceCheckUtils]: 44: Hoare triple {3881#(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); {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:53,105 INFO L290 TraceCheckUtils]: 45: Hoare triple {3881#(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; {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-15 14:43:53,105 INFO L290 TraceCheckUtils]: 46: Hoare triple {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} assume !false; {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-15 14:43:53,105 INFO L272 TraceCheckUtils]: 47: Hoare triple {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:43:53,105 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:43:53,106 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:43:53,106 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:53,106 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3792#true} {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} #74#return; {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-15 14:43:53,107 INFO L272 TraceCheckUtils]: 52: Hoare triple {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:53,107 INFO L290 TraceCheckUtils]: 53: Hoare triple {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3962#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:53,108 INFO L290 TraceCheckUtils]: 54: Hoare triple {3962#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-15 14:43:53,108 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-15 14:43:53,108 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 17 proven. 3 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-15 14:43:53,108 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:43:53,371 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-15 14:43:53,372 INFO L290 TraceCheckUtils]: 54: Hoare triple {3962#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-15 14:43:53,373 INFO L290 TraceCheckUtils]: 53: Hoare triple {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3962#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:53,373 INFO L272 TraceCheckUtils]: 52: Hoare triple {3978#(= 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)); {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:53,374 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3792#true} {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:53,374 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:53,374 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:43:53,374 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:43:53,374 INFO L272 TraceCheckUtils]: 47: Hoare triple {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:43:53,375 INFO L290 TraceCheckUtils]: 46: Hoare triple {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:54,567 INFO L290 TraceCheckUtils]: 45: Hoare triple {4000#(= (+ main_~a~0 (* (- 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; {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:54,568 INFO L290 TraceCheckUtils]: 44: Hoare triple {4000#(= (+ main_~a~0 (* (- 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); {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:43:54,569 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3792#true} {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #78#return; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:43:54,569 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:54,569 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:43:54,569 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:43:54,569 INFO L272 TraceCheckUtils]: 39: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:43:54,570 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3792#true} {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #76#return; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:43:54,570 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:54,570 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:43:54,570 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:43:54,570 INFO L272 TraceCheckUtils]: 34: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:43:54,571 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3792#true} {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #74#return; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:43:54,571 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:54,571 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:43:54,571 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:43:54,571 INFO L272 TraceCheckUtils]: 29: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:43:54,571 INFO L290 TraceCheckUtils]: 28: Hoare triple {4000#(= (+ main_~a~0 (* (- 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; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:43:54,572 INFO L290 TraceCheckUtils]: 27: Hoare triple {3792#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:43:54,572 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3792#true} {3792#true} #72#return; {3792#true} is VALID [2022-04-15 14:43:54,572 INFO L290 TraceCheckUtils]: 25: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:54,572 INFO L290 TraceCheckUtils]: 24: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:43:54,572 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:43:54,572 INFO L272 TraceCheckUtils]: 22: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:43:54,572 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-15 14:43:54,573 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:54,573 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:43:54,573 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:43:54,573 INFO L272 TraceCheckUtils]: 17: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:43:54,573 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-15 14:43:54,573 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:54,573 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:43:54,573 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:43:54,573 INFO L272 TraceCheckUtils]: 12: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:43:54,573 INFO L290 TraceCheckUtils]: 11: Hoare triple {3792#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3792#true} is VALID [2022-04-15 14:43:54,573 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-15 14:43:54,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:54,573 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:43:54,574 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:43:54,574 INFO L272 TraceCheckUtils]: 6: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:43:54,574 INFO L290 TraceCheckUtils]: 5: Hoare triple {3792#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3792#true} is VALID [2022-04-15 14:43:54,574 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-15 14:43:54,574 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-15 14:43:54,574 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:43:54,574 INFO L290 TraceCheckUtils]: 1: Hoare triple {3792#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3792#true} is VALID [2022-04-15 14:43:54,574 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-15 14:43:54,574 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-15 14:43:54,575 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:54,575 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1768342672] [2022-04-15 14:43:54,575 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:43:54,575 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1350734820] [2022-04-15 14:43:54,575 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1350734820] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:43:54,575 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:43:54,575 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 6] total 11 [2022-04-15 14:43:54,575 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:54,575 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [443654794] [2022-04-15 14:43:54,575 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [443654794] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:54,575 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:54,576 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 14:43:54,576 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1840689839] [2022-04-15 14:43:54,576 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:54,576 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 56 [2022-04-15 14:43:54,576 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:54,576 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:43:54,606 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:54,606 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 14:43:54,606 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:54,607 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 14:43:54,607 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2022-04-15 14:43:54,607 INFO L87 Difference]: Start difference. First operand 84 states and 105 transitions. Second operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:43:55,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:55,441 INFO L93 Difference]: Finished difference Result 118 states and 147 transitions. [2022-04-15 14:43:55,441 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 14:43:55,441 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 56 [2022-04-15 14:43:55,441 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:55,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:43:55,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 75 transitions. [2022-04-15 14:43:55,443 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:43:55,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 75 transitions. [2022-04-15 14:43:55,444 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 75 transitions. [2022-04-15 14:43:55,505 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:55,507 INFO L225 Difference]: With dead ends: 118 [2022-04-15 14:43:55,507 INFO L226 Difference]: Without dead ends: 116 [2022-04-15 14:43:55,508 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 101 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-15 14:43:55,508 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 19 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 232 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 242 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 232 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:55,508 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 184 Invalid, 242 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 232 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 14:43:55,509 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-15 14:43:55,571 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 112. [2022-04-15 14:43:55,572 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:55,572 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-15 14:43:55,572 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-15 14:43:55,573 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-15 14:43:55,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:55,576 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-15 14:43:55,576 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-15 14:43:55,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:55,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:55,577 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-15 14:43:55,577 INFO L87 Difference]: Start difference. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-15 14:43:55,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:55,581 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-15 14:43:55,581 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-15 14:43:55,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:55,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:55,582 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:55,582 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:55,583 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-15 14:43:55,586 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 138 transitions. [2022-04-15 14:43:55,586 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 138 transitions. Word has length 56 [2022-04-15 14:43:55,586 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:55,586 INFO L478 AbstractCegarLoop]: Abstraction has 112 states and 138 transitions. [2022-04-15 14:43:55,587 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:43:55,587 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 138 transitions. [2022-04-15 14:43:55,734 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:55,734 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 138 transitions. [2022-04-15 14:43:55,734 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 14:43:55,734 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:55,735 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:55,767 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-15 14:43:55,935 WARN L460 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-15 14:43:55,935 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:55,935 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:55,936 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 1 times [2022-04-15 14:43:55,936 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:55,936 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1269483026] [2022-04-15 14:43:55,936 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:55,936 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 2 times [2022-04-15 14:43:55,936 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:55,936 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [255294561] [2022-04-15 14:43:55,936 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:55,936 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:55,955 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:55,956 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1848743175] [2022-04-15 14:43:55,956 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:43:55,956 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:55,956 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:55,957 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:55,958 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 14:43:56,001 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:43:56,001 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:56,002 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 14:43:56,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:56,012 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:56,290 INFO L272 TraceCheckUtils]: 0: Hoare triple {4834#true} call ULTIMATE.init(); {4834#true} is VALID [2022-04-15 14:43:56,290 INFO L290 TraceCheckUtils]: 1: Hoare triple {4834#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); {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4834#true} {4834#true} #88#return; {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L272 TraceCheckUtils]: 4: Hoare triple {4834#true} call #t~ret6 := main(); {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L290 TraceCheckUtils]: 5: Hoare triple {4834#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; {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L272 TraceCheckUtils]: 6: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L290 TraceCheckUtils]: 7: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L290 TraceCheckUtils]: 8: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L290 TraceCheckUtils]: 9: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4834#true} {4834#true} #66#return; {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L290 TraceCheckUtils]: 11: Hoare triple {4834#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L272 TraceCheckUtils]: 12: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L290 TraceCheckUtils]: 13: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L290 TraceCheckUtils]: 14: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L290 TraceCheckUtils]: 15: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4834#true} {4834#true} #68#return; {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L272 TraceCheckUtils]: 17: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-15 14:43:56,291 INFO L290 TraceCheckUtils]: 18: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,292 INFO L290 TraceCheckUtils]: 19: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,292 INFO L290 TraceCheckUtils]: 20: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,292 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4834#true} {4834#true} #70#return; {4834#true} is VALID [2022-04-15 14:43:56,292 INFO L272 TraceCheckUtils]: 22: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-15 14:43:56,292 INFO L290 TraceCheckUtils]: 23: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,292 INFO L290 TraceCheckUtils]: 24: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,292 INFO L290 TraceCheckUtils]: 25: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,292 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4834#true} {4834#true} #72#return; {4834#true} is VALID [2022-04-15 14:43:56,292 INFO L290 TraceCheckUtils]: 27: Hoare triple {4834#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:56,293 INFO L290 TraceCheckUtils]: 28: Hoare triple {4920#(and (= main_~r~0 0) (= 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; {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:56,293 INFO L272 TraceCheckUtils]: 29: Hoare triple {4920#(and (= main_~r~0 0) (= 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)); {4834#true} is VALID [2022-04-15 14:43:56,293 INFO L290 TraceCheckUtils]: 30: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,293 INFO L290 TraceCheckUtils]: 31: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,293 INFO L290 TraceCheckUtils]: 32: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,294 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4834#true} {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:56,294 INFO L272 TraceCheckUtils]: 34: Hoare triple {4920#(and (= main_~r~0 0) (= 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)); {4834#true} is VALID [2022-04-15 14:43:56,294 INFO L290 TraceCheckUtils]: 35: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,294 INFO L290 TraceCheckUtils]: 36: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,294 INFO L290 TraceCheckUtils]: 37: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,295 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4834#true} {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:56,295 INFO L272 TraceCheckUtils]: 39: Hoare triple {4920#(and (= main_~r~0 0) (= 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)); {4834#true} is VALID [2022-04-15 14:43:56,295 INFO L290 TraceCheckUtils]: 40: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,295 INFO L290 TraceCheckUtils]: 41: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,295 INFO L290 TraceCheckUtils]: 42: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,296 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4834#true} {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:56,296 INFO L290 TraceCheckUtils]: 44: Hoare triple {4920#(and (= main_~r~0 0) (= 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); {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:56,297 INFO L290 TraceCheckUtils]: 45: Hoare triple {4920#(and (= main_~r~0 0) (= 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; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-15 14:43:56,297 INFO L290 TraceCheckUtils]: 46: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} assume !false; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-15 14:43:56,297 INFO L272 TraceCheckUtils]: 47: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4834#true} is VALID [2022-04-15 14:43:56,297 INFO L290 TraceCheckUtils]: 48: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,297 INFO L290 TraceCheckUtils]: 49: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,297 INFO L290 TraceCheckUtils]: 50: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,298 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4834#true} {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #74#return; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-15 14:43:56,298 INFO L272 TraceCheckUtils]: 52: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4834#true} is VALID [2022-04-15 14:43:56,298 INFO L290 TraceCheckUtils]: 53: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,298 INFO L290 TraceCheckUtils]: 54: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,298 INFO L290 TraceCheckUtils]: 55: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,299 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4834#true} {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #76#return; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-15 14:43:56,300 INFO L272 TraceCheckUtils]: 57: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:56,300 INFO L290 TraceCheckUtils]: 58: Hoare triple {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5016#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:56,300 INFO L290 TraceCheckUtils]: 59: Hoare triple {5016#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4835#false} is VALID [2022-04-15 14:43:56,300 INFO L290 TraceCheckUtils]: 60: Hoare triple {4835#false} assume !false; {4835#false} is VALID [2022-04-15 14:43:56,300 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-15 14:43:56,300 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:43:56,520 INFO L290 TraceCheckUtils]: 60: Hoare triple {4835#false} assume !false; {4835#false} is VALID [2022-04-15 14:43:56,521 INFO L290 TraceCheckUtils]: 59: Hoare triple {5016#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4835#false} is VALID [2022-04-15 14:43:56,521 INFO L290 TraceCheckUtils]: 58: Hoare triple {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5016#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:56,521 INFO L272 TraceCheckUtils]: 57: Hoare triple {5032#(= 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)); {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:56,522 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4834#true} {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:43:56,522 INFO L290 TraceCheckUtils]: 55: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,522 INFO L290 TraceCheckUtils]: 54: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,522 INFO L290 TraceCheckUtils]: 53: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,522 INFO L272 TraceCheckUtils]: 52: Hoare triple {5032#(= 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)); {4834#true} is VALID [2022-04-15 14:43:56,523 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4834#true} {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:43:56,523 INFO L290 TraceCheckUtils]: 50: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,523 INFO L290 TraceCheckUtils]: 49: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,523 INFO L290 TraceCheckUtils]: 48: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,523 INFO L272 TraceCheckUtils]: 47: Hoare triple {5032#(= 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)); {4834#true} is VALID [2022-04-15 14:43:56,523 INFO L290 TraceCheckUtils]: 46: Hoare triple {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:43:56,824 INFO L290 TraceCheckUtils]: 45: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 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; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:43:56,825 INFO L290 TraceCheckUtils]: 44: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 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); {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 14:43:56,825 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4834#true} {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #78#return; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 14:43:56,826 INFO L290 TraceCheckUtils]: 42: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,826 INFO L290 TraceCheckUtils]: 41: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,826 INFO L290 TraceCheckUtils]: 40: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,826 INFO L272 TraceCheckUtils]: 39: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 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)); {4834#true} is VALID [2022-04-15 14:43:56,826 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4834#true} {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #76#return; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 14:43:56,826 INFO L290 TraceCheckUtils]: 37: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,826 INFO L290 TraceCheckUtils]: 36: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,826 INFO L290 TraceCheckUtils]: 35: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,826 INFO L272 TraceCheckUtils]: 34: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 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)); {4834#true} is VALID [2022-04-15 14:43:56,830 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4834#true} {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #74#return; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 14:43:56,830 INFO L290 TraceCheckUtils]: 32: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,830 INFO L290 TraceCheckUtils]: 31: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,830 INFO L290 TraceCheckUtils]: 30: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,830 INFO L272 TraceCheckUtils]: 29: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 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)); {4834#true} is VALID [2022-04-15 14:43:56,834 INFO L290 TraceCheckUtils]: 28: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 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; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 14:43:56,835 INFO L290 TraceCheckUtils]: 27: Hoare triple {4834#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 14:43:56,835 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4834#true} {4834#true} #72#return; {4834#true} is VALID [2022-04-15 14:43:56,835 INFO L290 TraceCheckUtils]: 25: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,835 INFO L290 TraceCheckUtils]: 24: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,835 INFO L290 TraceCheckUtils]: 23: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,835 INFO L272 TraceCheckUtils]: 22: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-15 14:43:56,835 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4834#true} {4834#true} #70#return; {4834#true} is VALID [2022-04-15 14:43:56,835 INFO L290 TraceCheckUtils]: 20: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,835 INFO L290 TraceCheckUtils]: 19: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,835 INFO L290 TraceCheckUtils]: 18: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,835 INFO L272 TraceCheckUtils]: 17: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-15 14:43:56,835 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4834#true} {4834#true} #68#return; {4834#true} is VALID [2022-04-15 14:43:56,835 INFO L290 TraceCheckUtils]: 15: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,835 INFO L290 TraceCheckUtils]: 14: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,836 INFO L290 TraceCheckUtils]: 13: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,836 INFO L272 TraceCheckUtils]: 12: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {4834#true} is VALID [2022-04-15 14:43:56,836 INFO L290 TraceCheckUtils]: 11: Hoare triple {4834#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4834#true} is VALID [2022-04-15 14:43:56,836 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4834#true} {4834#true} #66#return; {4834#true} is VALID [2022-04-15 14:43:56,836 INFO L290 TraceCheckUtils]: 9: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,836 INFO L290 TraceCheckUtils]: 8: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-15 14:43:56,836 INFO L290 TraceCheckUtils]: 7: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-15 14:43:56,836 INFO L272 TraceCheckUtils]: 6: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {4834#true} is VALID [2022-04-15 14:43:56,836 INFO L290 TraceCheckUtils]: 5: Hoare triple {4834#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; {4834#true} is VALID [2022-04-15 14:43:56,836 INFO L272 TraceCheckUtils]: 4: Hoare triple {4834#true} call #t~ret6 := main(); {4834#true} is VALID [2022-04-15 14:43:56,836 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4834#true} {4834#true} #88#return; {4834#true} is VALID [2022-04-15 14:43:56,836 INFO L290 TraceCheckUtils]: 2: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-15 14:43:56,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {4834#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); {4834#true} is VALID [2022-04-15 14:43:56,836 INFO L272 TraceCheckUtils]: 0: Hoare triple {4834#true} call ULTIMATE.init(); {4834#true} is VALID [2022-04-15 14:43:56,837 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-15 14:43:56,837 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:56,838 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [255294561] [2022-04-15 14:43:56,838 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:43:56,838 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1848743175] [2022-04-15 14:43:56,838 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1848743175] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:43:56,838 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:43:56,838 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-15 14:43:56,840 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:56,840 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1269483026] [2022-04-15 14:43:56,840 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1269483026] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:56,840 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:56,840 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 14:43:56,840 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [336046586] [2022-04-15 14:43:56,840 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:56,840 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-15 14:43:56,841 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:56,841 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-15 14:43:56,867 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:56,867 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 14:43:56,867 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:56,868 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 14:43:56,868 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-15 14:43:56,868 INFO L87 Difference]: Start difference. First operand 112 states and 138 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-15 14:43:57,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:57,298 INFO L93 Difference]: Finished difference Result 137 states and 178 transitions. [2022-04-15 14:43:57,298 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 14:43:57,298 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-15 14:43:57,299 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:57,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-15 14:43:57,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 14:43:57,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-15 14:43:57,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 14:43:57,301 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-15 14:43:57,381 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:57,383 INFO L225 Difference]: With dead ends: 137 [2022-04-15 14:43:57,384 INFO L226 Difference]: Without dead ends: 131 [2022-04-15 14:43:57,384 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:43:57,385 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 120 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:57,385 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 160 Invalid, 120 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 14:43:57,385 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-15 14:43:57,460 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-15 14:43:57,460 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:57,461 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-15 14:43:57,461 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-15 14:43:57,461 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-15 14:43:57,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:57,465 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-15 14:43:57,465 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-15 14:43:57,465 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:57,465 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:57,465 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-15 14:43:57,466 INFO L87 Difference]: Start difference. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-15 14:43:57,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:57,468 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-15 14:43:57,468 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-15 14:43:57,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:57,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:57,469 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:57,469 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:57,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-15 14:43:57,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 167 transitions. [2022-04-15 14:43:57,472 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 167 transitions. Word has length 61 [2022-04-15 14:43:57,472 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:57,472 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 167 transitions. [2022-04-15 14:43:57,472 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-15 14:43:57,473 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 167 transitions. [2022-04-15 14:43:57,654 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:57,654 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-15 14:43:57,654 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-15 14:43:57,655 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:57,655 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:57,671 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 14:43:57,855 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 14:43:57,855 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:57,856 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:57,856 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 1 times [2022-04-15 14:43:57,856 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:57,856 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [631708697] [2022-04-15 14:43:57,856 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:57,856 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 2 times [2022-04-15 14:43:57,856 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:57,856 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1436427890] [2022-04-15 14:43:57,856 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:57,857 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:57,885 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:57,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1511565904] [2022-04-15 14:43:57,885 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:43:57,885 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:57,885 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:57,886 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:57,889 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 14:43:57,936 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:43:57,936 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:57,936 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-15 14:43:57,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:57,949 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:58,250 INFO L272 TraceCheckUtils]: 0: Hoare triple {6007#true} call ULTIMATE.init(); {6007#true} is VALID [2022-04-15 14:43:58,250 INFO L290 TraceCheckUtils]: 1: Hoare triple {6007#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); {6007#true} is VALID [2022-04-15 14:43:58,250 INFO L290 TraceCheckUtils]: 2: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,250 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6007#true} {6007#true} #88#return; {6007#true} is VALID [2022-04-15 14:43:58,250 INFO L272 TraceCheckUtils]: 4: Hoare triple {6007#true} call #t~ret6 := main(); {6007#true} is VALID [2022-04-15 14:43:58,250 INFO L290 TraceCheckUtils]: 5: Hoare triple {6007#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; {6007#true} is VALID [2022-04-15 14:43:58,250 INFO L272 TraceCheckUtils]: 6: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {6007#true} is VALID [2022-04-15 14:43:58,250 INFO L290 TraceCheckUtils]: 7: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,250 INFO L290 TraceCheckUtils]: 8: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L290 TraceCheckUtils]: 9: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6007#true} {6007#true} #66#return; {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L290 TraceCheckUtils]: 11: Hoare triple {6007#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L272 TraceCheckUtils]: 12: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L290 TraceCheckUtils]: 13: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L290 TraceCheckUtils]: 14: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L290 TraceCheckUtils]: 15: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6007#true} {6007#true} #68#return; {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L272 TraceCheckUtils]: 17: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L290 TraceCheckUtils]: 18: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L290 TraceCheckUtils]: 19: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L290 TraceCheckUtils]: 20: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6007#true} {6007#true} #70#return; {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L272 TraceCheckUtils]: 22: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L290 TraceCheckUtils]: 23: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L290 TraceCheckUtils]: 24: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L290 TraceCheckUtils]: 25: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,251 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6007#true} {6007#true} #72#return; {6007#true} is VALID [2022-04-15 14:43:58,252 INFO L290 TraceCheckUtils]: 27: Hoare triple {6007#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:58,252 INFO L290 TraceCheckUtils]: 28: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:58,252 INFO L272 TraceCheckUtils]: 29: Hoare triple {6093#(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)); {6007#true} is VALID [2022-04-15 14:43:58,252 INFO L290 TraceCheckUtils]: 30: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,252 INFO L290 TraceCheckUtils]: 31: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,253 INFO L290 TraceCheckUtils]: 32: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,254 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6007#true} {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:58,254 INFO L272 TraceCheckUtils]: 34: Hoare triple {6093#(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)); {6007#true} is VALID [2022-04-15 14:43:58,254 INFO L290 TraceCheckUtils]: 35: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,254 INFO L290 TraceCheckUtils]: 36: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,254 INFO L290 TraceCheckUtils]: 37: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,255 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6007#true} {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:58,255 INFO L272 TraceCheckUtils]: 39: Hoare triple {6093#(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)); {6007#true} is VALID [2022-04-15 14:43:58,255 INFO L290 TraceCheckUtils]: 40: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,255 INFO L290 TraceCheckUtils]: 41: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,255 INFO L290 TraceCheckUtils]: 42: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,256 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6007#true} {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:58,256 INFO L290 TraceCheckUtils]: 44: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:58,257 INFO L290 TraceCheckUtils]: 45: Hoare triple {6093#(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; {6148#(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-15 14:43:58,257 INFO L290 TraceCheckUtils]: 46: Hoare triple {6148#(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; {6148#(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-15 14:43:58,257 INFO L272 TraceCheckUtils]: 47: Hoare triple {6148#(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)); {6007#true} is VALID [2022-04-15 14:43:58,257 INFO L290 TraceCheckUtils]: 48: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,257 INFO L290 TraceCheckUtils]: 49: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,257 INFO L290 TraceCheckUtils]: 50: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,258 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6007#true} {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #74#return; {6148#(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-15 14:43:58,258 INFO L272 TraceCheckUtils]: 52: Hoare triple {6148#(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)); {6007#true} is VALID [2022-04-15 14:43:58,258 INFO L290 TraceCheckUtils]: 53: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,260 INFO L290 TraceCheckUtils]: 54: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,260 INFO L290 TraceCheckUtils]: 55: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,261 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6007#true} {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #76#return; {6148#(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-15 14:43:58,261 INFO L272 TraceCheckUtils]: 57: Hoare triple {6148#(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)); {6007#true} is VALID [2022-04-15 14:43:58,261 INFO L290 TraceCheckUtils]: 58: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,261 INFO L290 TraceCheckUtils]: 59: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,262 INFO L290 TraceCheckUtils]: 60: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,262 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6007#true} {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #78#return; {6148#(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-15 14:43:58,262 INFO L290 TraceCheckUtils]: 62: Hoare triple {6148#(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); {6148#(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-15 14:43:58,263 INFO L290 TraceCheckUtils]: 63: Hoare triple {6148#(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; {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:43:58,263 INFO L290 TraceCheckUtils]: 64: Hoare triple {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:43:58,264 INFO L272 TraceCheckUtils]: 65: Hoare triple {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:58,264 INFO L290 TraceCheckUtils]: 66: Hoare triple {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:58,264 INFO L290 TraceCheckUtils]: 67: Hoare triple {6214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6008#false} is VALID [2022-04-15 14:43:58,264 INFO L290 TraceCheckUtils]: 68: Hoare triple {6008#false} assume !false; {6008#false} is VALID [2022-04-15 14:43:58,265 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-15 14:43:58,265 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:43:58,492 INFO L290 TraceCheckUtils]: 68: Hoare triple {6008#false} assume !false; {6008#false} is VALID [2022-04-15 14:43:58,493 INFO L290 TraceCheckUtils]: 67: Hoare triple {6214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6008#false} is VALID [2022-04-15 14:43:58,493 INFO L290 TraceCheckUtils]: 66: Hoare triple {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:58,494 INFO L272 TraceCheckUtils]: 65: Hoare triple {6230#(= (* 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)); {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:58,494 INFO L290 TraceCheckUtils]: 64: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:43:58,496 INFO L290 TraceCheckUtils]: 63: Hoare triple {6230#(= (* 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; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:43:58,497 INFO L290 TraceCheckUtils]: 62: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:43:58,498 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:43:58,498 INFO L290 TraceCheckUtils]: 60: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,498 INFO L290 TraceCheckUtils]: 59: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,498 INFO L290 TraceCheckUtils]: 58: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,498 INFO L272 TraceCheckUtils]: 57: Hoare triple {6230#(= (* 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)); {6007#true} is VALID [2022-04-15 14:43:58,498 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:43:58,498 INFO L290 TraceCheckUtils]: 55: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,499 INFO L290 TraceCheckUtils]: 54: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,499 INFO L290 TraceCheckUtils]: 53: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,499 INFO L272 TraceCheckUtils]: 52: Hoare triple {6230#(= (* 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)); {6007#true} is VALID [2022-04-15 14:43:58,499 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:43:58,499 INFO L290 TraceCheckUtils]: 50: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,499 INFO L290 TraceCheckUtils]: 49: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,499 INFO L290 TraceCheckUtils]: 48: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,499 INFO L272 TraceCheckUtils]: 47: Hoare triple {6230#(= (* 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)); {6007#true} is VALID [2022-04-15 14:43:58,500 INFO L290 TraceCheckUtils]: 46: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:43:58,502 INFO L290 TraceCheckUtils]: 45: Hoare triple {6230#(= (* 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; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:43:58,502 INFO L290 TraceCheckUtils]: 44: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:43:58,503 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:43:58,503 INFO L290 TraceCheckUtils]: 42: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,503 INFO L290 TraceCheckUtils]: 41: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,503 INFO L290 TraceCheckUtils]: 40: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,503 INFO L272 TraceCheckUtils]: 39: Hoare triple {6230#(= (* 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)); {6007#true} is VALID [2022-04-15 14:43:58,504 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:43:58,504 INFO L290 TraceCheckUtils]: 37: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,504 INFO L290 TraceCheckUtils]: 36: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,504 INFO L290 TraceCheckUtils]: 35: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,504 INFO L272 TraceCheckUtils]: 34: Hoare triple {6230#(= (* 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)); {6007#true} is VALID [2022-04-15 14:43:58,516 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:43:58,516 INFO L290 TraceCheckUtils]: 32: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,516 INFO L290 TraceCheckUtils]: 31: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,516 INFO L290 TraceCheckUtils]: 30: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,516 INFO L272 TraceCheckUtils]: 29: Hoare triple {6230#(= (* 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)); {6007#true} is VALID [2022-04-15 14:43:58,516 INFO L290 TraceCheckUtils]: 28: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:43:58,517 INFO L290 TraceCheckUtils]: 27: Hoare triple {6007#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:43:58,517 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6007#true} {6007#true} #72#return; {6007#true} is VALID [2022-04-15 14:43:58,517 INFO L290 TraceCheckUtils]: 25: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,517 INFO L290 TraceCheckUtils]: 24: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,517 INFO L290 TraceCheckUtils]: 23: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,517 INFO L272 TraceCheckUtils]: 22: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-15 14:43:58,517 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6007#true} {6007#true} #70#return; {6007#true} is VALID [2022-04-15 14:43:58,517 INFO L290 TraceCheckUtils]: 20: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,517 INFO L290 TraceCheckUtils]: 19: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,517 INFO L290 TraceCheckUtils]: 18: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,517 INFO L272 TraceCheckUtils]: 17: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-15 14:43:58,517 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6007#true} {6007#true} #68#return; {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L290 TraceCheckUtils]: 15: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L290 TraceCheckUtils]: 14: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L290 TraceCheckUtils]: 13: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L272 TraceCheckUtils]: 12: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L290 TraceCheckUtils]: 11: Hoare triple {6007#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6007#true} {6007#true} #66#return; {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L290 TraceCheckUtils]: 9: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L290 TraceCheckUtils]: 8: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L290 TraceCheckUtils]: 7: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L272 TraceCheckUtils]: 6: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L290 TraceCheckUtils]: 5: Hoare triple {6007#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; {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L272 TraceCheckUtils]: 4: Hoare triple {6007#true} call #t~ret6 := main(); {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6007#true} {6007#true} #88#return; {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {6007#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); {6007#true} is VALID [2022-04-15 14:43:58,518 INFO L272 TraceCheckUtils]: 0: Hoare triple {6007#true} call ULTIMATE.init(); {6007#true} is VALID [2022-04-15 14:43:58,519 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 94 trivial. 0 not checked. [2022-04-15 14:43:58,519 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:58,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1436427890] [2022-04-15 14:43:58,519 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:43:58,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1511565904] [2022-04-15 14:43:58,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1511565904] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 14:43:58,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 14:43:58,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-15 14:43:58,519 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:58,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [631708697] [2022-04-15 14:43:58,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [631708697] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:58,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:58,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:58,520 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1309419476] [2022-04-15 14:43:58,520 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:58,520 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 69 [2022-04-15 14:43:58,520 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:58,520 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:43:58,579 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:58,579 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:43:58,579 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:58,579 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:43:58,580 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-15 14:43:58,580 INFO L87 Difference]: Start difference. First operand 131 states and 167 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:43:58,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:58,801 INFO L93 Difference]: Finished difference Result 137 states and 172 transitions. [2022-04-15 14:43:58,801 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:43:58,801 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 69 [2022-04-15 14:43:58,802 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:58,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:43:58,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-15 14:43:58,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:43:58,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-15 14:43:58,804 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-15 14:43:58,835 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-15 14:43:58,837 INFO L225 Difference]: With dead ends: 137 [2022-04-15 14:43:58,837 INFO L226 Difference]: Without dead ends: 132 [2022-04-15 14:43:58,838 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 128 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:43:58,839 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 6 mSDsluCounter, 80 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:58,840 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 116 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:43:58,840 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-15 14:43:58,909 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-15 14:43:58,909 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:58,910 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 14:43:58,910 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 14:43:58,910 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 14:43:58,915 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:58,915 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-15 14:43:58,915 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-15 14:43:58,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:58,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:58,916 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 132 states. [2022-04-15 14:43:58,916 INFO L87 Difference]: Start difference. First operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 132 states. [2022-04-15 14:43:58,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:58,919 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-15 14:43:58,919 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-15 14:43:58,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:58,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:58,919 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:58,919 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:58,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 14:43:58,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 164 transitions. [2022-04-15 14:43:58,922 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 164 transitions. Word has length 69 [2022-04-15 14:43:58,922 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:58,922 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 164 transitions. [2022-04-15 14:43:58,922 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:43:58,922 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 164 transitions. [2022-04-15 14:43:59,161 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:59,162 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-15 14:43:59,162 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-15 14:43:59,162 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:59,162 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:59,185 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-15 14:43:59,362 WARN L460 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-15 14:43:59,363 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:59,363 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:59,363 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 5 times [2022-04-15 14:43:59,363 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:59,363 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1787997264] [2022-04-15 14:43:59,364 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:59,364 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 6 times [2022-04-15 14:43:59,364 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:59,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [508810178] [2022-04-15 14:43:59,364 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:59,364 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:59,378 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:59,379 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1372516464] [2022-04-15 14:43:59,379 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 14:43:59,379 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:59,379 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:59,396 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:59,398 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 14:43:59,461 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 14:43:59,461 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:59,462 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-15 14:43:59,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:59,473 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:59,994 INFO L272 TraceCheckUtils]: 0: Hoare triple {7232#true} call ULTIMATE.init(); {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {7232#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); {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7232#true} {7232#true} #88#return; {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L272 TraceCheckUtils]: 4: Hoare triple {7232#true} call #t~ret6 := main(); {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L290 TraceCheckUtils]: 5: Hoare triple {7232#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; {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L272 TraceCheckUtils]: 6: Hoare triple {7232#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L290 TraceCheckUtils]: 7: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L290 TraceCheckUtils]: 8: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L290 TraceCheckUtils]: 9: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7232#true} {7232#true} #66#return; {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L290 TraceCheckUtils]: 11: Hoare triple {7232#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L272 TraceCheckUtils]: 12: Hoare triple {7232#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L290 TraceCheckUtils]: 13: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L290 TraceCheckUtils]: 14: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L290 TraceCheckUtils]: 15: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:43:59,995 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7232#true} {7232#true} #68#return; {7232#true} is VALID [2022-04-15 14:43:59,996 INFO L272 TraceCheckUtils]: 17: Hoare triple {7232#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:43:59,996 INFO L290 TraceCheckUtils]: 18: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:43:59,996 INFO L290 TraceCheckUtils]: 19: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:43:59,996 INFO L290 TraceCheckUtils]: 20: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:43:59,996 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7232#true} {7232#true} #70#return; {7232#true} is VALID [2022-04-15 14:43:59,996 INFO L272 TraceCheckUtils]: 22: Hoare triple {7232#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:43:59,996 INFO L290 TraceCheckUtils]: 23: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:43:59,996 INFO L290 TraceCheckUtils]: 24: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:43:59,996 INFO L290 TraceCheckUtils]: 25: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:43:59,996 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7232#true} {7232#true} #72#return; {7232#true} is VALID [2022-04-15 14:43:59,997 INFO L290 TraceCheckUtils]: 27: Hoare triple {7232#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:59,997 INFO L290 TraceCheckUtils]: 28: Hoare triple {7318#(and (= main_~r~0 0) (= 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; {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:59,997 INFO L272 TraceCheckUtils]: 29: Hoare triple {7318#(and (= main_~r~0 0) (= 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)); {7232#true} is VALID [2022-04-15 14:43:59,997 INFO L290 TraceCheckUtils]: 30: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:43:59,997 INFO L290 TraceCheckUtils]: 31: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:43:59,997 INFO L290 TraceCheckUtils]: 32: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:43:59,998 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7232#true} {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:59,998 INFO L272 TraceCheckUtils]: 34: Hoare triple {7318#(and (= main_~r~0 0) (= 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)); {7232#true} is VALID [2022-04-15 14:43:59,998 INFO L290 TraceCheckUtils]: 35: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:43:59,998 INFO L290 TraceCheckUtils]: 36: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:43:59,998 INFO L290 TraceCheckUtils]: 37: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:43:59,999 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7232#true} {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:59,999 INFO L272 TraceCheckUtils]: 39: Hoare triple {7318#(and (= main_~r~0 0) (= 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)); {7232#true} is VALID [2022-04-15 14:43:59,999 INFO L290 TraceCheckUtils]: 40: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:43:59,999 INFO L290 TraceCheckUtils]: 41: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:43:59,999 INFO L290 TraceCheckUtils]: 42: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:44:00,000 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7232#true} {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:00,000 INFO L290 TraceCheckUtils]: 44: Hoare triple {7318#(and (= main_~r~0 0) (= 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); {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:00,001 INFO L290 TraceCheckUtils]: 45: Hoare triple {7318#(and (= main_~r~0 0) (= 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; {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:00,002 INFO L290 TraceCheckUtils]: 46: Hoare triple {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:00,002 INFO L272 TraceCheckUtils]: 47: Hoare triple {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:44:00,002 INFO L290 TraceCheckUtils]: 48: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:44:00,002 INFO L290 TraceCheckUtils]: 49: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:44:00,002 INFO L290 TraceCheckUtils]: 50: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:44:00,005 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7232#true} {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #74#return; {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:00,006 INFO L272 TraceCheckUtils]: 52: Hoare triple {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:44:00,006 INFO L290 TraceCheckUtils]: 53: Hoare triple {7232#true} ~cond := #in~cond; {7398#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:00,006 INFO L290 TraceCheckUtils]: 54: Hoare triple {7398#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:00,007 INFO L290 TraceCheckUtils]: 55: Hoare triple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:00,008 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #76#return; {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:00,008 INFO L272 TraceCheckUtils]: 57: Hoare triple {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:44:00,008 INFO L290 TraceCheckUtils]: 58: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:44:00,008 INFO L290 TraceCheckUtils]: 59: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:44:00,008 INFO L290 TraceCheckUtils]: 60: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:44:00,009 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7232#true} {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #78#return; {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:00,009 INFO L290 TraceCheckUtils]: 62: Hoare triple {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:00,010 INFO L290 TraceCheckUtils]: 63: Hoare triple {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7430#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-15 14:44:00,011 INFO L290 TraceCheckUtils]: 64: Hoare triple {7430#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !false; {7430#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-15 14:44:00,011 INFO L272 TraceCheckUtils]: 65: Hoare triple {7430#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:44:00,011 INFO L290 TraceCheckUtils]: 66: Hoare triple {7232#true} ~cond := #in~cond; {7398#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:00,012 INFO L290 TraceCheckUtils]: 67: Hoare triple {7398#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:00,012 INFO L290 TraceCheckUtils]: 68: Hoare triple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:00,013 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} {7430#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #74#return; {7449#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:00,014 INFO L272 TraceCheckUtils]: 70: Hoare triple {7449#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7453#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:44:00,014 INFO L290 TraceCheckUtils]: 71: Hoare triple {7453#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7457#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:00,014 INFO L290 TraceCheckUtils]: 72: Hoare triple {7457#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7233#false} is VALID [2022-04-15 14:44:00,014 INFO L290 TraceCheckUtils]: 73: Hoare triple {7233#false} assume !false; {7233#false} is VALID [2022-04-15 14:44:00,015 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 39 proven. 17 refuted. 0 times theorem prover too weak. 78 trivial. 0 not checked. [2022-04-15 14:44:00,015 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:46:07,669 INFO L290 TraceCheckUtils]: 73: Hoare triple {7233#false} assume !false; {7233#false} is VALID [2022-04-15 14:46:07,670 INFO L290 TraceCheckUtils]: 72: Hoare triple {7457#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7233#false} is VALID [2022-04-15 14:46:07,670 INFO L290 TraceCheckUtils]: 71: Hoare triple {7453#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7457#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:46:07,671 INFO L272 TraceCheckUtils]: 70: Hoare triple {7473#(= 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)); {7453#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:46:07,672 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} {7477#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #74#return; {7473#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:46:07,672 INFO L290 TraceCheckUtils]: 68: Hoare triple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:07,672 INFO L290 TraceCheckUtils]: 67: Hoare triple {7487#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:07,673 INFO L290 TraceCheckUtils]: 66: Hoare triple {7232#true} ~cond := #in~cond; {7487#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:46:07,673 INFO L272 TraceCheckUtils]: 65: Hoare triple {7477#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:46:07,673 INFO L290 TraceCheckUtils]: 64: Hoare triple {7477#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {7477#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 14:46:08,002 INFO L290 TraceCheckUtils]: 63: Hoare triple {7497#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7477#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 14:46:08,002 INFO L290 TraceCheckUtils]: 62: Hoare triple {7497#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} assume !!(~a~0 != ~b~0); {7497#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-15 14:46:08,003 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7232#true} {7497#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} #78#return; {7497#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-15 14:46:08,003 INFO L290 TraceCheckUtils]: 60: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:46:08,003 INFO L290 TraceCheckUtils]: 59: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:46:08,003 INFO L290 TraceCheckUtils]: 58: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:46:08,003 INFO L272 TraceCheckUtils]: 57: Hoare triple {7497#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:46:08,004 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} #76#return; {7497#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-15 14:46:08,005 INFO L290 TraceCheckUtils]: 55: Hoare triple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:08,005 INFO L290 TraceCheckUtils]: 54: Hoare triple {7487#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:08,005 INFO L290 TraceCheckUtils]: 53: Hoare triple {7232#true} ~cond := #in~cond; {7487#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:46:08,005 INFO L272 TraceCheckUtils]: 52: Hoare triple {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:46:08,006 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7232#true} {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} #74#return; {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-15 14:46:08,006 INFO L290 TraceCheckUtils]: 50: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:46:08,006 INFO L290 TraceCheckUtils]: 49: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:46:08,006 INFO L290 TraceCheckUtils]: 48: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:46:08,006 INFO L272 TraceCheckUtils]: 47: Hoare triple {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:46:08,007 INFO L290 TraceCheckUtils]: 46: Hoare triple {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} assume !false; {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-15 14:46:10,008 WARN L290 TraceCheckUtils]: 45: Hoare triple {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is UNKNOWN [2022-04-15 14:46:10,009 INFO L290 TraceCheckUtils]: 44: Hoare triple {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(~a~0 != ~b~0); {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 14:46:10,010 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7232#true} {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #78#return; {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 14:46:10,010 INFO L290 TraceCheckUtils]: 42: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:46:10,010 INFO L290 TraceCheckUtils]: 41: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:46:10,010 INFO L290 TraceCheckUtils]: 40: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:46:10,010 INFO L272 TraceCheckUtils]: 39: Hoare triple {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:46:10,011 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7232#true} {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #76#return; {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 14:46:10,011 INFO L290 TraceCheckUtils]: 37: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:46:10,011 INFO L290 TraceCheckUtils]: 36: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:46:10,011 INFO L290 TraceCheckUtils]: 35: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:46:10,011 INFO L272 TraceCheckUtils]: 34: Hoare triple {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:46:10,012 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7232#true} {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #74#return; {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 14:46:10,012 INFO L290 TraceCheckUtils]: 32: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:46:10,012 INFO L290 TraceCheckUtils]: 31: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:46:10,012 INFO L290 TraceCheckUtils]: 30: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:46:10,012 INFO L272 TraceCheckUtils]: 29: Hoare triple {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:46:10,013 INFO L290 TraceCheckUtils]: 28: Hoare triple {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !false; {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 14:46:10,013 INFO L290 TraceCheckUtils]: 27: Hoare triple {7232#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 14:46:10,013 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7232#true} {7232#true} #72#return; {7232#true} is VALID [2022-04-15 14:46:10,013 INFO L290 TraceCheckUtils]: 25: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:46:10,013 INFO L290 TraceCheckUtils]: 24: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:46:10,013 INFO L290 TraceCheckUtils]: 23: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:46:10,013 INFO L272 TraceCheckUtils]: 22: Hoare triple {7232#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:46:10,013 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7232#true} {7232#true} #70#return; {7232#true} is VALID [2022-04-15 14:46:10,013 INFO L290 TraceCheckUtils]: 20: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L290 TraceCheckUtils]: 19: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L290 TraceCheckUtils]: 18: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L272 TraceCheckUtils]: 17: Hoare triple {7232#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7232#true} {7232#true} #68#return; {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L290 TraceCheckUtils]: 15: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L290 TraceCheckUtils]: 14: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L290 TraceCheckUtils]: 13: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L272 TraceCheckUtils]: 12: Hoare triple {7232#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L290 TraceCheckUtils]: 11: Hoare triple {7232#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7232#true} {7232#true} #66#return; {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L290 TraceCheckUtils]: 9: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L290 TraceCheckUtils]: 8: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L290 TraceCheckUtils]: 7: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L272 TraceCheckUtils]: 6: Hoare triple {7232#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L290 TraceCheckUtils]: 5: Hoare triple {7232#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; {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L272 TraceCheckUtils]: 4: Hoare triple {7232#true} call #t~ret6 := main(); {7232#true} is VALID [2022-04-15 14:46:10,014 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7232#true} {7232#true} #88#return; {7232#true} is VALID [2022-04-15 14:46:10,015 INFO L290 TraceCheckUtils]: 2: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-15 14:46:10,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {7232#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); {7232#true} is VALID [2022-04-15 14:46:10,015 INFO L272 TraceCheckUtils]: 0: Hoare triple {7232#true} call ULTIMATE.init(); {7232#true} is VALID [2022-04-15 14:46:10,015 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 42 proven. 14 refuted. 0 times theorem prover too weak. 78 trivial. 0 not checked. [2022-04-15 14:46:10,015 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:46:10,015 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [508810178] [2022-04-15 14:46:10,015 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:46:10,015 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1372516464] [2022-04-15 14:46:10,015 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1372516464] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:46:10,015 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:46:10,016 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 16 [2022-04-15 14:46:10,016 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:46:10,016 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1787997264] [2022-04-15 14:46:10,016 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1787997264] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:46:10,016 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:46:10,016 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 14:46:10,016 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [919302762] [2022-04-15 14:46:10,016 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:46:10,016 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-15 14:46:10,017 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:46:10,017 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:46:10,061 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:46:10,061 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 14:46:10,061 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:46:10,061 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 14:46:10,062 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-15 14:46:10,062 INFO L87 Difference]: Start difference. First operand 132 states and 164 transitions. Second operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:46:11,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:11,428 INFO L93 Difference]: Finished difference Result 166 states and 206 transitions. [2022-04-15 14:46:11,428 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 14:46:11,428 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-15 14:46:11,429 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:46:11,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:46:11,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2022-04-15 14:46:11,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:46:11,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2022-04-15 14:46:11,431 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 95 transitions. [2022-04-15 14:46:11,520 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:46:11,523 INFO L225 Difference]: With dead ends: 166 [2022-04-15 14:46:11,523 INFO L226 Difference]: Without dead ends: 164 [2022-04-15 14:46:11,523 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 131 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2022-04-15 14:46:11,524 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 17 mSDsluCounter, 166 mSDsCounter, 0 mSdLazyCounter, 431 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 208 SdHoareTripleChecker+Invalid, 442 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 431 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-15 14:46:11,524 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 208 Invalid, 442 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 431 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 14:46:11,525 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-15 14:46:11,619 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 150. [2022-04-15 14:46:11,620 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:46:11,620 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 14:46:11,621 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 14:46:11,621 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 14:46:11,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:11,626 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-15 14:46:11,626 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-15 14:46:11,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:46:11,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:46:11,628 INFO L74 IsIncluded]: Start isIncluded. First operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) Second operand 164 states. [2022-04-15 14:46:11,628 INFO L87 Difference]: Start difference. First operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) Second operand 164 states. [2022-04-15 14:46:11,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:11,635 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-15 14:46:11,635 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-15 14:46:11,635 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:46:11,635 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:46:11,635 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:46:11,635 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:46:11,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 14:46:11,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 183 transitions. [2022-04-15 14:46:11,638 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 183 transitions. Word has length 74 [2022-04-15 14:46:11,640 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:46:11,640 INFO L478 AbstractCegarLoop]: Abstraction has 150 states and 183 transitions. [2022-04-15 14:46:11,640 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:46:11,640 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 150 states and 183 transitions. [2022-04-15 14:46:11,873 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:46:11,873 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 183 transitions. [2022-04-15 14:46:11,874 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-15 14:46:11,874 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:46:11,874 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:46:11,893 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-15 14:46:12,074 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 14:46:12,075 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:46:12,075 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:46:12,075 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 3 times [2022-04-15 14:46:12,075 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:46:12,075 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [613773469] [2022-04-15 14:46:12,076 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:46:12,076 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 4 times [2022-04-15 14:46:12,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:46:12,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1563565349] [2022-04-15 14:46:12,076 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:46:12,076 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:46:12,087 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:46:12,087 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1528801468] [2022-04-15 14:46:12,087 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:46:12,087 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:46:12,087 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:46:12,096 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:46:12,097 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 14:46:12,145 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:46:12,145 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:46:12,146 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-15 14:46:12,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:46:12,169 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:46:12,948 INFO L272 TraceCheckUtils]: 0: Hoare triple {8655#true} call ULTIMATE.init(); {8655#true} is VALID [2022-04-15 14:46:12,948 INFO L290 TraceCheckUtils]: 1: Hoare triple {8655#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); {8655#true} is VALID [2022-04-15 14:46:12,948 INFO L290 TraceCheckUtils]: 2: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:12,948 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8655#true} {8655#true} #88#return; {8655#true} is VALID [2022-04-15 14:46:12,948 INFO L272 TraceCheckUtils]: 4: Hoare triple {8655#true} call #t~ret6 := main(); {8655#true} is VALID [2022-04-15 14:46:12,948 INFO L290 TraceCheckUtils]: 5: Hoare triple {8655#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; {8655#true} is VALID [2022-04-15 14:46:12,948 INFO L272 TraceCheckUtils]: 6: Hoare triple {8655#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {8655#true} is VALID [2022-04-15 14:46:12,948 INFO L290 TraceCheckUtils]: 7: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:12,948 INFO L290 TraceCheckUtils]: 8: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:12,949 INFO L290 TraceCheckUtils]: 9: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:12,949 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8655#true} {8655#true} #66#return; {8655#true} is VALID [2022-04-15 14:46:12,949 INFO L290 TraceCheckUtils]: 11: Hoare triple {8655#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8655#true} is VALID [2022-04-15 14:46:12,949 INFO L272 TraceCheckUtils]: 12: Hoare triple {8655#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {8655#true} is VALID [2022-04-15 14:46:12,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:12,949 INFO L290 TraceCheckUtils]: 14: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:12,949 INFO L290 TraceCheckUtils]: 15: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:12,949 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8655#true} {8655#true} #68#return; {8655#true} is VALID [2022-04-15 14:46:12,949 INFO L272 TraceCheckUtils]: 17: Hoare triple {8655#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8655#true} is VALID [2022-04-15 14:46:12,950 INFO L290 TraceCheckUtils]: 18: Hoare triple {8655#true} ~cond := #in~cond; {8714#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 14:46:12,950 INFO L290 TraceCheckUtils]: 19: Hoare triple {8714#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8718#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:46:12,950 INFO L290 TraceCheckUtils]: 20: Hoare triple {8718#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8718#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:46:12,950 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8718#(not (= |assume_abort_if_not_#in~cond| 0))} {8655#true} #70#return; {8725#(<= 1 main_~x~0)} is VALID [2022-04-15 14:46:12,950 INFO L272 TraceCheckUtils]: 22: Hoare triple {8725#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8655#true} is VALID [2022-04-15 14:46:12,951 INFO L290 TraceCheckUtils]: 23: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:12,951 INFO L290 TraceCheckUtils]: 24: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:12,951 INFO L290 TraceCheckUtils]: 25: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:12,951 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8655#true} {8725#(<= 1 main_~x~0)} #72#return; {8725#(<= 1 main_~x~0)} is VALID [2022-04-15 14:46:12,952 INFO L290 TraceCheckUtils]: 27: Hoare triple {8725#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8744#(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-15 14:46:12,953 INFO L290 TraceCheckUtils]: 28: Hoare triple {8744#(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; {8744#(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-15 14:46:12,953 INFO L272 TraceCheckUtils]: 29: Hoare triple {8744#(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)); {8655#true} is VALID [2022-04-15 14:46:12,953 INFO L290 TraceCheckUtils]: 30: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:12,953 INFO L290 TraceCheckUtils]: 31: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:12,953 INFO L290 TraceCheckUtils]: 32: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:12,954 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8655#true} {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {8744#(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-15 14:46:12,954 INFO L272 TraceCheckUtils]: 34: Hoare triple {8744#(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)); {8655#true} is VALID [2022-04-15 14:46:12,954 INFO L290 TraceCheckUtils]: 35: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:12,954 INFO L290 TraceCheckUtils]: 36: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:12,954 INFO L290 TraceCheckUtils]: 37: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:12,954 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8655#true} {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {8744#(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-15 14:46:12,954 INFO L272 TraceCheckUtils]: 39: Hoare triple {8744#(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)); {8655#true} is VALID [2022-04-15 14:46:12,955 INFO L290 TraceCheckUtils]: 40: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:12,955 INFO L290 TraceCheckUtils]: 41: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:12,955 INFO L290 TraceCheckUtils]: 42: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:12,955 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8655#true} {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {8744#(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-15 14:46:12,956 INFO L290 TraceCheckUtils]: 44: Hoare triple {8744#(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); {8796#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:46:12,956 INFO L290 TraceCheckUtils]: 45: Hoare triple {8796#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:46:12,957 INFO L290 TraceCheckUtils]: 46: Hoare triple {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:46:12,957 INFO L272 TraceCheckUtils]: 47: Hoare triple {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8655#true} is VALID [2022-04-15 14:46:12,957 INFO L290 TraceCheckUtils]: 48: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:12,957 INFO L290 TraceCheckUtils]: 49: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:12,957 INFO L290 TraceCheckUtils]: 50: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:12,957 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8655#true} {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #74#return; {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:46:12,958 INFO L272 TraceCheckUtils]: 52: Hoare triple {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8655#true} is VALID [2022-04-15 14:46:12,958 INFO L290 TraceCheckUtils]: 53: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:12,958 INFO L290 TraceCheckUtils]: 54: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:12,958 INFO L290 TraceCheckUtils]: 55: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:12,959 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8655#true} {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #76#return; {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:46:12,959 INFO L272 TraceCheckUtils]: 57: Hoare triple {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8655#true} is VALID [2022-04-15 14:46:12,959 INFO L290 TraceCheckUtils]: 58: Hoare triple {8655#true} ~cond := #in~cond; {8840#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:46:12,960 INFO L290 TraceCheckUtils]: 59: Hoare triple {8840#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:12,960 INFO L290 TraceCheckUtils]: 60: Hoare triple {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:12,960 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #78#return; {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:46:12,961 INFO L290 TraceCheckUtils]: 62: Hoare triple {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:46:12,962 INFO L290 TraceCheckUtils]: 63: Hoare triple {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8857#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} is VALID [2022-04-15 14:46:12,962 INFO L290 TraceCheckUtils]: 64: Hoare triple {8857#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} assume !false; {8857#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} is VALID [2022-04-15 14:46:12,962 INFO L272 TraceCheckUtils]: 65: Hoare triple {8857#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8655#true} is VALID [2022-04-15 14:46:12,962 INFO L290 TraceCheckUtils]: 66: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:12,962 INFO L290 TraceCheckUtils]: 67: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:12,962 INFO L290 TraceCheckUtils]: 68: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:12,963 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8655#true} {8857#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} #74#return; {8857#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} is VALID [2022-04-15 14:46:12,963 INFO L272 TraceCheckUtils]: 70: Hoare triple {8857#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8879#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:46:12,964 INFO L290 TraceCheckUtils]: 71: Hoare triple {8879#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8883#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:46:12,964 INFO L290 TraceCheckUtils]: 72: Hoare triple {8883#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8656#false} is VALID [2022-04-15 14:46:12,964 INFO L290 TraceCheckUtils]: 73: Hoare triple {8656#false} assume !false; {8656#false} is VALID [2022-04-15 14:46:12,964 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 34 proven. 19 refuted. 0 times theorem prover too weak. 81 trivial. 0 not checked. [2022-04-15 14:46:12,965 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:46:44,080 INFO L290 TraceCheckUtils]: 73: Hoare triple {8656#false} assume !false; {8656#false} is VALID [2022-04-15 14:46:44,080 INFO L290 TraceCheckUtils]: 72: Hoare triple {8883#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8656#false} is VALID [2022-04-15 14:46:44,080 INFO L290 TraceCheckUtils]: 71: Hoare triple {8879#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8883#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:46:44,081 INFO L272 TraceCheckUtils]: 70: Hoare triple {8899#(= 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)); {8879#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:46:44,082 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8655#true} {8899#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {8899#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:46:44,082 INFO L290 TraceCheckUtils]: 68: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:44,082 INFO L290 TraceCheckUtils]: 67: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:44,082 INFO L290 TraceCheckUtils]: 66: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:44,082 INFO L272 TraceCheckUtils]: 65: Hoare triple {8899#(= 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)); {8655#true} is VALID [2022-04-15 14:46:44,082 INFO L290 TraceCheckUtils]: 64: Hoare triple {8899#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {8899#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:46:44,236 INFO L290 TraceCheckUtils]: 63: Hoare triple {8921#(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; {8899#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:46:44,237 INFO L290 TraceCheckUtils]: 62: Hoare triple {8921#(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); {8921#(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-15 14:46:44,238 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {8921#(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-15 14:46:44,238 INFO L290 TraceCheckUtils]: 60: Hoare triple {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:44,238 INFO L290 TraceCheckUtils]: 59: Hoare triple {8938#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:44,238 INFO L290 TraceCheckUtils]: 58: Hoare triple {8655#true} ~cond := #in~cond; {8938#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:46:44,238 INFO L272 TraceCheckUtils]: 57: Hoare triple {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8655#true} is VALID [2022-04-15 14:46:44,239 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8655#true} {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #76#return; {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 14:46:44,239 INFO L290 TraceCheckUtils]: 55: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:44,239 INFO L290 TraceCheckUtils]: 54: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:44,239 INFO L290 TraceCheckUtils]: 53: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:44,239 INFO L272 TraceCheckUtils]: 52: Hoare triple {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8655#true} is VALID [2022-04-15 14:46:44,240 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8655#true} {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #74#return; {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 14:46:44,240 INFO L290 TraceCheckUtils]: 50: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:44,240 INFO L290 TraceCheckUtils]: 49: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:44,240 INFO L290 TraceCheckUtils]: 48: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:44,240 INFO L272 TraceCheckUtils]: 47: Hoare triple {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8655#true} is VALID [2022-04-15 14:46:44,241 INFO L290 TraceCheckUtils]: 46: Hoare triple {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 14:46:46,242 WARN L290 TraceCheckUtils]: 45: Hoare triple {8978#(or (not (< main_~b~0 (* main_~a~0 2))) (< 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; {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is UNKNOWN [2022-04-15 14:46:46,243 INFO L290 TraceCheckUtils]: 44: Hoare triple {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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); {8978#(or (not (< main_~b~0 (* main_~a~0 2))) (< 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-15 14:46:46,243 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8655#true} {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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))))} #78#return; {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-15 14:46:46,244 INFO L290 TraceCheckUtils]: 42: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:46,244 INFO L290 TraceCheckUtils]: 41: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:46,244 INFO L290 TraceCheckUtils]: 40: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:46,244 INFO L272 TraceCheckUtils]: 39: Hoare triple {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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)); {8655#true} is VALID [2022-04-15 14:46:46,244 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8655#true} {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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))))} #76#return; {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-15 14:46:46,244 INFO L290 TraceCheckUtils]: 37: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:46,244 INFO L290 TraceCheckUtils]: 36: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:46,244 INFO L290 TraceCheckUtils]: 35: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:46,245 INFO L272 TraceCheckUtils]: 34: Hoare triple {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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)); {8655#true} is VALID [2022-04-15 14:46:46,245 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8655#true} {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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))))} #74#return; {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-15 14:46:46,245 INFO L290 TraceCheckUtils]: 32: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:46,245 INFO L290 TraceCheckUtils]: 31: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:46,245 INFO L290 TraceCheckUtils]: 30: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:46,245 INFO L272 TraceCheckUtils]: 29: Hoare triple {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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)); {8655#true} is VALID [2022-04-15 14:46:46,246 INFO L290 TraceCheckUtils]: 28: Hoare triple {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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; {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-15 14:46:46,247 INFO L290 TraceCheckUtils]: 27: Hoare triple {8655#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-15 14:46:46,247 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8655#true} {8655#true} #72#return; {8655#true} is VALID [2022-04-15 14:46:46,247 INFO L290 TraceCheckUtils]: 25: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:46,247 INFO L290 TraceCheckUtils]: 24: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:46,247 INFO L290 TraceCheckUtils]: 23: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:46,247 INFO L272 TraceCheckUtils]: 22: Hoare triple {8655#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8655#true} is VALID [2022-04-15 14:46:46,247 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8655#true} {8655#true} #70#return; {8655#true} is VALID [2022-04-15 14:46:46,247 INFO L290 TraceCheckUtils]: 20: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L290 TraceCheckUtils]: 19: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L290 TraceCheckUtils]: 18: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L272 TraceCheckUtils]: 17: Hoare triple {8655#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8655#true} {8655#true} #68#return; {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L290 TraceCheckUtils]: 15: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L290 TraceCheckUtils]: 14: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L290 TraceCheckUtils]: 13: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L272 TraceCheckUtils]: 12: Hoare triple {8655#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L290 TraceCheckUtils]: 11: Hoare triple {8655#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8655#true} {8655#true} #66#return; {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L290 TraceCheckUtils]: 9: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L290 TraceCheckUtils]: 8: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L290 TraceCheckUtils]: 7: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L272 TraceCheckUtils]: 6: Hoare triple {8655#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {8655#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; {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L272 TraceCheckUtils]: 4: Hoare triple {8655#true} call #t~ret6 := main(); {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8655#true} {8655#true} #88#return; {8655#true} is VALID [2022-04-15 14:46:46,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-15 14:46:46,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {8655#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); {8655#true} is VALID [2022-04-15 14:46:46,249 INFO L272 TraceCheckUtils]: 0: Hoare triple {8655#true} call ULTIMATE.init(); {8655#true} is VALID [2022-04-15 14:46:46,249 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 34 proven. 10 refuted. 0 times theorem prover too weak. 90 trivial. 0 not checked. [2022-04-15 14:46:46,249 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:46:46,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1563565349] [2022-04-15 14:46:46,249 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:46:46,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1528801468] [2022-04-15 14:46:46,249 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1528801468] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:46:46,249 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:46:46,249 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-15 14:46:46,250 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:46:46,250 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [613773469] [2022-04-15 14:46:46,250 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [613773469] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:46:46,250 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:46:46,250 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 14:46:46,250 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2092426264] [2022-04-15 14:46:46,250 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:46:46,250 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-15 14:46:46,250 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:46:46,250 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 14:46:46,291 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-15 14:46:46,291 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 14:46:46,291 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:46:46,291 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 14:46:46,291 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=274, Unknown=0, NotChecked=0, Total=342 [2022-04-15 14:46:46,291 INFO L87 Difference]: Start difference. First operand 150 states and 183 transitions. Second operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 14:46:48,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:48,462 INFO L93 Difference]: Finished difference Result 188 states and 228 transitions. [2022-04-15 14:46:48,462 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 14:46:48,462 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-15 14:46:48,462 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:46:48,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 14:46:48,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 85 transitions. [2022-04-15 14:46:48,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 14:46:48,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 85 transitions. [2022-04-15 14:46:48,464 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 85 transitions. [2022-04-15 14:46:48,549 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:46:48,551 INFO L225 Difference]: With dead ends: 188 [2022-04-15 14:46:48,552 INFO L226 Difference]: Without dead ends: 186 [2022-04-15 14:46:48,552 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 128 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=85, Invalid=377, Unknown=0, NotChecked=0, Total=462 [2022-04-15 14:46:48,552 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 24 mSDsluCounter, 154 mSDsCounter, 0 mSdLazyCounter, 543 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 559 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 543 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-15 14:46:48,552 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 190 Invalid, 559 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 543 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-15 14:46:48,553 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 186 states. [2022-04-15 14:46:48,675 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 186 to 172. [2022-04-15 14:46:48,675 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:46:48,676 INFO L82 GeneralOperation]: Start isEquivalent. First operand 186 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-15 14:46:48,676 INFO L74 IsIncluded]: Start isIncluded. First operand 186 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-15 14:46:48,676 INFO L87 Difference]: Start difference. First operand 186 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-15 14:46:48,679 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:48,679 INFO L93 Difference]: Finished difference Result 186 states and 226 transitions. [2022-04-15 14:46:48,679 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 226 transitions. [2022-04-15 14:46:48,680 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:46:48,680 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:46:48,680 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) Second operand 186 states. [2022-04-15 14:46:48,680 INFO L87 Difference]: Start difference. First operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) Second operand 186 states. [2022-04-15 14:46:48,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:48,686 INFO L93 Difference]: Finished difference Result 186 states and 226 transitions. [2022-04-15 14:46:48,686 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 226 transitions. [2022-04-15 14:46:48,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:46:48,686 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:46:48,687 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:46:48,687 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:46:48,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-15 14:46:48,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 205 transitions. [2022-04-15 14:46:48,690 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 205 transitions. Word has length 74 [2022-04-15 14:46:48,690 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:46:48,690 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 205 transitions. [2022-04-15 14:46:48,691 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 14:46:48,691 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 205 transitions. [2022-04-15 14:46:48,926 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-15 14:46:48,926 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 205 transitions. [2022-04-15 14:46:48,927 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-15 14:46:48,927 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:46:48,927 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:46:48,943 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-15 14:46:49,143 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-15 14:46:49,143 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:46:49,143 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:46:49,144 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 5 times [2022-04-15 14:46:49,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:46:49,144 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [866731154] [2022-04-15 14:46:49,144 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:46:49,144 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 6 times [2022-04-15 14:46:49,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:46:49,145 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [392065753] [2022-04-15 14:46:49,145 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:46:49,145 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:46:49,165 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:46:49,166 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1639434036] [2022-04-15 14:46:49,166 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 14:46:49,166 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:46:49,166 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:46:49,171 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:46:49,173 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-15 14:46:49,224 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 14:46:49,224 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:46:49,225 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-15 14:46:49,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:46:49,256 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:46:49,535 INFO L272 TraceCheckUtils]: 0: Hoare triple {10215#true} call ULTIMATE.init(); {10215#true} is VALID [2022-04-15 14:46:49,535 INFO L290 TraceCheckUtils]: 1: Hoare triple {10215#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); {10215#true} is VALID [2022-04-15 14:46:49,535 INFO L290 TraceCheckUtils]: 2: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:46:49,535 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10215#true} {10215#true} #88#return; {10215#true} is VALID [2022-04-15 14:46:49,535 INFO L272 TraceCheckUtils]: 4: Hoare triple {10215#true} call #t~ret6 := main(); {10215#true} is VALID [2022-04-15 14:46:49,535 INFO L290 TraceCheckUtils]: 5: Hoare triple {10215#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; {10215#true} is VALID [2022-04-15 14:46:49,535 INFO L272 TraceCheckUtils]: 6: Hoare triple {10215#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L290 TraceCheckUtils]: 7: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L290 TraceCheckUtils]: 8: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L290 TraceCheckUtils]: 9: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10215#true} {10215#true} #66#return; {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L290 TraceCheckUtils]: 11: Hoare triple {10215#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L272 TraceCheckUtils]: 12: Hoare triple {10215#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L290 TraceCheckUtils]: 13: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L290 TraceCheckUtils]: 14: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L290 TraceCheckUtils]: 15: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10215#true} {10215#true} #68#return; {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L272 TraceCheckUtils]: 17: Hoare triple {10215#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L290 TraceCheckUtils]: 18: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L290 TraceCheckUtils]: 19: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L290 TraceCheckUtils]: 20: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10215#true} {10215#true} #70#return; {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L272 TraceCheckUtils]: 22: Hoare triple {10215#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:46:49,536 INFO L290 TraceCheckUtils]: 23: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:46:49,537 INFO L290 TraceCheckUtils]: 24: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:46:49,537 INFO L290 TraceCheckUtils]: 25: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:46:49,537 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10215#true} {10215#true} #72#return; {10215#true} is VALID [2022-04-15 14:46:49,537 INFO L290 TraceCheckUtils]: 27: Hoare triple {10215#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:46:49,537 INFO L290 TraceCheckUtils]: 28: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:46:49,537 INFO L272 TraceCheckUtils]: 29: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:46:49,537 INFO L290 TraceCheckUtils]: 30: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:46:49,537 INFO L290 TraceCheckUtils]: 31: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:46:49,538 INFO L290 TraceCheckUtils]: 32: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:46:49,538 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10215#true} {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:46:49,538 INFO L272 TraceCheckUtils]: 34: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:46:49,538 INFO L290 TraceCheckUtils]: 35: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:46:49,538 INFO L290 TraceCheckUtils]: 36: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:46:49,538 INFO L290 TraceCheckUtils]: 37: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:46:49,539 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10215#true} {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:46:49,539 INFO L272 TraceCheckUtils]: 39: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:46:49,539 INFO L290 TraceCheckUtils]: 40: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:46:49,539 INFO L290 TraceCheckUtils]: 41: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:46:49,539 INFO L290 TraceCheckUtils]: 42: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:46:49,540 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {10215#true} {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #78#return; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:46:49,540 INFO L290 TraceCheckUtils]: 44: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:46:49,540 INFO L290 TraceCheckUtils]: 45: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:46:49,541 INFO L290 TraceCheckUtils]: 46: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:46:49,541 INFO L272 TraceCheckUtils]: 47: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:46:49,541 INFO L290 TraceCheckUtils]: 48: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:46:49,541 INFO L290 TraceCheckUtils]: 49: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:46:49,541 INFO L290 TraceCheckUtils]: 50: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:46:49,541 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10215#true} {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:46:49,542 INFO L272 TraceCheckUtils]: 52: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:46:49,542 INFO L290 TraceCheckUtils]: 53: Hoare triple {10215#true} ~cond := #in~cond; {10380#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:46:49,542 INFO L290 TraceCheckUtils]: 54: Hoare triple {10380#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:49,542 INFO L290 TraceCheckUtils]: 55: Hoare triple {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:49,543 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {10391#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:46:49,543 INFO L272 TraceCheckUtils]: 57: Hoare triple {10391#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:46:49,543 INFO L290 TraceCheckUtils]: 58: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:46:49,543 INFO L290 TraceCheckUtils]: 59: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:46:49,543 INFO L290 TraceCheckUtils]: 60: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:46:49,544 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10215#true} {10391#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #78#return; {10391#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:46:49,544 INFO L290 TraceCheckUtils]: 62: Hoare triple {10391#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {10391#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:46:49,548 INFO L290 TraceCheckUtils]: 63: Hoare triple {10391#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:46:49,548 INFO L290 TraceCheckUtils]: 64: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} assume !false; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:46:49,549 INFO L272 TraceCheckUtils]: 65: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:46:49,549 INFO L290 TraceCheckUtils]: 66: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:46:49,549 INFO L290 TraceCheckUtils]: 67: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:46:49,549 INFO L290 TraceCheckUtils]: 68: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:46:49,549 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #74#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:46:49,549 INFO L272 TraceCheckUtils]: 70: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:46:49,549 INFO L290 TraceCheckUtils]: 71: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:46:49,549 INFO L290 TraceCheckUtils]: 72: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:46:49,550 INFO L290 TraceCheckUtils]: 73: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:46:49,550 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #76#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:46:49,551 INFO L272 TraceCheckUtils]: 75: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:46:49,551 INFO L290 TraceCheckUtils]: 76: Hoare triple {10450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:46:49,551 INFO L290 TraceCheckUtils]: 77: Hoare triple {10454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10216#false} is VALID [2022-04-15 14:46:49,551 INFO L290 TraceCheckUtils]: 78: Hoare triple {10216#false} assume !false; {10216#false} is VALID [2022-04-15 14:46:49,552 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 30 proven. 18 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-15 14:46:49,552 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:47:02,016 INFO L290 TraceCheckUtils]: 78: Hoare triple {10216#false} assume !false; {10216#false} is VALID [2022-04-15 14:47:02,016 INFO L290 TraceCheckUtils]: 77: Hoare triple {10454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10216#false} is VALID [2022-04-15 14:47:02,017 INFO L290 TraceCheckUtils]: 76: Hoare triple {10450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:02,017 INFO L272 TraceCheckUtils]: 75: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:47:02,018 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #76#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:47:02,018 INFO L290 TraceCheckUtils]: 73: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:47:02,018 INFO L290 TraceCheckUtils]: 72: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:47:02,018 INFO L290 TraceCheckUtils]: 71: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:47:02,018 INFO L272 TraceCheckUtils]: 70: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:47:02,019 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #74#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:47:02,019 INFO L290 TraceCheckUtils]: 68: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:47:02,019 INFO L290 TraceCheckUtils]: 67: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:47:02,019 INFO L290 TraceCheckUtils]: 66: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:47:02,019 INFO L272 TraceCheckUtils]: 65: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:47:02,019 INFO L290 TraceCheckUtils]: 64: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} assume !false; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:47:02,158 INFO L290 TraceCheckUtils]: 63: Hoare triple {10506#(= (+ (* (- 1) main_~a~0) main_~b~0) (+ main_~y~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:47:02,159 INFO L290 TraceCheckUtils]: 62: Hoare triple {10506#(= (+ (* (- 1) main_~a~0) main_~b~0) (+ main_~y~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} assume !!(~a~0 != ~b~0); {10506#(= (+ (* (- 1) main_~a~0) main_~b~0) (+ main_~y~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-15 14:47:02,159 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10215#true} {10506#(= (+ (* (- 1) main_~a~0) main_~b~0) (+ main_~y~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} #78#return; {10506#(= (+ (* (- 1) main_~a~0) main_~b~0) (+ main_~y~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-15 14:47:02,159 INFO L290 TraceCheckUtils]: 60: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:47:02,159 INFO L290 TraceCheckUtils]: 59: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:47:02,159 INFO L290 TraceCheckUtils]: 58: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:47:02,160 INFO L272 TraceCheckUtils]: 57: Hoare triple {10506#(= (+ (* (- 1) main_~a~0) main_~b~0) (+ main_~y~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)) (* (- 1) (* 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)); {10215#true} is VALID [2022-04-15 14:47:02,161 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #76#return; {10506#(= (+ (* (- 1) main_~a~0) main_~b~0) (+ main_~y~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-15 14:47:02,161 INFO L290 TraceCheckUtils]: 55: Hoare triple {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:02,161 INFO L290 TraceCheckUtils]: 54: Hoare triple {10537#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:02,162 INFO L290 TraceCheckUtils]: 53: Hoare triple {10215#true} ~cond := #in~cond; {10537#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:47:02,162 INFO L272 TraceCheckUtils]: 52: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:47:02,162 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #74#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:47:02,162 INFO L290 TraceCheckUtils]: 50: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:47:02,162 INFO L290 TraceCheckUtils]: 49: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:47:02,162 INFO L290 TraceCheckUtils]: 48: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:47:02,162 INFO L272 TraceCheckUtils]: 47: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:47:02,163 INFO L290 TraceCheckUtils]: 46: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} assume !false; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:47:02,163 INFO L290 TraceCheckUtils]: 45: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:47:02,164 INFO L290 TraceCheckUtils]: 44: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} assume !!(~a~0 != ~b~0); {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:47:02,164 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #78#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:47:02,164 INFO L290 TraceCheckUtils]: 42: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:47:02,164 INFO L290 TraceCheckUtils]: 41: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:47:02,164 INFO L290 TraceCheckUtils]: 40: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:47:02,164 INFO L272 TraceCheckUtils]: 39: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:47:02,165 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #76#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:47:02,165 INFO L290 TraceCheckUtils]: 37: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:47:02,165 INFO L290 TraceCheckUtils]: 36: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:47:02,165 INFO L290 TraceCheckUtils]: 35: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:47:02,165 INFO L272 TraceCheckUtils]: 34: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:47:02,166 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #74#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:47:02,166 INFO L290 TraceCheckUtils]: 32: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:47:02,166 INFO L290 TraceCheckUtils]: 31: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:47:02,166 INFO L290 TraceCheckUtils]: 30: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:47:02,166 INFO L272 TraceCheckUtils]: 29: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:47:02,166 INFO L290 TraceCheckUtils]: 28: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} assume !false; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:47:02,167 INFO L290 TraceCheckUtils]: 27: Hoare triple {10215#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-15 14:47:02,167 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10215#true} {10215#true} #72#return; {10215#true} is VALID [2022-04-15 14:47:02,167 INFO L290 TraceCheckUtils]: 25: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:47:02,167 INFO L290 TraceCheckUtils]: 24: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:47:02,167 INFO L290 TraceCheckUtils]: 23: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:47:02,167 INFO L272 TraceCheckUtils]: 22: Hoare triple {10215#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:47:02,167 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10215#true} {10215#true} #70#return; {10215#true} is VALID [2022-04-15 14:47:02,167 INFO L290 TraceCheckUtils]: 20: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:47:02,167 INFO L290 TraceCheckUtils]: 19: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:47:02,167 INFO L290 TraceCheckUtils]: 18: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:47:02,167 INFO L272 TraceCheckUtils]: 17: Hoare triple {10215#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:47:02,167 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10215#true} {10215#true} #68#return; {10215#true} is VALID [2022-04-15 14:47:02,167 INFO L290 TraceCheckUtils]: 15: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:47:02,167 INFO L290 TraceCheckUtils]: 14: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:47:02,167 INFO L290 TraceCheckUtils]: 13: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:47:02,167 INFO L272 TraceCheckUtils]: 12: Hoare triple {10215#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:47:02,167 INFO L290 TraceCheckUtils]: 11: Hoare triple {10215#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10215#true} is VALID [2022-04-15 14:47:02,168 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10215#true} {10215#true} #66#return; {10215#true} is VALID [2022-04-15 14:47:02,168 INFO L290 TraceCheckUtils]: 9: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:47:02,168 INFO L290 TraceCheckUtils]: 8: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-15 14:47:02,168 INFO L290 TraceCheckUtils]: 7: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-15 14:47:02,168 INFO L272 TraceCheckUtils]: 6: Hoare triple {10215#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {10215#true} is VALID [2022-04-15 14:47:02,168 INFO L290 TraceCheckUtils]: 5: Hoare triple {10215#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; {10215#true} is VALID [2022-04-15 14:47:02,168 INFO L272 TraceCheckUtils]: 4: Hoare triple {10215#true} call #t~ret6 := main(); {10215#true} is VALID [2022-04-15 14:47:02,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10215#true} {10215#true} #88#return; {10215#true} is VALID [2022-04-15 14:47:02,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-15 14:47:02,168 INFO L290 TraceCheckUtils]: 1: Hoare triple {10215#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); {10215#true} is VALID [2022-04-15 14:47:02,168 INFO L272 TraceCheckUtils]: 0: Hoare triple {10215#true} call ULTIMATE.init(); {10215#true} is VALID [2022-04-15 14:47:02,168 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 27 proven. 14 refuted. 0 times theorem prover too weak. 125 trivial. 0 not checked. [2022-04-15 14:47:02,169 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:47:02,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [392065753] [2022-04-15 14:47:02,169 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:47:02,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1639434036] [2022-04-15 14:47:02,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1639434036] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:47:02,169 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:47:02,169 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-15 14:47:02,170 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:47:02,170 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [866731154] [2022-04-15 14:47:02,170 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [866731154] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:47:02,170 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:47:02,170 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 14:47:02,170 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [510169542] [2022-04-15 14:47:02,170 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:47:02,173 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 79 [2022-04-15 14:47:02,173 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:47:02,173 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:47:02,237 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:47:02,237 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 14:47:02,237 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:47:02,237 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 14:47:02,237 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-15 14:47:02,237 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, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:47:03,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:47:03,012 INFO L93 Difference]: Finished difference Result 186 states and 224 transitions. [2022-04-15 14:47:03,012 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 14:47:03,012 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 79 [2022-04-15 14:47:03,012 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:47:03,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:47:03,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-15 14:47:03,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:47:03,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-15 14:47:03,014 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 64 transitions. [2022-04-15 14:47:03,091 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:47:03,094 INFO L225 Difference]: With dead ends: 186 [2022-04-15 14:47:03,094 INFO L226 Difference]: Without dead ends: 173 [2022-04-15 14:47:03,094 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 159 GetRequests, 145 SyntacticMatches, 3 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=116, Unknown=0, NotChecked=0, Total=156 [2022-04-15 14:47:03,095 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 166 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 176 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 166 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 14:47:03,095 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 152 Invalid, 176 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 166 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 14:47:03,095 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-15 14:47:03,220 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 153. [2022-04-15 14:47:03,221 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:47:03,225 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-15 14:47:03,225 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-15 14:47:03,233 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-15 14:47:03,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:47:03,237 INFO L93 Difference]: Finished difference Result 173 states and 203 transitions. [2022-04-15 14:47:03,237 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 203 transitions. [2022-04-15 14:47:03,237 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:47:03,237 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:47:03,237 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 173 states. [2022-04-15 14:47:03,238 INFO L87 Difference]: Start difference. First operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 173 states. [2022-04-15 14:47:03,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:47:03,241 INFO L93 Difference]: Finished difference Result 173 states and 203 transitions. [2022-04-15 14:47:03,241 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 203 transitions. [2022-04-15 14:47:03,241 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:47:03,241 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:47:03,241 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:47:03,241 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:47:03,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-15 14:47:03,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 173 transitions. [2022-04-15 14:47:03,244 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 173 transitions. Word has length 79 [2022-04-15 14:47:03,244 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:47:03,244 INFO L478 AbstractCegarLoop]: Abstraction has 153 states and 173 transitions. [2022-04-15 14:47:03,245 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:47:03,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 173 transitions. [2022-04-15 14:47:03,774 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 173 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:47:03,774 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 173 transitions. [2022-04-15 14:47:03,775 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-15 14:47:03,775 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:47:03,775 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:47:03,791 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-15 14:47:03,975 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-15 14:47:03,976 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:47:03,976 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:47:03,976 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 3 times [2022-04-15 14:47:03,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:47:03,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1711005444] [2022-04-15 14:47:03,976 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:47:03,976 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 4 times [2022-04-15 14:47:03,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:47:03,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [303240034] [2022-04-15 14:47:03,977 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:47:03,977 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:47:03,988 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:47:03,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2113118347] [2022-04-15 14:47:03,989 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:47:03,989 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:47:03,989 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:47:04,000 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:47:04,001 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-15 14:47:04,046 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:47:04,046 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:47:04,047 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-15 14:47:04,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:47:04,061 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:47:04,754 INFO L272 TraceCheckUtils]: 0: Hoare triple {11727#true} call ULTIMATE.init(); {11727#true} is VALID [2022-04-15 14:47:04,754 INFO L290 TraceCheckUtils]: 1: Hoare triple {11727#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); {11727#true} is VALID [2022-04-15 14:47:04,754 INFO L290 TraceCheckUtils]: 2: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:04,755 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11727#true} {11727#true} #88#return; {11727#true} is VALID [2022-04-15 14:47:04,755 INFO L272 TraceCheckUtils]: 4: Hoare triple {11727#true} call #t~ret6 := main(); {11727#true} is VALID [2022-04-15 14:47:04,755 INFO L290 TraceCheckUtils]: 5: Hoare triple {11727#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; {11727#true} is VALID [2022-04-15 14:47:04,755 INFO L272 TraceCheckUtils]: 6: Hoare triple {11727#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:04,755 INFO L290 TraceCheckUtils]: 7: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:04,755 INFO L290 TraceCheckUtils]: 8: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:04,755 INFO L290 TraceCheckUtils]: 9: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:04,755 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11727#true} {11727#true} #66#return; {11727#true} is VALID [2022-04-15 14:47:04,755 INFO L290 TraceCheckUtils]: 11: Hoare triple {11727#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11727#true} is VALID [2022-04-15 14:47:04,755 INFO L272 TraceCheckUtils]: 12: Hoare triple {11727#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:04,755 INFO L290 TraceCheckUtils]: 13: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:04,755 INFO L290 TraceCheckUtils]: 14: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:04,755 INFO L290 TraceCheckUtils]: 15: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:04,755 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11727#true} {11727#true} #68#return; {11727#true} is VALID [2022-04-15 14:47:04,755 INFO L272 TraceCheckUtils]: 17: Hoare triple {11727#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:04,756 INFO L290 TraceCheckUtils]: 18: Hoare triple {11727#true} ~cond := #in~cond; {11786#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 14:47:04,756 INFO L290 TraceCheckUtils]: 19: Hoare triple {11786#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11790#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:47:04,756 INFO L290 TraceCheckUtils]: 20: Hoare triple {11790#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11790#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:47:04,757 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11790#(not (= |assume_abort_if_not_#in~cond| 0))} {11727#true} #70#return; {11797#(<= 1 main_~x~0)} is VALID [2022-04-15 14:47:04,757 INFO L272 TraceCheckUtils]: 22: Hoare triple {11797#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:04,757 INFO L290 TraceCheckUtils]: 23: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:04,757 INFO L290 TraceCheckUtils]: 24: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:04,757 INFO L290 TraceCheckUtils]: 25: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:04,757 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11727#true} {11797#(<= 1 main_~x~0)} #72#return; {11797#(<= 1 main_~x~0)} is VALID [2022-04-15 14:47:04,758 INFO L290 TraceCheckUtils]: 27: Hoare triple {11797#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11816#(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-15 14:47:04,758 INFO L290 TraceCheckUtils]: 28: Hoare triple {11816#(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; {11816#(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-15 14:47:04,758 INFO L272 TraceCheckUtils]: 29: Hoare triple {11816#(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)); {11727#true} is VALID [2022-04-15 14:47:04,758 INFO L290 TraceCheckUtils]: 30: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:04,758 INFO L290 TraceCheckUtils]: 31: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:04,758 INFO L290 TraceCheckUtils]: 32: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:04,759 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11727#true} {11816#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {11816#(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-15 14:47:04,759 INFO L272 TraceCheckUtils]: 34: Hoare triple {11816#(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)); {11727#true} is VALID [2022-04-15 14:47:04,759 INFO L290 TraceCheckUtils]: 35: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:04,759 INFO L290 TraceCheckUtils]: 36: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:04,759 INFO L290 TraceCheckUtils]: 37: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:04,760 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11727#true} {11816#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {11816#(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-15 14:47:04,760 INFO L272 TraceCheckUtils]: 39: Hoare triple {11816#(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)); {11727#true} is VALID [2022-04-15 14:47:04,760 INFO L290 TraceCheckUtils]: 40: Hoare triple {11727#true} ~cond := #in~cond; {11856#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:04,760 INFO L290 TraceCheckUtils]: 41: Hoare triple {11856#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:04,761 INFO L290 TraceCheckUtils]: 42: Hoare triple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:04,761 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} {11816#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {11867#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:04,762 INFO L290 TraceCheckUtils]: 44: Hoare triple {11867#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {11867#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:04,763 INFO L290 TraceCheckUtils]: 45: Hoare triple {11867#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11874#(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) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:47:04,763 INFO L290 TraceCheckUtils]: 46: Hoare triple {11874#(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) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {11874#(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) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:47:04,763 INFO L272 TraceCheckUtils]: 47: Hoare triple {11874#(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) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:04,763 INFO L290 TraceCheckUtils]: 48: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:04,763 INFO L290 TraceCheckUtils]: 49: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:04,763 INFO L290 TraceCheckUtils]: 50: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:04,764 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11727#true} {11874#(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) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #74#return; {11874#(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) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:47:04,764 INFO L272 TraceCheckUtils]: 52: Hoare triple {11874#(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) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:04,764 INFO L290 TraceCheckUtils]: 53: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:04,764 INFO L290 TraceCheckUtils]: 54: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:04,764 INFO L290 TraceCheckUtils]: 55: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:04,765 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11727#true} {11874#(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) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #76#return; {11874#(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) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:47:04,765 INFO L272 TraceCheckUtils]: 57: Hoare triple {11874#(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) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:04,765 INFO L290 TraceCheckUtils]: 58: Hoare triple {11727#true} ~cond := #in~cond; {11856#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:04,765 INFO L290 TraceCheckUtils]: 59: Hoare triple {11856#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:04,766 INFO L290 TraceCheckUtils]: 60: Hoare triple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:04,766 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} {11874#(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) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #78#return; {11874#(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) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:47:04,767 INFO L290 TraceCheckUtils]: 62: Hoare triple {11874#(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) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {11874#(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) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:47:04,768 INFO L290 TraceCheckUtils]: 63: Hoare triple {11874#(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) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~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; {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} is VALID [2022-04-15 14:47:04,768 INFO L290 TraceCheckUtils]: 64: Hoare triple {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} assume !false; {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} is VALID [2022-04-15 14:47:04,768 INFO L272 TraceCheckUtils]: 65: Hoare triple {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:04,768 INFO L290 TraceCheckUtils]: 66: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:04,768 INFO L290 TraceCheckUtils]: 67: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:04,768 INFO L290 TraceCheckUtils]: 68: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:04,769 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11727#true} {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} #74#return; {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} is VALID [2022-04-15 14:47:04,769 INFO L272 TraceCheckUtils]: 70: Hoare triple {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:04,769 INFO L290 TraceCheckUtils]: 71: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:04,769 INFO L290 TraceCheckUtils]: 72: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:04,769 INFO L290 TraceCheckUtils]: 73: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:04,770 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11727#true} {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} #76#return; {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} is VALID [2022-04-15 14:47:04,770 INFO L272 TraceCheckUtils]: 75: Hoare triple {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11966#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:47:04,771 INFO L290 TraceCheckUtils]: 76: Hoare triple {11966#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11970#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:04,771 INFO L290 TraceCheckUtils]: 77: Hoare triple {11970#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11728#false} is VALID [2022-04-15 14:47:04,771 INFO L290 TraceCheckUtils]: 78: Hoare triple {11728#false} assume !false; {11728#false} is VALID [2022-04-15 14:47:04,771 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 38 proven. 37 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2022-04-15 14:47:04,771 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:47:51,488 INFO L290 TraceCheckUtils]: 78: Hoare triple {11728#false} assume !false; {11728#false} is VALID [2022-04-15 14:47:51,488 INFO L290 TraceCheckUtils]: 77: Hoare triple {11970#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11728#false} is VALID [2022-04-15 14:47:51,489 INFO L290 TraceCheckUtils]: 76: Hoare triple {11966#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11970#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:51,489 INFO L272 TraceCheckUtils]: 75: Hoare triple {11986#(= 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)); {11966#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:47:51,490 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11727#true} {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:47:51,490 INFO L290 TraceCheckUtils]: 73: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:51,490 INFO L290 TraceCheckUtils]: 72: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:51,490 INFO L290 TraceCheckUtils]: 71: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:51,490 INFO L272 TraceCheckUtils]: 70: Hoare triple {11986#(= 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)); {11727#true} is VALID [2022-04-15 14:47:51,491 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11727#true} {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:47:51,491 INFO L290 TraceCheckUtils]: 68: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:51,491 INFO L290 TraceCheckUtils]: 67: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:51,491 INFO L290 TraceCheckUtils]: 66: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:51,491 INFO L272 TraceCheckUtils]: 65: Hoare triple {11986#(= 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)); {11727#true} is VALID [2022-04-15 14:47:51,491 INFO L290 TraceCheckUtils]: 64: Hoare triple {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:47:51,812 INFO L290 TraceCheckUtils]: 63: Hoare triple {12023#(= (+ (* (+ main_~s~0 (* (- 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; {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:47:51,813 INFO L290 TraceCheckUtils]: 62: Hoare triple {12023#(= (+ (* (+ main_~s~0 (* (- 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); {12023#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 14:47:51,813 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #78#return; {12023#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 14:47:51,814 INFO L290 TraceCheckUtils]: 60: Hoare triple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:51,814 INFO L290 TraceCheckUtils]: 59: Hoare triple {12040#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:51,814 INFO L290 TraceCheckUtils]: 58: Hoare triple {11727#true} ~cond := #in~cond; {12040#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:47:51,814 INFO L272 TraceCheckUtils]: 57: Hoare triple {12030#(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)); {11727#true} is VALID [2022-04-15 14:47:51,815 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11727#true} {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #76#return; {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:47:51,815 INFO L290 TraceCheckUtils]: 55: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:51,815 INFO L290 TraceCheckUtils]: 54: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:51,815 INFO L290 TraceCheckUtils]: 53: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:51,815 INFO L272 TraceCheckUtils]: 52: Hoare triple {12030#(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)); {11727#true} is VALID [2022-04-15 14:47:51,816 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11727#true} {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #74#return; {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:47:51,816 INFO L290 TraceCheckUtils]: 50: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:51,816 INFO L290 TraceCheckUtils]: 49: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:51,816 INFO L290 TraceCheckUtils]: 48: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:51,816 INFO L272 TraceCheckUtils]: 47: Hoare triple {12030#(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)); {11727#true} is VALID [2022-04-15 14:47:51,817 INFO L290 TraceCheckUtils]: 46: Hoare triple {12030#(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; {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 14:47:53,818 WARN L290 TraceCheckUtils]: 45: Hoare triple {12080#(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; {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is UNKNOWN [2022-04-15 14:47:53,819 INFO L290 TraceCheckUtils]: 44: Hoare triple {12080#(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); {12080#(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-15 14:47:53,821 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} {11727#true} #78#return; {12080#(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-15 14:47:53,821 INFO L290 TraceCheckUtils]: 42: Hoare triple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:53,822 INFO L290 TraceCheckUtils]: 41: Hoare triple {12040#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:53,822 INFO L290 TraceCheckUtils]: 40: Hoare triple {11727#true} ~cond := #in~cond; {12040#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:47:53,822 INFO L272 TraceCheckUtils]: 39: Hoare triple {11727#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:53,822 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11727#true} {11727#true} #76#return; {11727#true} is VALID [2022-04-15 14:47:53,822 INFO L290 TraceCheckUtils]: 37: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:53,822 INFO L290 TraceCheckUtils]: 36: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:53,822 INFO L290 TraceCheckUtils]: 35: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:53,822 INFO L272 TraceCheckUtils]: 34: Hoare triple {11727#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:53,823 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11727#true} {11727#true} #74#return; {11727#true} is VALID [2022-04-15 14:47:53,823 INFO L290 TraceCheckUtils]: 32: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:53,823 INFO L290 TraceCheckUtils]: 31: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:53,823 INFO L290 TraceCheckUtils]: 30: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:53,823 INFO L272 TraceCheckUtils]: 29: Hoare triple {11727#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:53,823 INFO L290 TraceCheckUtils]: 28: Hoare triple {11727#true} assume !false; {11727#true} is VALID [2022-04-15 14:47:53,823 INFO L290 TraceCheckUtils]: 27: Hoare triple {11727#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11727#true} is VALID [2022-04-15 14:47:53,823 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11727#true} {11727#true} #72#return; {11727#true} is VALID [2022-04-15 14:47:53,823 INFO L290 TraceCheckUtils]: 25: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:53,823 INFO L290 TraceCheckUtils]: 24: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:53,823 INFO L290 TraceCheckUtils]: 23: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:53,823 INFO L272 TraceCheckUtils]: 22: Hoare triple {11727#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:53,823 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11727#true} {11727#true} #70#return; {11727#true} is VALID [2022-04-15 14:47:53,824 INFO L290 TraceCheckUtils]: 20: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:53,824 INFO L290 TraceCheckUtils]: 19: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:53,824 INFO L290 TraceCheckUtils]: 18: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:53,824 INFO L272 TraceCheckUtils]: 17: Hoare triple {11727#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:53,824 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11727#true} {11727#true} #68#return; {11727#true} is VALID [2022-04-15 14:47:53,824 INFO L290 TraceCheckUtils]: 15: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:53,824 INFO L290 TraceCheckUtils]: 14: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:53,824 INFO L290 TraceCheckUtils]: 13: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:53,824 INFO L272 TraceCheckUtils]: 12: Hoare triple {11727#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:53,824 INFO L290 TraceCheckUtils]: 11: Hoare triple {11727#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11727#true} is VALID [2022-04-15 14:47:53,824 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11727#true} {11727#true} #66#return; {11727#true} is VALID [2022-04-15 14:47:53,824 INFO L290 TraceCheckUtils]: 9: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:53,824 INFO L290 TraceCheckUtils]: 8: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-15 14:47:53,825 INFO L290 TraceCheckUtils]: 7: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-15 14:47:53,825 INFO L272 TraceCheckUtils]: 6: Hoare triple {11727#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {11727#true} is VALID [2022-04-15 14:47:53,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {11727#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; {11727#true} is VALID [2022-04-15 14:47:53,825 INFO L272 TraceCheckUtils]: 4: Hoare triple {11727#true} call #t~ret6 := main(); {11727#true} is VALID [2022-04-15 14:47:53,825 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11727#true} {11727#true} #88#return; {11727#true} is VALID [2022-04-15 14:47:53,825 INFO L290 TraceCheckUtils]: 2: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-15 14:47:53,825 INFO L290 TraceCheckUtils]: 1: Hoare triple {11727#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); {11727#true} is VALID [2022-04-15 14:47:53,825 INFO L272 TraceCheckUtils]: 0: Hoare triple {11727#true} call ULTIMATE.init(); {11727#true} is VALID [2022-04-15 14:47:53,825 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 40 proven. 26 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-15 14:47:53,826 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:47:53,826 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [303240034] [2022-04-15 14:47:53,826 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:47:53,826 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2113118347] [2022-04-15 14:47:53,826 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2113118347] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:47:53,826 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:47:53,826 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-15 14:47:53,826 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:47:53,826 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1711005444] [2022-04-15 14:47:53,826 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1711005444] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:47:53,826 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:47:53,826 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 14:47:53,827 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1750899450] [2022-04-15 14:47:53,827 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:47:53,827 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-15 14:47:53,828 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:47:53,828 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 14:47:53,872 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:47:53,872 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 14:47:53,872 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:47:53,872 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 14:47:53,872 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=250, Unknown=0, NotChecked=0, Total=306 [2022-04-15 14:47:53,873 INFO L87 Difference]: Start difference. First operand 153 states and 173 transitions. Second operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 14:47:55,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:47:55,424 INFO L93 Difference]: Finished difference Result 175 states and 201 transitions. [2022-04-15 14:47:55,424 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 14:47:55,424 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-15 14:47:55,424 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:47:55,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 14:47:55,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 69 transitions. [2022-04-15 14:47:55,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 14:47:55,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 69 transitions. [2022-04-15 14:47:55,426 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 69 transitions. [2022-04-15 14:47:55,504 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:47:55,507 INFO L225 Difference]: With dead ends: 175 [2022-04-15 14:47:55,507 INFO L226 Difference]: Without dead ends: 173 [2022-04-15 14:47:55,507 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 139 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=73, Invalid=347, Unknown=0, NotChecked=0, Total=420 [2022-04-15 14:47:55,508 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 23 mSDsluCounter, 139 mSDsCounter, 0 mSdLazyCounter, 398 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 416 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 398 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 14:47:55,508 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 166 Invalid, 416 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 398 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 14:47:55,509 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-15 14:47:55,678 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 163. [2022-04-15 14:47:55,678 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:47:55,678 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-15 14:47:55,679 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-15 14:47:55,679 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-15 14:47:55,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:47:55,683 INFO L93 Difference]: Finished difference Result 173 states and 199 transitions. [2022-04-15 14:47:55,683 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 199 transitions. [2022-04-15 14:47:55,683 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:47:55,684 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:47:55,684 INFO L74 IsIncluded]: Start isIncluded. First operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 173 states. [2022-04-15 14:47:55,684 INFO L87 Difference]: Start difference. First operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 173 states. [2022-04-15 14:47:55,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:47:55,688 INFO L93 Difference]: Finished difference Result 173 states and 199 transitions. [2022-04-15 14:47:55,688 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 199 transitions. [2022-04-15 14:47:55,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:47:55,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:47:55,688 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:47:55,688 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:47:55,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-15 14:47:55,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 163 states to 163 states and 186 transitions. [2022-04-15 14:47:55,692 INFO L78 Accepts]: Start accepts. Automaton has 163 states and 186 transitions. Word has length 79 [2022-04-15 14:47:55,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:47:55,692 INFO L478 AbstractCegarLoop]: Abstraction has 163 states and 186 transitions. [2022-04-15 14:47:55,692 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 14:47:55,692 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 163 states and 186 transitions. [2022-04-15 14:47:56,648 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 186 edges. 186 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:47:56,649 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 186 transitions. [2022-04-15 14:47:56,649 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-15 14:47:56,649 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:47:56,650 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:47:56,672 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-15 14:47:56,850 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-15 14:47:56,850 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:47:56,851 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:47:56,851 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 7 times [2022-04-15 14:47:56,851 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:47:56,851 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1645145805] [2022-04-15 14:47:56,851 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:47:56,851 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 8 times [2022-04-15 14:47:56,851 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:47:56,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [560798002] [2022-04-15 14:47:56,852 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:47:56,852 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:47:56,863 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:47:56,863 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [939894816] [2022-04-15 14:47:56,863 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:47:56,864 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:47:56,864 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:47:56,865 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:47:56,865 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-15 14:47:56,915 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:47:56,916 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:47:56,917 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-15 14:47:56,933 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:47:56,935 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:51:41,635 INFO L272 TraceCheckUtils]: 0: Hoare triple {13246#true} call ULTIMATE.init(); {13246#true} is VALID [2022-04-15 14:51:41,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {13246#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); {13246#true} is VALID [2022-04-15 14:51:41,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:51:41,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13246#true} {13246#true} #88#return; {13246#true} is VALID [2022-04-15 14:51:41,635 INFO L272 TraceCheckUtils]: 4: Hoare triple {13246#true} call #t~ret6 := main(); {13246#true} is VALID [2022-04-15 14:51:41,635 INFO L290 TraceCheckUtils]: 5: Hoare triple {13246#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; {13246#true} is VALID [2022-04-15 14:51:41,636 INFO L272 TraceCheckUtils]: 6: Hoare triple {13246#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:51:41,636 INFO L290 TraceCheckUtils]: 7: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:51:41,636 INFO L290 TraceCheckUtils]: 8: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:51:41,636 INFO L290 TraceCheckUtils]: 9: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:51:41,636 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13246#true} {13246#true} #66#return; {13246#true} is VALID [2022-04-15 14:51:41,636 INFO L290 TraceCheckUtils]: 11: Hoare triple {13246#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13246#true} is VALID [2022-04-15 14:51:41,636 INFO L272 TraceCheckUtils]: 12: Hoare triple {13246#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:51:41,636 INFO L290 TraceCheckUtils]: 13: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:51:41,636 INFO L290 TraceCheckUtils]: 14: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:51:41,636 INFO L290 TraceCheckUtils]: 15: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:51:41,636 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13246#true} {13246#true} #68#return; {13246#true} is VALID [2022-04-15 14:51:41,636 INFO L272 TraceCheckUtils]: 17: Hoare triple {13246#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:51:41,637 INFO L290 TraceCheckUtils]: 18: Hoare triple {13246#true} ~cond := #in~cond; {13305#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 14:51:41,637 INFO L290 TraceCheckUtils]: 19: Hoare triple {13305#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13309#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:51:41,637 INFO L290 TraceCheckUtils]: 20: Hoare triple {13309#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13309#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:51:41,638 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13309#(not (= |assume_abort_if_not_#in~cond| 0))} {13246#true} #70#return; {13316#(<= 1 main_~x~0)} is VALID [2022-04-15 14:51:41,638 INFO L272 TraceCheckUtils]: 22: Hoare triple {13316#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:51:41,638 INFO L290 TraceCheckUtils]: 23: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:51:41,638 INFO L290 TraceCheckUtils]: 24: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:51:41,638 INFO L290 TraceCheckUtils]: 25: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:51:41,638 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13246#true} {13316#(<= 1 main_~x~0)} #72#return; {13316#(<= 1 main_~x~0)} is VALID [2022-04-15 14:51:41,639 INFO L290 TraceCheckUtils]: 27: Hoare triple {13316#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:51:41,639 INFO L290 TraceCheckUtils]: 28: Hoare triple {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:51:41,639 INFO L272 TraceCheckUtils]: 29: Hoare triple {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= 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)); {13246#true} is VALID [2022-04-15 14:51:41,639 INFO L290 TraceCheckUtils]: 30: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:51:41,639 INFO L290 TraceCheckUtils]: 31: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:51:41,639 INFO L290 TraceCheckUtils]: 32: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:51:41,640 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13246#true} {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #74#return; {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:51:41,640 INFO L272 TraceCheckUtils]: 34: Hoare triple {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= 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)); {13246#true} is VALID [2022-04-15 14:51:41,640 INFO L290 TraceCheckUtils]: 35: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:51:41,640 INFO L290 TraceCheckUtils]: 36: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:51:41,640 INFO L290 TraceCheckUtils]: 37: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:51:41,659 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13246#true} {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #76#return; {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:51:41,659 INFO L272 TraceCheckUtils]: 39: Hoare triple {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= 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)); {13246#true} is VALID [2022-04-15 14:51:41,659 INFO L290 TraceCheckUtils]: 40: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:51:41,659 INFO L290 TraceCheckUtils]: 41: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:51:41,659 INFO L290 TraceCheckUtils]: 42: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:51:41,660 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13246#true} {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #78#return; {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:51:41,660 INFO L290 TraceCheckUtils]: 44: Hoare triple {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:51:41,661 INFO L290 TraceCheckUtils]: 45: Hoare triple {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= 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; {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-15 14:51:41,661 INFO L290 TraceCheckUtils]: 46: Hoare triple {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !false; {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-15 14:51:41,661 INFO L272 TraceCheckUtils]: 47: Hoare triple {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~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)); {13246#true} is VALID [2022-04-15 14:51:41,661 INFO L290 TraceCheckUtils]: 48: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:51:41,662 INFO L290 TraceCheckUtils]: 49: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:51:41,662 INFO L290 TraceCheckUtils]: 50: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:51:41,662 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13246#true} {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} #74#return; {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-15 14:51:41,662 INFO L272 TraceCheckUtils]: 52: Hoare triple {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~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)); {13246#true} is VALID [2022-04-15 14:51:41,662 INFO L290 TraceCheckUtils]: 53: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:51:41,662 INFO L290 TraceCheckUtils]: 54: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:51:41,662 INFO L290 TraceCheckUtils]: 55: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:51:41,663 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13246#true} {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} #76#return; {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-15 14:51:41,663 INFO L272 TraceCheckUtils]: 57: Hoare triple {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~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)); {13246#true} is VALID [2022-04-15 14:51:41,663 INFO L290 TraceCheckUtils]: 58: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:51:41,663 INFO L290 TraceCheckUtils]: 59: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:51:41,663 INFO L290 TraceCheckUtils]: 60: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:51:41,664 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13246#true} {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} #78#return; {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-15 14:51:41,673 INFO L290 TraceCheckUtils]: 62: Hoare triple {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !!(~a~0 != ~b~0); {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-15 14:51:41,674 INFO L290 TraceCheckUtils]: 63: Hoare triple {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~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; {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 14:51:41,675 INFO L290 TraceCheckUtils]: 64: Hoare triple {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !false; {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 14:51:41,675 INFO L272 TraceCheckUtils]: 65: Hoare triple {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~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)); {13246#true} is VALID [2022-04-15 14:51:41,675 INFO L290 TraceCheckUtils]: 66: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:51:41,675 INFO L290 TraceCheckUtils]: 67: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:51:41,675 INFO L290 TraceCheckUtils]: 68: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:51:41,676 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13246#true} {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #74#return; {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 14:51:41,676 INFO L272 TraceCheckUtils]: 70: Hoare triple {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~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)); {13246#true} is VALID [2022-04-15 14:51:41,676 INFO L290 TraceCheckUtils]: 71: Hoare triple {13246#true} ~cond := #in~cond; {13470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:51:41,676 INFO L290 TraceCheckUtils]: 72: Hoare triple {13470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:51:41,676 INFO L290 TraceCheckUtils]: 73: Hoare triple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:51:41,677 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #76#return; {13481#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 14:51:41,677 INFO L272 TraceCheckUtils]: 75: Hoare triple {13481#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~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)); {13246#true} is VALID [2022-04-15 14:51:41,677 INFO L290 TraceCheckUtils]: 76: Hoare triple {13246#true} ~cond := #in~cond; {13470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:51:41,678 INFO L290 TraceCheckUtils]: 77: Hoare triple {13470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:51:41,678 INFO L290 TraceCheckUtils]: 78: Hoare triple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:51:41,678 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} {13481#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #78#return; {13497#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~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))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 14:51:41,679 INFO L290 TraceCheckUtils]: 80: Hoare triple {13497#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~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))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {13497#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~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))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 14:51:41,687 INFO L290 TraceCheckUtils]: 81: Hoare triple {13497#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~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))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~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; {13504#(and (<= (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* 2 (* main_~p~0 main_~x~0))) main_~x~0) (= (mod main_~r~0 3) 0) (= (+ main_~y~0 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)) main_~x~0) (< 0 (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* main_~p~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~p~0) 2)))) (= main_~x~0 (+ (* 2 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2)))) (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* 2 (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)))) (= (mod main_~p~0 2) 0) (= main_~a~0 (+ (* (- 1) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0) (* (- 1) (* main_~x~0 (div (- main_~p~0) 2))))))} is VALID [2022-04-15 14:51:41,688 INFO L290 TraceCheckUtils]: 82: Hoare triple {13504#(and (<= (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* 2 (* main_~p~0 main_~x~0))) main_~x~0) (= (mod main_~r~0 3) 0) (= (+ main_~y~0 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)) main_~x~0) (< 0 (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* main_~p~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~p~0) 2)))) (= main_~x~0 (+ (* 2 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2)))) (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* 2 (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)))) (= (mod main_~p~0 2) 0) (= main_~a~0 (+ (* (- 1) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0) (* (- 1) (* main_~x~0 (div (- main_~p~0) 2))))))} assume !false; {13504#(and (<= (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* 2 (* main_~p~0 main_~x~0))) main_~x~0) (= (mod main_~r~0 3) 0) (= (+ main_~y~0 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)) main_~x~0) (< 0 (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* main_~p~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~p~0) 2)))) (= main_~x~0 (+ (* 2 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2)))) (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* 2 (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)))) (= (mod main_~p~0 2) 0) (= main_~a~0 (+ (* (- 1) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0) (* (- 1) (* main_~x~0 (div (- main_~p~0) 2))))))} is VALID [2022-04-15 14:51:41,688 INFO L272 TraceCheckUtils]: 83: Hoare triple {13504#(and (<= (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* 2 (* main_~p~0 main_~x~0))) main_~x~0) (= (mod main_~r~0 3) 0) (= (+ main_~y~0 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)) main_~x~0) (< 0 (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* main_~p~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~p~0) 2)))) (= main_~x~0 (+ (* 2 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2)))) (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* 2 (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)))) (= (mod main_~p~0 2) 0) (= main_~a~0 (+ (* (- 1) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0) (* (- 1) (* main_~x~0 (div (- main_~p~0) 2))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:51:41,688 INFO L290 TraceCheckUtils]: 84: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:51:41,688 INFO L290 TraceCheckUtils]: 85: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:51:41,688 INFO L290 TraceCheckUtils]: 86: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:51:41,688 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {13246#true} {13504#(and (<= (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* 2 (* main_~p~0 main_~x~0))) main_~x~0) (= (mod main_~r~0 3) 0) (= (+ main_~y~0 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)) main_~x~0) (< 0 (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* main_~p~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~p~0) 2)))) (= main_~x~0 (+ (* 2 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2)))) (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* 2 (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)))) (= (mod main_~p~0 2) 0) (= main_~a~0 (+ (* (- 1) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0) (* (- 1) (* main_~x~0 (div (- main_~p~0) 2))))))} #74#return; {13504#(and (<= (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* 2 (* main_~p~0 main_~x~0))) main_~x~0) (= (mod main_~r~0 3) 0) (= (+ main_~y~0 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)) main_~x~0) (< 0 (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* main_~p~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~p~0) 2)))) (= main_~x~0 (+ (* 2 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2)))) (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* 2 (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)))) (= (mod main_~p~0 2) 0) (= main_~a~0 (+ (* (- 1) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0) (* (- 1) (* main_~x~0 (div (- main_~p~0) 2))))))} is VALID [2022-04-15 14:51:41,689 INFO L272 TraceCheckUtils]: 88: Hoare triple {13504#(and (<= (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* 2 (* main_~p~0 main_~x~0))) main_~x~0) (= (mod main_~r~0 3) 0) (= (+ main_~y~0 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)) main_~x~0) (< 0 (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* main_~p~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~p~0) 2)))) (= main_~x~0 (+ (* 2 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2)))) (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* 2 (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)))) (= (mod main_~p~0 2) 0) (= main_~a~0 (+ (* (- 1) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0) (* (- 1) (* main_~x~0 (div (- main_~p~0) 2))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13526#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:51:41,689 INFO L290 TraceCheckUtils]: 89: Hoare triple {13526#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13530#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:51:41,689 INFO L290 TraceCheckUtils]: 90: Hoare triple {13530#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13247#false} is VALID [2022-04-15 14:51:41,690 INFO L290 TraceCheckUtils]: 91: Hoare triple {13247#false} assume !false; {13247#false} is VALID [2022-04-15 14:51:41,690 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 66 proven. 38 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2022-04-15 14:51:41,690 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:52:09,502 INFO L290 TraceCheckUtils]: 91: Hoare triple {13247#false} assume !false; {13247#false} is VALID [2022-04-15 14:52:09,502 INFO L290 TraceCheckUtils]: 90: Hoare triple {13530#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13247#false} is VALID [2022-04-15 14:52:09,503 INFO L290 TraceCheckUtils]: 89: Hoare triple {13526#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13530#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:52:09,503 INFO L272 TraceCheckUtils]: 88: Hoare triple {13546#(= 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)); {13526#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:52:09,504 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {13246#true} {13546#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {13546#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:52:09,504 INFO L290 TraceCheckUtils]: 86: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:52:09,504 INFO L290 TraceCheckUtils]: 85: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:52:09,504 INFO L290 TraceCheckUtils]: 84: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:52:09,504 INFO L272 TraceCheckUtils]: 83: Hoare triple {13546#(= 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)); {13246#true} is VALID [2022-04-15 14:52:09,504 INFO L290 TraceCheckUtils]: 82: Hoare triple {13546#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {13546#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:52:10,362 INFO L290 TraceCheckUtils]: 81: Hoare triple {13568#(= (+ main_~a~0 (* (- 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; {13546#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:52:10,363 INFO L290 TraceCheckUtils]: 80: Hoare triple {13568#(= (+ main_~a~0 (* (- 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); {13568#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:52:10,363 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} {13575#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {13568#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:52:10,364 INFO L290 TraceCheckUtils]: 78: Hoare triple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:52:10,364 INFO L290 TraceCheckUtils]: 77: Hoare triple {13585#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:52:10,364 INFO L290 TraceCheckUtils]: 76: Hoare triple {13246#true} ~cond := #in~cond; {13585#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:52:10,364 INFO L272 TraceCheckUtils]: 75: Hoare triple {13575#(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)); {13246#true} is VALID [2022-04-15 14:52:10,365 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} {13246#true} #76#return; {13575#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 14:52:10,365 INFO L290 TraceCheckUtils]: 73: Hoare triple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:52:10,366 INFO L290 TraceCheckUtils]: 72: Hoare triple {13585#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:52:10,366 INFO L290 TraceCheckUtils]: 71: Hoare triple {13246#true} ~cond := #in~cond; {13585#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:52:10,366 INFO L272 TraceCheckUtils]: 70: Hoare triple {13246#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:52:10,366 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13246#true} {13246#true} #74#return; {13246#true} is VALID [2022-04-15 14:52:10,366 INFO L290 TraceCheckUtils]: 68: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:52:10,366 INFO L290 TraceCheckUtils]: 67: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:52:10,366 INFO L290 TraceCheckUtils]: 66: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:52:10,366 INFO L272 TraceCheckUtils]: 65: Hoare triple {13246#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:52:10,366 INFO L290 TraceCheckUtils]: 64: Hoare triple {13246#true} assume !false; {13246#true} is VALID [2022-04-15 14:52:10,366 INFO L290 TraceCheckUtils]: 63: Hoare triple {13246#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L290 TraceCheckUtils]: 62: Hoare triple {13246#true} assume !!(~a~0 != ~b~0); {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13246#true} {13246#true} #78#return; {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L290 TraceCheckUtils]: 60: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L290 TraceCheckUtils]: 59: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L290 TraceCheckUtils]: 58: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L272 TraceCheckUtils]: 57: Hoare triple {13246#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13246#true} {13246#true} #76#return; {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L290 TraceCheckUtils]: 55: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L290 TraceCheckUtils]: 54: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L290 TraceCheckUtils]: 53: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L272 TraceCheckUtils]: 52: Hoare triple {13246#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13246#true} {13246#true} #74#return; {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L290 TraceCheckUtils]: 50: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L290 TraceCheckUtils]: 49: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L290 TraceCheckUtils]: 48: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L272 TraceCheckUtils]: 47: Hoare triple {13246#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L290 TraceCheckUtils]: 46: Hoare triple {13246#true} assume !false; {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L290 TraceCheckUtils]: 45: Hoare triple {13246#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13246#true} is VALID [2022-04-15 14:52:10,367 INFO L290 TraceCheckUtils]: 44: Hoare triple {13246#true} assume !!(~a~0 != ~b~0); {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13246#true} {13246#true} #78#return; {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L290 TraceCheckUtils]: 42: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L290 TraceCheckUtils]: 41: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L290 TraceCheckUtils]: 40: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L272 TraceCheckUtils]: 39: Hoare triple {13246#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13246#true} {13246#true} #76#return; {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L290 TraceCheckUtils]: 37: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L290 TraceCheckUtils]: 36: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L290 TraceCheckUtils]: 35: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L272 TraceCheckUtils]: 34: Hoare triple {13246#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13246#true} {13246#true} #74#return; {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L290 TraceCheckUtils]: 32: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L290 TraceCheckUtils]: 31: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L290 TraceCheckUtils]: 30: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L272 TraceCheckUtils]: 29: Hoare triple {13246#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L290 TraceCheckUtils]: 28: Hoare triple {13246#true} assume !false; {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L290 TraceCheckUtils]: 27: Hoare triple {13246#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13246#true} {13246#true} #72#return; {13246#true} is VALID [2022-04-15 14:52:10,368 INFO L290 TraceCheckUtils]: 25: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L290 TraceCheckUtils]: 24: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L290 TraceCheckUtils]: 23: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L272 TraceCheckUtils]: 22: Hoare triple {13246#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13246#true} {13246#true} #70#return; {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L290 TraceCheckUtils]: 20: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L290 TraceCheckUtils]: 19: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L290 TraceCheckUtils]: 18: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L272 TraceCheckUtils]: 17: Hoare triple {13246#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13246#true} {13246#true} #68#return; {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L290 TraceCheckUtils]: 15: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L290 TraceCheckUtils]: 14: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L290 TraceCheckUtils]: 13: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L272 TraceCheckUtils]: 12: Hoare triple {13246#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L290 TraceCheckUtils]: 11: Hoare triple {13246#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13246#true} {13246#true} #66#return; {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L290 TraceCheckUtils]: 9: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L290 TraceCheckUtils]: 8: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L290 TraceCheckUtils]: 7: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-15 14:52:10,369 INFO L272 TraceCheckUtils]: 6: Hoare triple {13246#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {13246#true} is VALID [2022-04-15 14:52:10,370 INFO L290 TraceCheckUtils]: 5: Hoare triple {13246#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; {13246#true} is VALID [2022-04-15 14:52:10,370 INFO L272 TraceCheckUtils]: 4: Hoare triple {13246#true} call #t~ret6 := main(); {13246#true} is VALID [2022-04-15 14:52:10,370 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13246#true} {13246#true} #88#return; {13246#true} is VALID [2022-04-15 14:52:10,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-15 14:52:10,370 INFO L290 TraceCheckUtils]: 1: Hoare triple {13246#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); {13246#true} is VALID [2022-04-15 14:52:10,370 INFO L272 TraceCheckUtils]: 0: Hoare triple {13246#true} call ULTIMATE.init(); {13246#true} is VALID [2022-04-15 14:52:10,370 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 75 proven. 8 refuted. 0 times theorem prover too weak. 168 trivial. 0 not checked. [2022-04-15 14:52:10,370 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:52:10,370 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [560798002] [2022-04-15 14:52:10,370 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:52:10,370 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [939894816] [2022-04-15 14:52:10,370 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [939894816] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:52:10,370 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:52:10,371 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 9] total 19 [2022-04-15 14:52:10,371 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:52:10,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1645145805] [2022-04-15 14:52:10,371 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1645145805] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:52:10,371 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:52:10,371 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 14:52:10,371 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1227851487] [2022-04-15 14:52:10,371 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:52:10,371 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) Word has length 92 [2022-04-15 14:52:10,372 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:52:10,372 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-15 14:52:10,433 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:52:10,433 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 14:52:10,433 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:52:10,433 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 14:52:10,433 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=285, Unknown=0, NotChecked=0, Total=342 [2022-04-15 14:52:10,433 INFO L87 Difference]: Start difference. First operand 163 states and 186 transitions. Second operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-15 14:52:23,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:52:23,334 INFO L93 Difference]: Finished difference Result 193 states and 224 transitions. [2022-04-15 14:52:23,334 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 14:52:23,335 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) Word has length 92 [2022-04-15 14:52:23,335 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:52:23,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-15 14:52:23,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-15 14:52:23,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-15 14:52:23,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-15 14:52:23,337 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 79 transitions. [2022-04-15 14:52:23,435 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:52:23,437 INFO L225 Difference]: With dead ends: 193 [2022-04-15 14:52:23,437 INFO L226 Difference]: Without dead ends: 191 [2022-04-15 14:52:23,438 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 165 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 84 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-04-15 14:52:23,438 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 25 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 502 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 189 SdHoareTripleChecker+Invalid, 523 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 502 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:52:23,438 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 189 Invalid, 523 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 502 Invalid, 0 Unknown, 0 Unchecked, 6.0s Time] [2022-04-15 14:52:23,438 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states. [2022-04-15 14:52:23,659 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 191. [2022-04-15 14:52:23,659 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:52:23,660 INFO L82 GeneralOperation]: Start isEquivalent. First operand 191 states. Second operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-15 14:52:23,660 INFO L74 IsIncluded]: Start isIncluded. First operand 191 states. Second operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-15 14:52:23,660 INFO L87 Difference]: Start difference. First operand 191 states. Second operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-15 14:52:23,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:52:23,664 INFO L93 Difference]: Finished difference Result 191 states and 222 transitions. [2022-04-15 14:52:23,664 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 222 transitions. [2022-04-15 14:52:23,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:52:23,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:52:23,664 INFO L74 IsIncluded]: Start isIncluded. First operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 191 states. [2022-04-15 14:52:23,665 INFO L87 Difference]: Start difference. First operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 191 states. [2022-04-15 14:52:23,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:52:23,668 INFO L93 Difference]: Finished difference Result 191 states and 222 transitions. [2022-04-15 14:52:23,668 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 222 transitions. [2022-04-15 14:52:23,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:52:23,668 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:52:23,668 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:52:23,668 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:52:23,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-15 14:52:23,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 191 states to 191 states and 222 transitions. [2022-04-15 14:52:23,672 INFO L78 Accepts]: Start accepts. Automaton has 191 states and 222 transitions. Word has length 92 [2022-04-15 14:52:23,672 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:52:23,672 INFO L478 AbstractCegarLoop]: Abstraction has 191 states and 222 transitions. [2022-04-15 14:52:23,672 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-15 14:52:23,672 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 191 states and 222 transitions. [2022-04-15 14:52:24,971 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 222 edges. 222 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:52:24,971 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 222 transitions. [2022-04-15 14:52:24,972 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-15 14:52:24,972 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:52:24,972 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:52:24,988 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-15 14:52:25,172 WARN L460 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-15 14:52:25,172 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:52:25,173 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:52:25,173 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 9 times [2022-04-15 14:52:25,173 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:52:25,173 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1994279211] [2022-04-15 14:52:25,173 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:52:25,173 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 10 times [2022-04-15 14:52:25,173 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:52:25,173 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [183012639] [2022-04-15 14:52:25,173 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:52:25,173 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:52:25,190 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:52:25,191 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [712232591] [2022-04-15 14:52:25,191 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:52:25,191 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:52:25,191 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:52:25,194 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:52:25,195 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-15 14:52:25,238 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:52:25,239 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:52:25,239 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-15 14:52:25,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:52:25,256 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:56:59,229 INFO L272 TraceCheckUtils]: 0: Hoare triple {14972#true} call ULTIMATE.init(); {14972#true} is VALID [2022-04-15 14:56:59,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {14972#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); {14972#true} is VALID [2022-04-15 14:56:59,230 INFO L290 TraceCheckUtils]: 2: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:56:59,230 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14972#true} {14972#true} #88#return; {14972#true} is VALID [2022-04-15 14:56:59,230 INFO L272 TraceCheckUtils]: 4: Hoare triple {14972#true} call #t~ret6 := main(); {14972#true} is VALID [2022-04-15 14:56:59,230 INFO L290 TraceCheckUtils]: 5: Hoare triple {14972#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; {14972#true} is VALID [2022-04-15 14:56:59,230 INFO L272 TraceCheckUtils]: 6: Hoare triple {14972#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:56:59,230 INFO L290 TraceCheckUtils]: 7: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:56:59,230 INFO L290 TraceCheckUtils]: 8: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:56:59,230 INFO L290 TraceCheckUtils]: 9: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:56:59,230 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14972#true} {14972#true} #66#return; {14972#true} is VALID [2022-04-15 14:56:59,230 INFO L290 TraceCheckUtils]: 11: Hoare triple {14972#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14972#true} is VALID [2022-04-15 14:56:59,230 INFO L272 TraceCheckUtils]: 12: Hoare triple {14972#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:56:59,230 INFO L290 TraceCheckUtils]: 13: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:56:59,230 INFO L290 TraceCheckUtils]: 14: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:56:59,231 INFO L290 TraceCheckUtils]: 15: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:56:59,231 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14972#true} {14972#true} #68#return; {14972#true} is VALID [2022-04-15 14:56:59,231 INFO L272 TraceCheckUtils]: 17: Hoare triple {14972#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:56:59,231 INFO L290 TraceCheckUtils]: 18: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:56:59,231 INFO L290 TraceCheckUtils]: 19: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:56:59,231 INFO L290 TraceCheckUtils]: 20: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:56:59,231 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14972#true} {14972#true} #70#return; {14972#true} is VALID [2022-04-15 14:56:59,231 INFO L272 TraceCheckUtils]: 22: Hoare triple {14972#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:56:59,231 INFO L290 TraceCheckUtils]: 23: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:56:59,231 INFO L290 TraceCheckUtils]: 24: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:56:59,231 INFO L290 TraceCheckUtils]: 25: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:56:59,231 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14972#true} {14972#true} #72#return; {14972#true} is VALID [2022-04-15 14:56:59,232 INFO L290 TraceCheckUtils]: 27: Hoare triple {14972#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:56:59,232 INFO L290 TraceCheckUtils]: 28: Hoare triple {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:56:59,232 INFO L272 TraceCheckUtils]: 29: Hoare triple {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:56:59,232 INFO L290 TraceCheckUtils]: 30: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:56:59,232 INFO L290 TraceCheckUtils]: 31: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:56:59,232 INFO L290 TraceCheckUtils]: 32: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:56:59,233 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14972#true} {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:56:59,233 INFO L272 TraceCheckUtils]: 34: Hoare triple {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:56:59,233 INFO L290 TraceCheckUtils]: 35: Hoare triple {14972#true} ~cond := #in~cond; {15083#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:56:59,233 INFO L290 TraceCheckUtils]: 36: Hoare triple {15083#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:56:59,234 INFO L290 TraceCheckUtils]: 37: Hoare triple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:56:59,234 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:56:59,234 INFO L272 TraceCheckUtils]: 39: Hoare triple {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:56:59,234 INFO L290 TraceCheckUtils]: 40: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:56:59,234 INFO L290 TraceCheckUtils]: 41: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:56:59,234 INFO L290 TraceCheckUtils]: 42: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:56:59,235 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {14972#true} {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:56:59,235 INFO L290 TraceCheckUtils]: 44: Hoare triple {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:56:59,236 INFO L290 TraceCheckUtils]: 45: Hoare triple {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:56:59,236 INFO L290 TraceCheckUtils]: 46: Hoare triple {15115#(and (= main_~r~0 0) (= 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; {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:56:59,236 INFO L272 TraceCheckUtils]: 47: Hoare triple {15115#(and (= main_~r~0 0) (= 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)); {14972#true} is VALID [2022-04-15 14:56:59,236 INFO L290 TraceCheckUtils]: 48: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:56:59,236 INFO L290 TraceCheckUtils]: 49: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:56:59,236 INFO L290 TraceCheckUtils]: 50: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:56:59,237 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14972#true} {15115#(and (= main_~r~0 0) (= 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))} #74#return; {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:56:59,237 INFO L272 TraceCheckUtils]: 52: Hoare triple {15115#(and (= main_~r~0 0) (= 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)); {14972#true} is VALID [2022-04-15 14:56:59,237 INFO L290 TraceCheckUtils]: 53: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:56:59,237 INFO L290 TraceCheckUtils]: 54: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:56:59,237 INFO L290 TraceCheckUtils]: 55: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:56:59,238 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14972#true} {15115#(and (= main_~r~0 0) (= 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))} #76#return; {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:56:59,238 INFO L272 TraceCheckUtils]: 57: Hoare triple {15115#(and (= main_~r~0 0) (= 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)); {14972#true} is VALID [2022-04-15 14:56:59,238 INFO L290 TraceCheckUtils]: 58: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:56:59,238 INFO L290 TraceCheckUtils]: 59: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:56:59,238 INFO L290 TraceCheckUtils]: 60: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:56:59,239 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14972#true} {15115#(and (= main_~r~0 0) (= 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))} #78#return; {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:56:59,239 INFO L290 TraceCheckUtils]: 62: Hoare triple {15115#(and (= main_~r~0 0) (= 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); {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:56:59,239 INFO L290 TraceCheckUtils]: 63: Hoare triple {15115#(and (= main_~r~0 0) (= 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; {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-15 14:56:59,240 INFO L290 TraceCheckUtils]: 64: Hoare triple {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} assume !false; {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-15 14:56:59,240 INFO L272 TraceCheckUtils]: 65: Hoare triple {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:56:59,240 INFO L290 TraceCheckUtils]: 66: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:56:59,240 INFO L290 TraceCheckUtils]: 67: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:56:59,240 INFO L290 TraceCheckUtils]: 68: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:56:59,241 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14972#true} {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #74#return; {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-15 14:56:59,241 INFO L272 TraceCheckUtils]: 70: Hoare triple {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:56:59,241 INFO L290 TraceCheckUtils]: 71: Hoare triple {14972#true} ~cond := #in~cond; {15083#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:56:59,241 INFO L290 TraceCheckUtils]: 72: Hoare triple {15083#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:56:59,242 INFO L290 TraceCheckUtils]: 73: Hoare triple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:56:59,242 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #76#return; {15204#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-15 14:56:59,242 INFO L272 TraceCheckUtils]: 75: Hoare triple {15204#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:56:59,243 INFO L290 TraceCheckUtils]: 76: Hoare triple {14972#true} ~cond := #in~cond; {15083#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:56:59,243 INFO L290 TraceCheckUtils]: 77: Hoare triple {15083#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:56:59,243 INFO L290 TraceCheckUtils]: 78: Hoare triple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:56:59,244 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} {15204#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #78#return; {15204#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-15 14:56:59,244 INFO L290 TraceCheckUtils]: 80: Hoare triple {15204#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} assume !!(~a~0 != ~b~0); {15204#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-15 14:56:59,254 INFO L290 TraceCheckUtils]: 81: Hoare triple {15204#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {15226#(and (= (mod (* main_~p~0 2) 3) 0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0) (* (- 1) main_~y~0))) (= (mod main_~r~0 2) 0) (= (+ (* (div (- main_~p~0) 3) 2) main_~p~0) 1) (= (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0)) (+ (* main_~x~0 2) (* (- 1) main_~y~0))))} is VALID [2022-04-15 14:56:59,254 INFO L290 TraceCheckUtils]: 82: Hoare triple {15226#(and (= (mod (* main_~p~0 2) 3) 0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0) (* (- 1) main_~y~0))) (= (mod main_~r~0 2) 0) (= (+ (* (div (- main_~p~0) 3) 2) main_~p~0) 1) (= (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0)) (+ (* main_~x~0 2) (* (- 1) main_~y~0))))} assume !false; {15226#(and (= (mod (* main_~p~0 2) 3) 0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0) (* (- 1) main_~y~0))) (= (mod main_~r~0 2) 0) (= (+ (* (div (- main_~p~0) 3) 2) main_~p~0) 1) (= (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0)) (+ (* main_~x~0 2) (* (- 1) main_~y~0))))} is VALID [2022-04-15 14:56:59,254 INFO L272 TraceCheckUtils]: 83: Hoare triple {15226#(and (= (mod (* main_~p~0 2) 3) 0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0) (* (- 1) main_~y~0))) (= (mod main_~r~0 2) 0) (= (+ (* (div (- main_~p~0) 3) 2) main_~p~0) 1) (= (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0)) (+ (* main_~x~0 2) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:56:59,254 INFO L290 TraceCheckUtils]: 84: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:56:59,255 INFO L290 TraceCheckUtils]: 85: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:56:59,255 INFO L290 TraceCheckUtils]: 86: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:56:59,255 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {14972#true} {15226#(and (= (mod (* main_~p~0 2) 3) 0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0) (* (- 1) main_~y~0))) (= (mod main_~r~0 2) 0) (= (+ (* (div (- main_~p~0) 3) 2) main_~p~0) 1) (= (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0)) (+ (* main_~x~0 2) (* (- 1) main_~y~0))))} #74#return; {15226#(and (= (mod (* main_~p~0 2) 3) 0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0) (* (- 1) main_~y~0))) (= (mod main_~r~0 2) 0) (= (+ (* (div (- main_~p~0) 3) 2) main_~p~0) 1) (= (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0)) (+ (* main_~x~0 2) (* (- 1) main_~y~0))))} is VALID [2022-04-15 14:56:59,366 INFO L272 TraceCheckUtils]: 88: Hoare triple {15226#(and (= (mod (* main_~p~0 2) 3) 0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0) (* (- 1) main_~y~0))) (= (mod main_~r~0 2) 0) (= (+ (* (div (- main_~p~0) 3) 2) main_~p~0) 1) (= (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0)) (+ (* main_~x~0 2) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15248#(exists ((aux_div_aux_mod_v_main_~r~0_BEFORE_CALL_111_45_46 Int) (aux_div_v_main_~r~0_BEFORE_CALL_111_45 Int) (v_main_~x~0_BEFORE_CALL_128 Int) (aux_div_v_main_~p~0_BEFORE_CALL_114_45 Int) (v_main_~y~0_BEFORE_CALL_127 Int) (aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_114_45_95_57 Int)) (and (< 0 (+ (* 6 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_114_45_95_57) (* aux_div_v_main_~p~0_BEFORE_CALL_114_45 3) 6)) (<= (+ (* 6 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_114_45_95_57) (* aux_div_v_main_~p~0_BEFORE_CALL_114_45 3) 3) 0) (< (* 2 aux_div_aux_mod_v_main_~r~0_BEFORE_CALL_111_45_46) 2) (<= 0 (* 3 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_114_45_95_57)) (<= 1 |__VERIFIER_assert_#in~cond|) (< (* 3 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_114_45_95_57) 3) (<= 0 (* 2 aux_div_aux_mod_v_main_~r~0_BEFORE_CALL_111_45_46)) (= (+ v_main_~y~0_BEFORE_CALL_127 (* aux_div_v_main_~p~0_BEFORE_CALL_114_45 v_main_~x~0_BEFORE_CALL_128) (* 6 (* v_main_~x~0_BEFORE_CALL_128 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_114_45_95_57)) v_main_~x~0_BEFORE_CALL_128) (+ (* v_main_~y~0_BEFORE_CALL_127 aux_div_v_main_~r~0_BEFORE_CALL_111_45) (* (* v_main_~y~0_BEFORE_CALL_127 aux_div_aux_mod_v_main_~r~0_BEFORE_CALL_111_45_46) 2)))))} is VALID [2022-04-15 14:56:59,367 INFO L290 TraceCheckUtils]: 89: Hoare triple {15248#(exists ((aux_div_aux_mod_v_main_~r~0_BEFORE_CALL_111_45_46 Int) (aux_div_v_main_~r~0_BEFORE_CALL_111_45 Int) (v_main_~x~0_BEFORE_CALL_128 Int) (aux_div_v_main_~p~0_BEFORE_CALL_114_45 Int) (v_main_~y~0_BEFORE_CALL_127 Int) (aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_114_45_95_57 Int)) (and (< 0 (+ (* 6 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_114_45_95_57) (* aux_div_v_main_~p~0_BEFORE_CALL_114_45 3) 6)) (<= (+ (* 6 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_114_45_95_57) (* aux_div_v_main_~p~0_BEFORE_CALL_114_45 3) 3) 0) (< (* 2 aux_div_aux_mod_v_main_~r~0_BEFORE_CALL_111_45_46) 2) (<= 0 (* 3 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_114_45_95_57)) (<= 1 |__VERIFIER_assert_#in~cond|) (< (* 3 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_114_45_95_57) 3) (<= 0 (* 2 aux_div_aux_mod_v_main_~r~0_BEFORE_CALL_111_45_46)) (= (+ v_main_~y~0_BEFORE_CALL_127 (* aux_div_v_main_~p~0_BEFORE_CALL_114_45 v_main_~x~0_BEFORE_CALL_128) (* 6 (* v_main_~x~0_BEFORE_CALL_128 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_114_45_95_57)) v_main_~x~0_BEFORE_CALL_128) (+ (* v_main_~y~0_BEFORE_CALL_127 aux_div_v_main_~r~0_BEFORE_CALL_111_45) (* (* v_main_~y~0_BEFORE_CALL_127 aux_div_aux_mod_v_main_~r~0_BEFORE_CALL_111_45_46) 2)))))} ~cond := #in~cond; {15252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:56:59,367 INFO L290 TraceCheckUtils]: 90: Hoare triple {15252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14973#false} is VALID [2022-04-15 14:56:59,367 INFO L290 TraceCheckUtils]: 91: Hoare triple {14973#false} assume !false; {14973#false} is VALID [2022-04-15 14:56:59,367 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 56 proven. 54 refuted. 0 times theorem prover too weak. 141 trivial. 0 not checked. [2022-04-15 14:56:59,368 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:57:40,589 INFO L290 TraceCheckUtils]: 91: Hoare triple {14973#false} assume !false; {14973#false} is VALID [2022-04-15 14:57:40,590 INFO L290 TraceCheckUtils]: 90: Hoare triple {15252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14973#false} is VALID [2022-04-15 14:57:40,590 INFO L290 TraceCheckUtils]: 89: Hoare triple {15265#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:57:40,591 INFO L272 TraceCheckUtils]: 88: Hoare triple {15269#(= 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)); {15265#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:57:40,591 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {14972#true} {15269#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {15269#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:57:40,591 INFO L290 TraceCheckUtils]: 86: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:57:40,592 INFO L290 TraceCheckUtils]: 85: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:57:40,592 INFO L290 TraceCheckUtils]: 84: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:57:40,592 INFO L272 TraceCheckUtils]: 83: Hoare triple {15269#(= 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)); {14972#true} is VALID [2022-04-15 14:57:40,592 INFO L290 TraceCheckUtils]: 82: Hoare triple {15269#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {15269#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:57:42,030 INFO L290 TraceCheckUtils]: 81: Hoare triple {15291#(= (+ main_~a~0 (* (- 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; {15269#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:57:42,030 INFO L290 TraceCheckUtils]: 80: Hoare triple {15291#(= (+ main_~a~0 (* (- 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); {15291#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:57:42,031 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} {15298#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {15291#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 14:57:42,031 INFO L290 TraceCheckUtils]: 78: Hoare triple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:57:42,032 INFO L290 TraceCheckUtils]: 77: Hoare triple {15308#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:57:42,032 INFO L290 TraceCheckUtils]: 76: Hoare triple {14972#true} ~cond := #in~cond; {15308#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:57:42,032 INFO L272 TraceCheckUtils]: 75: Hoare triple {15298#(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)); {14972#true} is VALID [2022-04-15 14:57:42,033 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} {14972#true} #76#return; {15298#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 14:57:42,034 INFO L290 TraceCheckUtils]: 73: Hoare triple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:57:42,034 INFO L290 TraceCheckUtils]: 72: Hoare triple {15308#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:57:42,034 INFO L290 TraceCheckUtils]: 71: Hoare triple {14972#true} ~cond := #in~cond; {15308#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:57:42,034 INFO L272 TraceCheckUtils]: 70: Hoare triple {14972#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:57:42,034 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14972#true} {14972#true} #74#return; {14972#true} is VALID [2022-04-15 14:57:42,034 INFO L290 TraceCheckUtils]: 68: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:57:42,034 INFO L290 TraceCheckUtils]: 67: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:57:42,034 INFO L290 TraceCheckUtils]: 66: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:57:42,034 INFO L272 TraceCheckUtils]: 65: Hoare triple {14972#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L290 TraceCheckUtils]: 64: Hoare triple {14972#true} assume !false; {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L290 TraceCheckUtils]: 63: Hoare triple {14972#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L290 TraceCheckUtils]: 62: Hoare triple {14972#true} assume !!(~a~0 != ~b~0); {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14972#true} {14972#true} #78#return; {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L290 TraceCheckUtils]: 60: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L290 TraceCheckUtils]: 59: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L290 TraceCheckUtils]: 58: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L272 TraceCheckUtils]: 57: Hoare triple {14972#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14972#true} {14972#true} #76#return; {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L290 TraceCheckUtils]: 55: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L290 TraceCheckUtils]: 54: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L290 TraceCheckUtils]: 53: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L272 TraceCheckUtils]: 52: Hoare triple {14972#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14972#true} {14972#true} #74#return; {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L290 TraceCheckUtils]: 50: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L290 TraceCheckUtils]: 49: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L290 TraceCheckUtils]: 48: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:57:42,035 INFO L272 TraceCheckUtils]: 47: Hoare triple {14972#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L290 TraceCheckUtils]: 46: Hoare triple {14972#true} assume !false; {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L290 TraceCheckUtils]: 45: Hoare triple {14972#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L290 TraceCheckUtils]: 44: Hoare triple {14972#true} assume !!(~a~0 != ~b~0); {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {14972#true} {14972#true} #78#return; {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L290 TraceCheckUtils]: 42: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L290 TraceCheckUtils]: 41: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L290 TraceCheckUtils]: 40: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L272 TraceCheckUtils]: 39: Hoare triple {14972#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14972#true} {14972#true} #76#return; {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L290 TraceCheckUtils]: 37: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L290 TraceCheckUtils]: 36: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L290 TraceCheckUtils]: 35: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L272 TraceCheckUtils]: 34: Hoare triple {14972#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14972#true} {14972#true} #74#return; {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L290 TraceCheckUtils]: 32: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L290 TraceCheckUtils]: 31: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L290 TraceCheckUtils]: 30: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:57:42,036 INFO L272 TraceCheckUtils]: 29: Hoare triple {14972#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L290 TraceCheckUtils]: 28: Hoare triple {14972#true} assume !false; {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L290 TraceCheckUtils]: 27: Hoare triple {14972#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14972#true} {14972#true} #72#return; {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L290 TraceCheckUtils]: 25: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L290 TraceCheckUtils]: 24: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L290 TraceCheckUtils]: 23: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L272 TraceCheckUtils]: 22: Hoare triple {14972#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14972#true} {14972#true} #70#return; {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L290 TraceCheckUtils]: 20: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L290 TraceCheckUtils]: 19: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L290 TraceCheckUtils]: 18: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L272 TraceCheckUtils]: 17: Hoare triple {14972#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14972#true} {14972#true} #68#return; {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L290 TraceCheckUtils]: 15: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L290 TraceCheckUtils]: 14: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L290 TraceCheckUtils]: 13: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L272 TraceCheckUtils]: 12: Hoare triple {14972#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L290 TraceCheckUtils]: 11: Hoare triple {14972#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14972#true} is VALID [2022-04-15 14:57:42,037 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14972#true} {14972#true} #66#return; {14972#true} is VALID [2022-04-15 14:57:42,038 INFO L290 TraceCheckUtils]: 9: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:57:42,038 INFO L290 TraceCheckUtils]: 8: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-15 14:57:42,038 INFO L290 TraceCheckUtils]: 7: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-15 14:57:42,038 INFO L272 TraceCheckUtils]: 6: Hoare triple {14972#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {14972#true} is VALID [2022-04-15 14:57:42,038 INFO L290 TraceCheckUtils]: 5: Hoare triple {14972#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; {14972#true} is VALID [2022-04-15 14:57:42,038 INFO L272 TraceCheckUtils]: 4: Hoare triple {14972#true} call #t~ret6 := main(); {14972#true} is VALID [2022-04-15 14:57:42,038 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14972#true} {14972#true} #88#return; {14972#true} is VALID [2022-04-15 14:57:42,038 INFO L290 TraceCheckUtils]: 2: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-15 14:57:42,038 INFO L290 TraceCheckUtils]: 1: Hoare triple {14972#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); {14972#true} is VALID [2022-04-15 14:57:42,038 INFO L272 TraceCheckUtils]: 0: Hoare triple {14972#true} call ULTIMATE.init(); {14972#true} is VALID [2022-04-15 14:57:42,038 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 75 proven. 8 refuted. 0 times theorem prover too weak. 168 trivial. 0 not checked. [2022-04-15 14:57:42,038 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:57:42,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [183012639] [2022-04-15 14:57:42,039 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:57:42,039 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [712232591] [2022-04-15 14:57:42,039 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [712232591] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:57:42,039 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:57:42,039 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 16 [2022-04-15 14:57:42,039 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:57:42,039 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1994279211] [2022-04-15 14:57:42,039 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1994279211] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:57:42,039 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:57:42,039 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 14:57:42,039 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [913735546] [2022-04-15 14:57:42,039 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:57:42,040 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 10 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) Word has length 92 [2022-04-15 14:57:42,040 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:57:42,040 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 10 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-15 14:57:42,152 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:57:42,152 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 14:57:42,152 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:57:42,153 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 14:57:42,153 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=190, Unknown=0, NotChecked=0, Total=240 [2022-04-15 14:57:42,153 INFO L87 Difference]: Start difference. First operand 191 states and 222 transitions. Second operand has 11 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 10 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-15 14:57:45,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:57:45,459 INFO L93 Difference]: Finished difference Result 218 states and 257 transitions. [2022-04-15 14:57:45,459 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 14:57:45,459 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 10 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) Word has length 92 [2022-04-15 14:57:45,459 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:57:45,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 10 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-15 14:57:45,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 81 transitions. [2022-04-15 14:57:45,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 10 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-15 14:57:45,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 81 transitions. [2022-04-15 14:57:45,461 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 81 transitions. [2022-04-15 14:57:45,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:57:45,969 INFO L225 Difference]: With dead ends: 218 [2022-04-15 14:57:45,969 INFO L226 Difference]: Without dead ends: 216 [2022-04-15 14:57:45,969 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 167 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=64, Invalid=242, Unknown=0, NotChecked=0, Total=306 [2022-04-15 14:57:45,969 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 13 mSDsluCounter, 175 mSDsCounter, 0 mSdLazyCounter, 338 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 395 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 338 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 49 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-15 14:57:45,970 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 214 Invalid, 395 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 338 Invalid, 0 Unknown, 49 Unchecked, 1.7s Time] [2022-04-15 14:57:45,970 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 216 states. [2022-04-15 14:57:46,213 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 216 to 214. [2022-04-15 14:57:46,213 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:57:46,214 INFO L82 GeneralOperation]: Start isEquivalent. First operand 216 states. Second operand has 214 states, 130 states have (on average 1.1076923076923078) internal successors, (144), 134 states have internal predecessors, (144), 55 states have call successors, (55), 29 states have call predecessors, (55), 28 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-15 14:57:46,214 INFO L74 IsIncluded]: Start isIncluded. First operand 216 states. Second operand has 214 states, 130 states have (on average 1.1076923076923078) internal successors, (144), 134 states have internal predecessors, (144), 55 states have call successors, (55), 29 states have call predecessors, (55), 28 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-15 14:57:46,214 INFO L87 Difference]: Start difference. First operand 216 states. Second operand has 214 states, 130 states have (on average 1.1076923076923078) internal successors, (144), 134 states have internal predecessors, (144), 55 states have call successors, (55), 29 states have call predecessors, (55), 28 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-15 14:57:46,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:57:46,218 INFO L93 Difference]: Finished difference Result 216 states and 255 transitions. [2022-04-15 14:57:46,218 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 255 transitions. [2022-04-15 14:57:46,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:57:46,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:57:46,219 INFO L74 IsIncluded]: Start isIncluded. First operand has 214 states, 130 states have (on average 1.1076923076923078) internal successors, (144), 134 states have internal predecessors, (144), 55 states have call successors, (55), 29 states have call predecessors, (55), 28 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 216 states. [2022-04-15 14:57:46,219 INFO L87 Difference]: Start difference. First operand has 214 states, 130 states have (on average 1.1076923076923078) internal successors, (144), 134 states have internal predecessors, (144), 55 states have call successors, (55), 29 states have call predecessors, (55), 28 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 216 states. [2022-04-15 14:57:46,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:57:46,223 INFO L93 Difference]: Finished difference Result 216 states and 255 transitions. [2022-04-15 14:57:46,223 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 255 transitions. [2022-04-15 14:57:46,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:57:46,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:57:46,223 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:57:46,223 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:57:46,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 214 states, 130 states have (on average 1.1076923076923078) internal successors, (144), 134 states have internal predecessors, (144), 55 states have call successors, (55), 29 states have call predecessors, (55), 28 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-15 14:57:46,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 214 states to 214 states and 253 transitions. [2022-04-15 14:57:46,227 INFO L78 Accepts]: Start accepts. Automaton has 214 states and 253 transitions. Word has length 92 [2022-04-15 14:57:46,227 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:57:46,227 INFO L478 AbstractCegarLoop]: Abstraction has 214 states and 253 transitions. [2022-04-15 14:57:46,228 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 10 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-15 14:57:46,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 214 states and 253 transitions. [2022-04-15 14:57:50,807 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 253 edges. 253 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:57:50,807 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 253 transitions. [2022-04-15 14:57:50,808 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-15 14:57:50,808 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:57:50,808 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:57:50,825 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-15 14:57:51,008 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-15 14:57:51,009 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:57:51,009 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:57:51,009 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 11 times [2022-04-15 14:57:51,009 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:57:51,009 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1501219072] [2022-04-15 14:57:51,009 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:57:51,009 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 12 times [2022-04-15 14:57:51,009 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:57:51,010 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [622874797] [2022-04-15 14:57:51,010 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:57:51,010 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:57:51,018 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:57:51,018 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1728668740] [2022-04-15 14:57:51,019 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 14:57:51,019 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:57:51,019 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:57:51,025 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:57:51,026 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-15 14:57:51,071 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 14:57:51,071 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:57:51,072 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 14:57:51,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:57:51,107 INFO L286 TraceCheckSpWp]: Computing forward predicates...