/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 12:13:07,956 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 12:13:07,960 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 12:13:08,004 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 12:13:08,005 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 12:13:08,006 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 12:13:08,007 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 12:13:08,008 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 12:13:08,009 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 12:13:08,010 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 12:13:08,011 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 12:13:08,012 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 12:13:08,012 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 12:13:08,013 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 12:13:08,014 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 12:13:08,014 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 12:13:08,015 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 12:13:08,016 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 12:13:08,017 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 12:13:08,019 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 12:13:08,041 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 12:13:08,044 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 12:13:08,045 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 12:13:08,046 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 12:13:08,047 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 12:13:08,049 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 12:13:08,049 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 12:13:08,050 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 12:13:08,050 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 12:13:08,051 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 12:13:08,051 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 12:13:08,052 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 12:13:08,052 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 12:13:08,053 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 12:13:08,053 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 12:13:08,054 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 12:13:08,054 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 12:13:08,055 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 12:13:08,055 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 12:13:08,055 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 12:13:08,056 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 12:13:08,065 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 12:13:08,066 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 12:13:08,096 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 12:13:08,097 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 12:13:08,098 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 12:13:08,098 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 12:13:08,098 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 12:13:08,099 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 12:13:08,099 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 12:13:08,099 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 12:13:08,099 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 12:13:08,100 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 12:13:08,100 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 12:13:08,100 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 12:13:08,101 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 12:13:08,101 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 12:13:08,101 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 12:13:08,101 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:13:08,101 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 12:13:08,101 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 12:13:08,102 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 12:13:08,102 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 12:13:08,102 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 12:13:08,102 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 12:13:08,102 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-08 12:13:08,504 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 12:13:08,559 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 12:13:08,561 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 12:13:08,563 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 12:13:08,563 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 12:13:08,565 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound20.c [2022-04-08 12:13:08,629 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ac821a25d/6575ac894b1a4374a8dacfd52f36e5ba/FLAG670557f06 [2022-04-08 12:13:09,131 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 12:13:09,132 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound20.c [2022-04-08 12:13:09,137 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ac821a25d/6575ac894b1a4374a8dacfd52f36e5ba/FLAG670557f06 [2022-04-08 12:13:09,549 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ac821a25d/6575ac894b1a4374a8dacfd52f36e5ba [2022-04-08 12:13:09,552 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 12:13:09,554 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 12:13:09,570 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 12:13:09,571 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 12:13:09,587 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 12:13:09,589 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:13:09" (1/1) ... [2022-04-08 12:13:09,590 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@53207c53 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:13:09, skipping insertion in model container [2022-04-08 12:13:09,590 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:13:09" (1/1) ... [2022-04-08 12:13:09,621 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 12:13:09,652 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 12:13:09,817 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound20.c[489,502] [2022-04-08 12:13:09,864 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:13:09,875 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 12:13:09,883 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound20.c[489,502] [2022-04-08 12:13:09,892 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:13:09,904 INFO L208 MainTranslator]: Completed translation [2022-04-08 12:13:09,904 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:13:09 WrapperNode [2022-04-08 12:13:09,904 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 12:13:09,905 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 12:13:09,905 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 12:13:09,905 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 12:13:09,922 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:13:09" (1/1) ... [2022-04-08 12:13:09,922 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:13:09" (1/1) ... [2022-04-08 12:13:09,933 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:13:09" (1/1) ... [2022-04-08 12:13:09,934 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:13:09" (1/1) ... [2022-04-08 12:13:09,947 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:13:09" (1/1) ... [2022-04-08 12:13:09,957 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:13:09" (1/1) ... [2022-04-08 12:13:09,959 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:13:09" (1/1) ... [2022-04-08 12:13:09,960 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 12:13:09,961 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 12:13:09,961 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 12:13:09,961 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 12:13:09,962 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:13:09" (1/1) ... [2022-04-08 12:13:09,969 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:13:09,979 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:13:09,990 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-08 12:13:09,998 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-08 12:13:10,021 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 12:13:10,022 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 12:13:10,022 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 12:13:10,022 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 12:13:10,022 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 12:13:10,022 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 12:13:10,022 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 12:13:10,022 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 12:13:10,022 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 12:13:10,023 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 12:13:10,023 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 12:13:10,023 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 12:13:10,023 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 12:13:10,023 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 12:13:10,023 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 12:13:10,023 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 12:13:10,023 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 12:13:10,024 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 12:13:10,024 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 12:13:10,024 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 12:13:10,099 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 12:13:10,101 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 12:13:10,369 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 12:13:10,392 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 12:13:10,392 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 12:13:10,394 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:13:10 BoogieIcfgContainer [2022-04-08 12:13:10,395 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 12:13:10,396 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 12:13:10,396 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 12:13:10,400 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 12:13:10,400 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 12:13:09" (1/3) ... [2022-04-08 12:13:10,401 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@beb3d3c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:13:10, skipping insertion in model container [2022-04-08 12:13:10,401 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:13:09" (2/3) ... [2022-04-08 12:13:10,401 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@beb3d3c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:13:10, skipping insertion in model container [2022-04-08 12:13:10,401 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:13:10" (3/3) ... [2022-04-08 12:13:10,403 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound20.c [2022-04-08 12:13:10,412 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 12:13:10,412 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 12:13:10,451 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 12:13:10,461 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-08 12:13:10,461 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 12:13:10,496 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-08 12:13:10,509 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 12:13:10,510 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:13:10,510 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-08 12:13:10,512 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:13:10,518 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:13:10,518 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 1 times [2022-04-08 12:13:10,526 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:10,527 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1051432524] [2022-04-08 12:13:10,540 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:13:10,540 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 2 times [2022-04-08 12:13:10,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:13:10,551 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [171696037] [2022-04-08 12:13:10,552 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:13:10,554 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:13:10,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:10,852 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 12:13:10,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:10,871 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-08 12:13:10,872 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 12:13:10,872 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-08 12:13:10,873 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 12:13:10,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:10,891 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:13:10,892 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:13:10,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:13:10,893 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-08 12:13:10,895 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 12:13:10,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:10,913 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:13:10,914 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:13:10,914 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:13:10,915 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-08 12:13:10,915 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 12:13:10,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:10,944 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:13:10,945 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:13:10,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:13:10,945 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-08 12:13:10,946 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 12:13:10,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:10,955 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:13:10,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:13:10,956 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:13:10,956 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-08 12:13:10,957 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-08 12:13:10,957 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-08 12:13:10,958 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 12:13:10,958 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-08 12:13:10,958 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-08 12:13:10,958 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-08 12:13:10,959 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {40#true} is VALID [2022-04-08 12:13:10,959 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:13:10,960 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:13:10,960 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:13:10,960 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-08 12:13:10,960 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-08 12:13:10,961 INFO L272 TraceCheckUtils]: 12: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {40#true} is VALID [2022-04-08 12:13:10,961 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:13:10,961 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:13:10,962 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:13:10,962 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-08 12:13:10,962 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-08 12:13:10,962 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:13:10,963 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:13:10,963 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:13:10,963 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-08 12:13:10,964 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-08 12:13:10,964 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:13:10,964 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:13:10,965 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:13:10,965 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-08 12:13:10,965 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-08 12:13:10,965 INFO L290 TraceCheckUtils]: 28: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-08 12:13:10,966 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-08 12:13:10,966 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-08 12:13:10,966 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-08 12:13:10,966 INFO L290 TraceCheckUtils]: 32: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-08 12:13:10,967 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-08 12:13:10,968 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:13:10,968 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [171696037] [2022-04-08 12:13:10,969 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [171696037] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:10,969 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:10,969 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:13:10,972 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:13:10,972 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1051432524] [2022-04-08 12:13:10,972 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1051432524] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:10,973 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:10,973 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:13:10,973 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1815297653] [2022-04-08 12:13:10,974 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:13:10,979 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-08 12:13:10,981 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:13:10,984 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-08 12:13:11,020 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-08 12:13:11,021 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 12:13:11,021 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:11,043 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 12:13:11,043 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 12:13:11,046 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-08 12:13:11,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:11,258 INFO L93 Difference]: Finished difference Result 67 states and 105 transitions. [2022-04-08 12:13:11,258 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 12:13:11,258 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-08 12:13:11,259 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:13:11,260 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-08 12:13:11,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-08 12:13:11,279 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-08 12:13:11,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-08 12:13:11,287 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 105 transitions. [2022-04-08 12:13:11,429 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-08 12:13:11,440 INFO L225 Difference]: With dead ends: 67 [2022-04-08 12:13:11,440 INFO L226 Difference]: Without dead ends: 32 [2022-04-08 12:13:11,443 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-08 12:13:11,446 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:13:11,447 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.1s Time] [2022-04-08 12:13:11,459 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-08 12:13:11,474 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-08 12:13:11,474 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:13:11,475 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-08 12:13:11,476 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-08 12:13:11,476 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-08 12:13:11,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:11,481 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-08 12:13:11,481 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-08 12:13:11,482 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:11,482 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:11,482 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-08 12:13:11,483 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-08 12:13:11,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:11,487 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-08 12:13:11,487 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-08 12:13:11,488 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:11,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:11,488 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:13:11,488 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:13:11,489 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-08 12:13:11,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-08 12:13:11,493 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 33 [2022-04-08 12:13:11,493 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:13:11,493 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-08 12:13:11,494 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-08 12:13:11,494 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-08 12:13:11,542 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-08 12:13:11,542 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-08 12:13:11,543 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 12:13:11,543 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:13:11,543 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-08 12:13:11,543 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 12:13:11,544 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:13:11,544 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:13:11,544 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 1 times [2022-04-08 12:13:11,545 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:11,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [732216590] [2022-04-08 12:13:11,546 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:13:11,546 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 2 times [2022-04-08 12:13:11,546 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:13:11,546 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1233610902] [2022-04-08 12:13:11,546 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:13:11,546 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:13:11,571 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:13:11,572 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1695420400] [2022-04-08 12:13:11,572 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:13:11,572 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:13:11,572 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:13:11,574 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-08 12:13:11,584 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-08 12:13:11,645 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 12:13:11,645 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:13:11,649 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 12:13:11,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:11,664 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:13:11,838 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-08 12:13:11,838 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-08 12:13:11,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 12:13:11,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #88#return; {326#true} is VALID [2022-04-08 12:13:11,839 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-08 12:13:11,839 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-08 12:13:11,839 INFO L272 TraceCheckUtils]: 6: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {326#true} is VALID [2022-04-08 12:13:11,839 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 12:13:11,840 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 12:13:11,840 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 12:13:11,840 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #66#return; {326#true} is VALID [2022-04-08 12:13:11,840 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-08 12:13:11,840 INFO L272 TraceCheckUtils]: 12: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {326#true} is VALID [2022-04-08 12:13:11,841 INFO L290 TraceCheckUtils]: 13: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 12:13:11,841 INFO L290 TraceCheckUtils]: 14: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 12:13:11,841 INFO L290 TraceCheckUtils]: 15: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 12:13:11,841 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {326#true} {326#true} #68#return; {326#true} is VALID [2022-04-08 12:13:11,841 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-08 12:13:11,841 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 12:13:11,842 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 12:13:11,844 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 12:13:11,844 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {326#true} #70#return; {326#true} is VALID [2022-04-08 12:13:11,844 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-08 12:13:11,844 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 12:13:11,845 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 12:13:11,845 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 12:13:11,845 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {326#true} #72#return; {326#true} is VALID [2022-04-08 12:13:11,846 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-08 12:13:11,846 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-08 12:13:11,847 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-08 12:13:11,848 INFO L290 TraceCheckUtils]: 30: Hoare triple {419#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {423#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:11,849 INFO L290 TraceCheckUtils]: 31: Hoare triple {423#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {327#false} is VALID [2022-04-08 12:13:11,849 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-08 12:13:11,849 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-08 12:13:11,849 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:13:11,850 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:13:11,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1233610902] [2022-04-08 12:13:11,850 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:13:11,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1695420400] [2022-04-08 12:13:11,850 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1695420400] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:11,850 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:11,851 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:13:11,851 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:13:11,852 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [732216590] [2022-04-08 12:13:11,852 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [732216590] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:11,852 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:11,852 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:13:11,852 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1079744254] [2022-04-08 12:13:11,852 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:13:11,853 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-08 12:13:11,853 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:13:11,854 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-08 12:13:11,875 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-08 12:13:11,875 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:13:11,875 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:11,876 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:13:11,876 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:13:11,876 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-08 12:13:12,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:12,112 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-04-08 12:13:12,112 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:13:12,113 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-08 12:13:12,113 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:13:12,113 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-08 12:13:12,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:13:12,119 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-08 12:13:12,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:13:12,127 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-08 12:13:12,187 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-08 12:13:12,190 INFO L225 Difference]: With dead ends: 48 [2022-04-08 12:13:12,190 INFO L226 Difference]: Without dead ends: 46 [2022-04-08 12:13:12,192 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-08 12:13:12,194 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-08 12:13:12,198 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-08 12:13:12,200 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-08 12:13:12,220 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-04-08 12:13:12,220 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:13:12,221 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-08 12:13:12,221 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-08 12:13:12,222 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-08 12:13:12,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:12,232 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-08 12:13:12,232 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-08 12:13:12,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:12,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:12,234 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-08 12:13:12,234 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-08 12:13:12,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:12,238 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-08 12:13:12,238 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-08 12:13:12,239 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:12,239 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:12,239 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:13:12,239 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:13:12,240 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-08 12:13:12,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 62 transitions. [2022-04-08 12:13:12,243 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 62 transitions. Word has length 33 [2022-04-08 12:13:12,243 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:13:12,244 INFO L478 AbstractCegarLoop]: Abstraction has 45 states and 62 transitions. [2022-04-08 12:13:12,244 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-08 12:13:12,244 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 62 transitions. [2022-04-08 12:13:12,321 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-08 12:13:12,321 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-08 12:13:12,322 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 12:13:12,322 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:13:12,322 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-08 12:13:12,355 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 12:13:12,554 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-08 12:13:12,555 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:13:12,555 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:13:12,555 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 1 times [2022-04-08 12:13:12,555 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:12,556 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1409627907] [2022-04-08 12:13:12,556 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:13:12,556 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 2 times [2022-04-08 12:13:12,556 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:13:12,557 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [224532034] [2022-04-08 12:13:12,557 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:13:12,557 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:13:12,581 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:13:12,581 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [395353648] [2022-04-08 12:13:12,581 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:13:12,582 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:13:12,582 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:13:12,583 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-08 12:13:12,624 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-08 12:13:12,653 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:13:12,653 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:13:12,654 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 12:13:12,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:12,672 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:13:12,855 INFO L272 TraceCheckUtils]: 0: Hoare triple {709#true} call ULTIMATE.init(); {709#true} is VALID [2022-04-08 12:13:12,855 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-08 12:13:12,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 12:13:12,855 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {709#true} {709#true} #88#return; {709#true} is VALID [2022-04-08 12:13:12,856 INFO L272 TraceCheckUtils]: 4: Hoare triple {709#true} call #t~ret6 := main(); {709#true} is VALID [2022-04-08 12:13:12,856 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-08 12:13:12,856 INFO L272 TraceCheckUtils]: 6: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {709#true} is VALID [2022-04-08 12:13:12,856 INFO L290 TraceCheckUtils]: 7: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 12:13:12,856 INFO L290 TraceCheckUtils]: 8: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 12:13:12,857 INFO L290 TraceCheckUtils]: 9: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 12:13:12,857 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {709#true} {709#true} #66#return; {709#true} is VALID [2022-04-08 12:13:12,857 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-08 12:13:12,857 INFO L272 TraceCheckUtils]: 12: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {709#true} is VALID [2022-04-08 12:13:12,857 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 12:13:12,857 INFO L290 TraceCheckUtils]: 14: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 12:13:12,858 INFO L290 TraceCheckUtils]: 15: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 12:13:12,858 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {709#true} {709#true} #68#return; {709#true} is VALID [2022-04-08 12:13:12,858 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-08 12:13:12,858 INFO L290 TraceCheckUtils]: 18: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 12:13:12,858 INFO L290 TraceCheckUtils]: 19: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 12:13:12,858 INFO L290 TraceCheckUtils]: 20: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 12:13:12,859 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {709#true} {709#true} #70#return; {709#true} is VALID [2022-04-08 12:13:12,859 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-08 12:13:12,859 INFO L290 TraceCheckUtils]: 23: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 12:13:12,859 INFO L290 TraceCheckUtils]: 24: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 12:13:12,859 INFO L290 TraceCheckUtils]: 25: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 12:13:12,859 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {709#true} {709#true} #72#return; {709#true} is VALID [2022-04-08 12:13:12,861 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-08 12:13:12,862 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-08 12:13:12,862 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-08 12:13:12,862 INFO L290 TraceCheckUtils]: 30: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 12:13:12,863 INFO L290 TraceCheckUtils]: 31: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 12:13:12,863 INFO L290 TraceCheckUtils]: 32: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 12:13:12,876 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-08 12:13:12,877 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-08 12:13:12,878 INFO L290 TraceCheckUtils]: 35: Hoare triple {817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:12,878 INFO L290 TraceCheckUtils]: 36: Hoare triple {821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {710#false} is VALID [2022-04-08 12:13:12,879 INFO L290 TraceCheckUtils]: 37: Hoare triple {710#false} assume !false; {710#false} is VALID [2022-04-08 12:13:12,879 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-08 12:13:12,879 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:13:12,879 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:13:12,879 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [224532034] [2022-04-08 12:13:12,880 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:13:12,880 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [395353648] [2022-04-08 12:13:12,880 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [395353648] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:12,880 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:12,880 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:13:12,880 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:13:12,880 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1409627907] [2022-04-08 12:13:12,881 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1409627907] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:12,881 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:12,881 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:13:12,881 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [716773047] [2022-04-08 12:13:12,881 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:13:12,882 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-08 12:13:12,882 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:13:12,882 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-08 12:13:12,908 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-08 12:13:12,908 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:13:12,908 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:12,909 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:13:12,909 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:13:12,909 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-08 12:13:13,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:13,113 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2022-04-08 12:13:13,114 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:13:13,114 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-08 12:13:13,116 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:13:13,116 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-08 12:13:13,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:13:13,121 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-08 12:13:13,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:13:13,123 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-08 12:13:13,177 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-08 12:13:13,179 INFO L225 Difference]: With dead ends: 52 [2022-04-08 12:13:13,179 INFO L226 Difference]: Without dead ends: 50 [2022-04-08 12:13:13,180 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-08 12:13:13,180 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-08 12:13:13,181 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-08 12:13:13,181 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-08 12:13:13,195 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-08 12:13:13,196 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:13:13,196 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-08 12:13:13,197 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-08 12:13:13,197 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-08 12:13:13,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:13,201 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-08 12:13:13,201 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-08 12:13:13,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:13,202 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:13,202 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-08 12:13:13,203 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-08 12:13:13,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:13,206 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-08 12:13:13,206 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-08 12:13:13,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:13,207 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:13,207 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:13:13,207 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:13:13,207 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-08 12:13:13,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 65 transitions. [2022-04-08 12:13:13,210 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 65 transitions. Word has length 38 [2022-04-08 12:13:13,211 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:13:13,211 INFO L478 AbstractCegarLoop]: Abstraction has 49 states and 65 transitions. [2022-04-08 12:13:13,211 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-08 12:13:13,211 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 65 transitions. [2022-04-08 12:13:13,283 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-08 12:13:13,284 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-08 12:13:13,284 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 12:13:13,285 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:13:13,285 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-08 12:13:13,305 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-08 12:13:13,495 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-08 12:13:13,496 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:13:13,496 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:13:13,496 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 1 times [2022-04-08 12:13:13,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:13,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1552358197] [2022-04-08 12:13:13,497 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:13:13,497 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 2 times [2022-04-08 12:13:13,497 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:13:13,497 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1259770268] [2022-04-08 12:13:13,497 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:13:13,497 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:13:13,530 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:13:13,531 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2122863143] [2022-04-08 12:13:13,531 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:13:13,531 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:13:13,531 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:13:13,535 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-08 12:13:13,536 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-08 12:13:13,585 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:13:13,586 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:13:13,587 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 12:13:13,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:13,602 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:13:13,765 INFO L272 TraceCheckUtils]: 0: Hoare triple {1131#true} call ULTIMATE.init(); {1131#true} is VALID [2022-04-08 12:13:13,765 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-08 12:13:13,765 INFO L290 TraceCheckUtils]: 2: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-08 12:13:13,765 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1131#true} {1131#true} #88#return; {1131#true} is VALID [2022-04-08 12:13:13,766 INFO L272 TraceCheckUtils]: 4: Hoare triple {1131#true} call #t~ret6 := main(); {1131#true} is VALID [2022-04-08 12:13:13,766 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-08 12:13:13,766 INFO L272 TraceCheckUtils]: 6: Hoare triple {1131#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1131#true} is VALID [2022-04-08 12:13:13,766 INFO L290 TraceCheckUtils]: 7: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-08 12:13:13,766 INFO L290 TraceCheckUtils]: 8: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-08 12:13:13,766 INFO L290 TraceCheckUtils]: 9: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-08 12:13:13,767 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1131#true} {1131#true} #66#return; {1131#true} is VALID [2022-04-08 12:13:13,767 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-08 12:13:13,767 INFO L272 TraceCheckUtils]: 12: Hoare triple {1131#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1131#true} is VALID [2022-04-08 12:13:13,767 INFO L290 TraceCheckUtils]: 13: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-08 12:13:13,767 INFO L290 TraceCheckUtils]: 14: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-08 12:13:13,767 INFO L290 TraceCheckUtils]: 15: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-08 12:13:13,768 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1131#true} {1131#true} #68#return; {1131#true} is VALID [2022-04-08 12:13:13,768 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-08 12:13:13,768 INFO L290 TraceCheckUtils]: 18: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-08 12:13:13,768 INFO L290 TraceCheckUtils]: 19: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-08 12:13:13,768 INFO L290 TraceCheckUtils]: 20: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-08 12:13:13,768 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1131#true} {1131#true} #70#return; {1131#true} is VALID [2022-04-08 12:13:13,768 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-08 12:13:13,769 INFO L290 TraceCheckUtils]: 23: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-08 12:13:13,769 INFO L290 TraceCheckUtils]: 24: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-08 12:13:13,769 INFO L290 TraceCheckUtils]: 25: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-08 12:13:13,769 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1131#true} {1131#true} #72#return; {1131#true} is VALID [2022-04-08 12:13:13,770 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-08 12:13:13,770 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-08 12:13:13,770 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-08 12:13:13,771 INFO L290 TraceCheckUtils]: 30: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-08 12:13:13,771 INFO L290 TraceCheckUtils]: 31: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-08 12:13:13,771 INFO L290 TraceCheckUtils]: 32: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-08 12:13:13,772 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-08 12:13:13,772 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-08 12:13:13,772 INFO L290 TraceCheckUtils]: 35: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-08 12:13:13,773 INFO L290 TraceCheckUtils]: 36: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-08 12:13:13,773 INFO L290 TraceCheckUtils]: 37: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-08 12:13:13,774 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-08 12:13:13,775 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-08 12:13:13,775 INFO L290 TraceCheckUtils]: 40: Hoare triple {1254#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1258#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:13,776 INFO L290 TraceCheckUtils]: 41: Hoare triple {1258#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1132#false} is VALID [2022-04-08 12:13:13,776 INFO L290 TraceCheckUtils]: 42: Hoare triple {1132#false} assume !false; {1132#false} is VALID [2022-04-08 12:13:13,776 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-08 12:13:13,776 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:13:13,777 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:13:13,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1259770268] [2022-04-08 12:13:13,777 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:13:13,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2122863143] [2022-04-08 12:13:13,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2122863143] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:13,777 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:13,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:13:13,778 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:13:13,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1552358197] [2022-04-08 12:13:13,778 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1552358197] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:13,778 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:13,778 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:13:13,778 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [344741472] [2022-04-08 12:13:13,778 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:13:13,779 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-08 12:13:13,779 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:13:13,780 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-08 12:13:13,805 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-08 12:13:13,806 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:13:13,806 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:13,806 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:13:13,806 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:13:13,807 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-08 12:13:14,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:14,049 INFO L93 Difference]: Finished difference Result 74 states and 105 transitions. [2022-04-08 12:13:14,049 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:13:14,050 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-08 12:13:14,072 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:13:14,073 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-08 12:13:14,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:13:14,075 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-08 12:13:14,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:13:14,077 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-08 12:13:14,133 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-08 12:13:14,136 INFO L225 Difference]: With dead ends: 74 [2022-04-08 12:13:14,136 INFO L226 Difference]: Without dead ends: 70 [2022-04-08 12:13:14,136 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-08 12:13:14,137 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-08 12:13:14,138 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-08 12:13:14,138 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-08 12:13:14,158 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-08 12:13:14,158 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:13:14,158 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-08 12:13:14,159 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-08 12:13:14,159 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-08 12:13:14,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:14,164 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-08 12:13:14,164 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-08 12:13:14,164 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:14,164 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:14,165 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-08 12:13:14,165 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-08 12:13:14,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:14,169 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-08 12:13:14,169 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-08 12:13:14,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:14,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:14,170 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:13:14,170 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:13:14,171 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-08 12:13:14,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 98 transitions. [2022-04-08 12:13:14,175 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 98 transitions. Word has length 43 [2022-04-08 12:13:14,175 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:13:14,175 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 98 transitions. [2022-04-08 12:13:14,175 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-08 12:13:14,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 98 transitions. [2022-04-08 12:13:14,284 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-08 12:13:14,284 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-08 12:13:14,285 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 12:13:14,285 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:13:14,285 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-08 12:13:14,310 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-08 12:13:14,499 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-08 12:13:14,500 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:13:14,500 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:13:14,500 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 1 times [2022-04-08 12:13:14,500 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:14,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1048940294] [2022-04-08 12:13:14,500 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:13:14,501 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 2 times [2022-04-08 12:13:14,501 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:13:14,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1271300671] [2022-04-08 12:13:14,501 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:13:14,501 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:13:14,517 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:13:14,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1826377752] [2022-04-08 12:13:14,518 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:13:14,518 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:13:14,518 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:13:14,519 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-08 12:13:14,553 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-08 12:13:14,578 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:13:14,578 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:13:14,579 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 12:13:14,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:14,594 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:13:14,707 INFO L272 TraceCheckUtils]: 0: Hoare triple {1694#true} call ULTIMATE.init(); {1694#true} is VALID [2022-04-08 12:13:14,707 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-08 12:13:14,707 INFO L290 TraceCheckUtils]: 2: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 12:13:14,707 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1694#true} {1694#true} #88#return; {1694#true} is VALID [2022-04-08 12:13:14,707 INFO L272 TraceCheckUtils]: 4: Hoare triple {1694#true} call #t~ret6 := main(); {1694#true} is VALID [2022-04-08 12:13:14,708 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-08 12:13:14,708 INFO L272 TraceCheckUtils]: 6: Hoare triple {1694#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1694#true} is VALID [2022-04-08 12:13:14,708 INFO L290 TraceCheckUtils]: 7: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-08 12:13:14,708 INFO L290 TraceCheckUtils]: 8: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-08 12:13:14,708 INFO L290 TraceCheckUtils]: 9: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 12:13:14,708 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1694#true} {1694#true} #66#return; {1694#true} is VALID [2022-04-08 12:13:14,708 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-08 12:13:14,709 INFO L272 TraceCheckUtils]: 12: Hoare triple {1694#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1694#true} is VALID [2022-04-08 12:13:14,709 INFO L290 TraceCheckUtils]: 13: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-08 12:13:14,709 INFO L290 TraceCheckUtils]: 14: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-08 12:13:14,709 INFO L290 TraceCheckUtils]: 15: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 12:13:14,709 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1694#true} {1694#true} #68#return; {1694#true} is VALID [2022-04-08 12:13:14,709 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-08 12:13:14,709 INFO L290 TraceCheckUtils]: 18: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-08 12:13:14,709 INFO L290 TraceCheckUtils]: 19: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-08 12:13:14,710 INFO L290 TraceCheckUtils]: 20: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 12:13:14,710 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1694#true} {1694#true} #70#return; {1694#true} is VALID [2022-04-08 12:13:14,710 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-08 12:13:14,710 INFO L290 TraceCheckUtils]: 23: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-08 12:13:14,710 INFO L290 TraceCheckUtils]: 24: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-08 12:13:14,710 INFO L290 TraceCheckUtils]: 25: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 12:13:14,710 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1694#true} {1694#true} #72#return; {1694#true} is VALID [2022-04-08 12:13:14,711 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-08 12:13:14,711 INFO L290 TraceCheckUtils]: 28: Hoare triple {1694#true} assume !false; {1694#true} is VALID [2022-04-08 12:13:14,711 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-08 12:13:14,711 INFO L290 TraceCheckUtils]: 30: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-08 12:13:14,711 INFO L290 TraceCheckUtils]: 31: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-08 12:13:14,711 INFO L290 TraceCheckUtils]: 32: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 12:13:14,711 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1694#true} {1694#true} #74#return; {1694#true} is VALID [2022-04-08 12:13:14,711 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-08 12:13:14,712 INFO L290 TraceCheckUtils]: 35: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-08 12:13:14,712 INFO L290 TraceCheckUtils]: 36: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-08 12:13:14,712 INFO L290 TraceCheckUtils]: 37: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 12:13:14,712 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1694#true} {1694#true} #76#return; {1694#true} is VALID [2022-04-08 12:13:14,712 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-08 12:13:14,712 INFO L290 TraceCheckUtils]: 40: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-08 12:13:14,712 INFO L290 TraceCheckUtils]: 41: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-08 12:13:14,712 INFO L290 TraceCheckUtils]: 42: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 12:13:14,713 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1694#true} {1694#true} #78#return; {1694#true} is VALID [2022-04-08 12:13:14,713 INFO L290 TraceCheckUtils]: 44: Hoare triple {1694#true} assume !(~a~0 != ~b~0); {1831#(= main_~b~0 main_~a~0)} is VALID [2022-04-08 12:13:14,714 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-08 12:13:14,714 INFO L290 TraceCheckUtils]: 46: Hoare triple {1835#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1839#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:14,715 INFO L290 TraceCheckUtils]: 47: Hoare triple {1839#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1695#false} is VALID [2022-04-08 12:13:14,715 INFO L290 TraceCheckUtils]: 48: Hoare triple {1695#false} assume !false; {1695#false} is VALID [2022-04-08 12:13:14,715 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-08 12:13:14,715 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:13:14,715 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:13:14,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1271300671] [2022-04-08 12:13:14,716 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:13:14,716 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1826377752] [2022-04-08 12:13:14,716 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1826377752] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:14,716 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:14,716 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:13:14,716 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:13:14,716 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1048940294] [2022-04-08 12:13:14,716 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1048940294] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:14,717 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:14,717 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:13:14,717 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1880996920] [2022-04-08 12:13:14,717 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:13:14,717 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-08 12:13:14,717 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:13:14,718 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-08 12:13:14,743 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-08 12:13:14,743 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:13:14,743 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:14,744 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:13:14,744 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:13:14,744 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-08 12:13:14,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:14,916 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-08 12:13:14,916 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:13:14,917 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-08 12:13:14,918 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:13:14,918 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-08 12:13:14,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-08 12:13:14,920 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-08 12:13:14,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-08 12:13:14,921 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-08 12:13:14,955 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-08 12:13:14,959 INFO L225 Difference]: With dead ends: 76 [2022-04-08 12:13:14,960 INFO L226 Difference]: Without dead ends: 74 [2022-04-08 12:13:14,960 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-08 12:13:14,961 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-08 12:13:14,961 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-08 12:13:14,962 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-08 12:13:15,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-08 12:13:15,001 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:13:15,003 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-08 12:13:15,003 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-08 12:13:15,004 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-08 12:13:15,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:15,009 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-08 12:13:15,009 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-08 12:13:15,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:15,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:15,011 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-08 12:13:15,012 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-08 12:13:15,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:15,016 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-08 12:13:15,016 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-08 12:13:15,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:15,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:15,016 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:13:15,016 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:13:15,018 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-08 12:13:15,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 101 transitions. [2022-04-08 12:13:15,022 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 101 transitions. Word has length 49 [2022-04-08 12:13:15,023 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:13:15,023 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 101 transitions. [2022-04-08 12:13:15,023 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-08 12:13:15,023 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 101 transitions. [2022-04-08 12:13:15,138 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-08 12:13:15,138 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-08 12:13:15,139 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 12:13:15,139 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:13:15,139 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-08 12:13:15,168 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-08 12:13:15,356 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-08 12:13:15,356 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:13:15,356 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:13:15,357 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 1 times [2022-04-08 12:13:15,357 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:15,357 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [199163031] [2022-04-08 12:13:15,357 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:13:15,357 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 2 times [2022-04-08 12:13:15,357 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:13:15,358 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [977124492] [2022-04-08 12:13:15,358 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:13:15,358 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:13:15,378 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:13:15,379 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [553680066] [2022-04-08 12:13:15,379 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:13:15,379 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:13:15,379 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:13:15,380 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-08 12:13:15,414 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-08 12:13:15,438 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:13:15,438 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:13:15,439 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 12:13:15,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:15,457 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:13:15,666 INFO L272 TraceCheckUtils]: 0: Hoare triple {2295#true} call ULTIMATE.init(); {2295#true} is VALID [2022-04-08 12:13:15,667 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-08 12:13:15,667 INFO L290 TraceCheckUtils]: 2: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 12:13:15,667 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2295#true} {2295#true} #88#return; {2295#true} is VALID [2022-04-08 12:13:15,667 INFO L272 TraceCheckUtils]: 4: Hoare triple {2295#true} call #t~ret6 := main(); {2295#true} is VALID [2022-04-08 12:13:15,667 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-08 12:13:15,667 INFO L272 TraceCheckUtils]: 6: Hoare triple {2295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2295#true} is VALID [2022-04-08 12:13:15,667 INFO L290 TraceCheckUtils]: 7: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-08 12:13:15,668 INFO L290 TraceCheckUtils]: 8: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-08 12:13:15,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 12:13:15,668 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2295#true} {2295#true} #66#return; {2295#true} is VALID [2022-04-08 12:13:15,668 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-08 12:13:15,668 INFO L272 TraceCheckUtils]: 12: Hoare triple {2295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2295#true} is VALID [2022-04-08 12:13:15,669 INFO L290 TraceCheckUtils]: 13: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-08 12:13:15,669 INFO L290 TraceCheckUtils]: 14: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-08 12:13:15,669 INFO L290 TraceCheckUtils]: 15: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 12:13:15,669 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2295#true} {2295#true} #68#return; {2295#true} is VALID [2022-04-08 12:13:15,669 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-08 12:13:15,669 INFO L290 TraceCheckUtils]: 18: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-08 12:13:15,669 INFO L290 TraceCheckUtils]: 19: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-08 12:13:15,669 INFO L290 TraceCheckUtils]: 20: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 12:13:15,674 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2295#true} {2295#true} #70#return; {2295#true} is VALID [2022-04-08 12:13:15,675 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-08 12:13:15,675 INFO L290 TraceCheckUtils]: 23: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-08 12:13:15,676 INFO L290 TraceCheckUtils]: 24: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-08 12:13:15,678 INFO L290 TraceCheckUtils]: 25: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 12:13:15,680 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2295#true} {2295#true} #72#return; {2295#true} is VALID [2022-04-08 12:13:15,681 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-08 12:13:15,681 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-08 12:13:15,681 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-08 12:13:15,683 INFO L290 TraceCheckUtils]: 30: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-08 12:13:15,684 INFO L290 TraceCheckUtils]: 31: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-08 12:13:15,684 INFO L290 TraceCheckUtils]: 32: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 12:13:15,685 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-08 12:13:15,685 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-08 12:13:15,685 INFO L290 TraceCheckUtils]: 35: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-08 12:13:15,685 INFO L290 TraceCheckUtils]: 36: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-08 12:13:15,689 INFO L290 TraceCheckUtils]: 37: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 12:13:15,690 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-08 12:13:15,690 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-08 12:13:15,690 INFO L290 TraceCheckUtils]: 40: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-08 12:13:15,691 INFO L290 TraceCheckUtils]: 41: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-08 12:13:15,691 INFO L290 TraceCheckUtils]: 42: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 12:13:15,694 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-08 12:13:15,695 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-08 12:13:15,695 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-08 12:13:15,696 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-08 12:13:15,696 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-08 12:13:15,697 INFO L290 TraceCheckUtils]: 48: Hoare triple {2442#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2446#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:15,697 INFO L290 TraceCheckUtils]: 49: Hoare triple {2446#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2296#false} is VALID [2022-04-08 12:13:15,697 INFO L290 TraceCheckUtils]: 50: Hoare triple {2296#false} assume !false; {2296#false} is VALID [2022-04-08 12:13:15,697 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-08 12:13:15,698 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:13:15,698 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:13:15,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [977124492] [2022-04-08 12:13:15,698 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:13:15,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [553680066] [2022-04-08 12:13:15,698 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [553680066] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:15,698 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:15,698 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:13:15,698 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:13:15,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [199163031] [2022-04-08 12:13:15,699 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [199163031] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:15,699 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:15,699 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:13:15,699 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1200288491] [2022-04-08 12:13:15,699 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:13:15,699 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-08 12:13:15,699 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:13:15,700 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-08 12:13:15,729 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-08 12:13:15,729 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:13:15,729 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:15,730 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:13:15,730 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:13:15,731 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-08 12:13:15,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:15,918 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-04-08 12:13:15,918 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:13:15,918 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-08 12:13:15,919 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:13:15,920 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-08 12:13:15,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 12:13:15,922 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-08 12:13:15,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 12:13:15,924 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-08 12:13:15,973 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-08 12:13:15,976 INFO L225 Difference]: With dead ends: 84 [2022-04-08 12:13:15,977 INFO L226 Difference]: Without dead ends: 81 [2022-04-08 12:13:15,977 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-08 12:13:15,978 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-08 12:13:15,978 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-08 12:13:15,979 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-08 12:13:16,011 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2022-04-08 12:13:16,012 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:13:16,012 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-08 12:13:16,012 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-08 12:13:16,013 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-08 12:13:16,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:16,017 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-08 12:13:16,018 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-08 12:13:16,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:16,018 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:16,018 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-08 12:13:16,019 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-08 12:13:16,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:16,022 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-08 12:13:16,022 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-08 12:13:16,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:16,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:16,023 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:13:16,023 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:13:16,023 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-08 12:13:16,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 102 transitions. [2022-04-08 12:13:16,028 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 102 transitions. Word has length 51 [2022-04-08 12:13:16,028 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:13:16,028 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 102 transitions. [2022-04-08 12:13:16,028 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-08 12:13:16,028 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 102 transitions. [2022-04-08 12:13:16,129 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-08 12:13:16,129 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-08 12:13:16,131 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-08 12:13:16,131 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:13:16,131 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-08 12:13:16,161 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-08 12:13:16,347 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-08 12:13:16,348 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:13:16,348 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:13:16,348 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 1 times [2022-04-08 12:13:16,348 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:16,348 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [697053453] [2022-04-08 12:13:16,349 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:13:16,349 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 2 times [2022-04-08 12:13:16,349 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:13:16,349 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2082615308] [2022-04-08 12:13:16,349 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:13:16,349 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:13:16,364 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:13:16,365 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1640740877] [2022-04-08 12:13:16,365 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:13:16,365 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:13:16,365 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:13:16,366 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-08 12:13:16,381 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-08 12:13:16,426 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:13:16,426 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:13:16,427 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 12:13:16,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:16,443 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:13:16,649 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-08 12:13:16,649 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-08 12:13:16,649 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:16,650 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-08 12:13:16,650 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-08 12:13:16,650 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-08 12:13:16,650 INFO L272 TraceCheckUtils]: 6: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2942#true} is VALID [2022-04-08 12:13:16,650 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 12:13:16,650 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 12:13:16,650 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:16,650 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-08 12:13:16,651 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-08 12:13:16,651 INFO L272 TraceCheckUtils]: 12: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2942#true} is VALID [2022-04-08 12:13:16,651 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 12:13:16,651 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 12:13:16,651 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:16,651 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-08 12:13:16,651 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-08 12:13:16,651 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 12:13:16,651 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 12:13:16,651 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:16,652 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-08 12:13:16,652 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-08 12:13:16,652 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 12:13:16,652 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 12:13:16,652 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:16,652 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-08 12:13:16,652 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-08 12:13:16,652 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-08 12:13:16,652 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-08 12:13:16,653 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 12:13:16,653 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 12:13:16,653 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:16,653 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-08 12:13:16,653 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-08 12:13:16,653 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:16,654 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-08 12:13:16,654 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-08 12:13:16,655 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-08 12:13:16,655 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-08 12:13:16,655 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 12:13:16,655 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 12:13:16,655 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:16,664 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-08 12:13:16,664 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-08 12:13:16,665 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-08 12:13:16,665 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 12:13:16,665 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 12:13:16,665 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:16,665 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-08 12:13:16,666 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-08 12:13:16,667 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:16,667 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-08 12:13:16,667 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-08 12:13:16,669 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-08 12:13:16,670 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:13:33,722 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-08 12:13:33,724 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-08 12:13:33,725 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:33,726 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-08 12:13:33,727 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-08 12:13:33,727 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:33,727 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 12:13:33,727 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 12:13:33,727 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-08 12:13:33,728 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-08 12:13:33,729 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-08 12:13:33,729 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:33,729 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 12:13:33,729 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 12:13:33,729 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-08 12:13:33,732 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-08 12:13:33,732 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-08 12:13:33,733 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-08 12:13:33,733 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-08 12:13:33,733 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-08 12:13:33,733 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-08 12:13:33,734 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:33,734 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 12:13:33,734 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 12:13:33,734 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-08 12:13:33,734 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-08 12:13:33,734 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-08 12:13:33,734 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-08 12:13:33,734 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:33,734 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 12:13:33,734 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 12:13:33,734 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-08 12:13:33,734 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-08 12:13:33,735 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:33,735 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 12:13:33,735 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 12:13:33,735 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-08 12:13:33,735 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-08 12:13:33,735 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:33,735 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 12:13:33,735 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 12:13:33,735 INFO L272 TraceCheckUtils]: 12: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2942#true} is VALID [2022-04-08 12:13:33,735 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-08 12:13:33,736 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-08 12:13:33,737 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:33,738 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 12:13:33,738 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 12:13:33,740 INFO L272 TraceCheckUtils]: 6: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2942#true} is VALID [2022-04-08 12:13:33,740 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-08 12:13:33,741 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-08 12:13:33,741 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-08 12:13:33,741 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 12:13:33,741 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-08 12:13:33,741 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-08 12:13:33,741 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-08 12:13:33,741 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:13:33,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2082615308] [2022-04-08 12:13:33,742 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:13:33,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1640740877] [2022-04-08 12:13:33,742 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1640740877] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:13:33,742 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:13:33,742 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 12:13:33,742 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:13:33,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [697053453] [2022-04-08 12:13:33,742 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [697053453] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:33,742 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:33,742 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:13:33,743 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1321714249] [2022-04-08 12:13:33,743 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:13:33,743 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-08 12:13:33,743 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:13:33,743 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-08 12:13:33,802 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-08 12:13:33,802 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:13:33,802 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:33,803 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:13:33,803 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:13:33,803 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-08 12:13:34,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:34,575 INFO L93 Difference]: Finished difference Result 88 states and 112 transitions. [2022-04-08 12:13:34,575 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:13:34,576 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-08 12:13:34,576 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:13:34,576 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-08 12:13:34,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-08 12:13:34,578 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-08 12:13:34,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-08 12:13:34,579 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 52 transitions. [2022-04-08 12:13:34,657 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-08 12:13:34,659 INFO L225 Difference]: With dead ends: 88 [2022-04-08 12:13:34,659 INFO L226 Difference]: Without dead ends: 84 [2022-04-08 12:13:34,660 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:13:34,660 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-08 12:13:34,660 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-08 12:13:34,661 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-08 12:13:34,701 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-08 12:13:34,702 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:13:34,702 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-08 12:13:34,702 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-08 12:13:34,703 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-08 12:13:34,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:34,707 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-08 12:13:34,707 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-08 12:13:34,717 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:34,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:34,717 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-08 12:13:34,718 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-08 12:13:34,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:34,721 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-08 12:13:34,722 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-08 12:13:34,722 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:34,722 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:34,722 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:13:34,722 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:13:34,723 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-08 12:13:34,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 105 transitions. [2022-04-08 12:13:34,731 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 105 transitions. Word has length 54 [2022-04-08 12:13:34,731 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:13:34,731 INFO L478 AbstractCegarLoop]: Abstraction has 84 states and 105 transitions. [2022-04-08 12:13:34,731 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-08 12:13:34,732 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 105 transitions. [2022-04-08 12:13:34,968 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-08 12:13:34,968 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-08 12:13:34,968 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-08 12:13:34,968 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:13:34,969 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-08 12:13:35,013 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-08 12:13:35,169 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-08 12:13:35,169 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:13:35,170 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:13:35,170 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 3 times [2022-04-08 12:13:35,170 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:35,170 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1782463721] [2022-04-08 12:13:35,170 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:13:35,171 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 4 times [2022-04-08 12:13:35,171 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:13:35,171 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [706013252] [2022-04-08 12:13:35,171 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:13:35,171 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:13:35,194 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:13:35,195 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1256588347] [2022-04-08 12:13:35,195 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:13:35,195 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:13:35,215 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:13:35,216 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-08 12:13:35,261 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-08 12:13:35,296 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:13:35,296 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:13:35,312 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 12:13:35,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:35,327 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:13:35,691 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-08 12:13:35,692 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-08 12:13:35,692 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:35,692 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-08 12:13:35,692 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-08 12:13:35,692 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-08 12:13:35,692 INFO L272 TraceCheckUtils]: 6: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3792#true} is VALID [2022-04-08 12:13:35,692 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:35,692 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:35,693 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:35,693 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-08 12:13:35,693 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-08 12:13:35,693 INFO L272 TraceCheckUtils]: 12: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3792#true} is VALID [2022-04-08 12:13:35,693 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:35,693 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:35,693 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:35,693 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-08 12:13:35,693 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-08 12:13:35,693 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:35,693 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:35,694 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:35,694 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-08 12:13:35,694 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-08 12:13:35,694 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:35,694 INFO L290 TraceCheckUtils]: 24: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:35,694 INFO L290 TraceCheckUtils]: 25: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:35,694 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3792#true} {3792#true} #72#return; {3792#true} is VALID [2022-04-08 12:13:35,695 INFO L290 TraceCheckUtils]: 27: Hoare triple {3792#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:35,695 INFO L290 TraceCheckUtils]: 28: Hoare triple {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:35,696 INFO L272 TraceCheckUtils]: 29: Hoare triple {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-08 12:13:35,696 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:35,696 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:35,696 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:35,697 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3792#true} {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:35,697 INFO L272 TraceCheckUtils]: 34: Hoare triple {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3792#true} is VALID [2022-04-08 12:13:35,697 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:35,697 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:35,697 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:35,698 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3792#true} {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:35,698 INFO L272 TraceCheckUtils]: 39: Hoare triple {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3792#true} is VALID [2022-04-08 12:13:35,698 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:35,698 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:35,698 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:35,699 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3792#true} {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:35,699 INFO L290 TraceCheckUtils]: 44: Hoare triple {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:35,700 INFO L290 TraceCheckUtils]: 45: Hoare triple {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-08 12:13:35,700 INFO L290 TraceCheckUtils]: 46: Hoare triple {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} assume !false; {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-08 12:13:35,701 INFO L272 TraceCheckUtils]: 47: Hoare triple {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-08 12:13:35,701 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:35,701 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:35,701 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:35,701 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3792#true} {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} #74#return; {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-08 12:13:35,702 INFO L272 TraceCheckUtils]: 52: Hoare triple {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:13:35,703 INFO L290 TraceCheckUtils]: 53: Hoare triple {3955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:35,703 INFO L290 TraceCheckUtils]: 54: Hoare triple {3959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-08 12:13:35,703 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-08 12:13:35,704 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-08 12:13:35,704 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:13:35,974 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-08 12:13:35,975 INFO L290 TraceCheckUtils]: 54: Hoare triple {3959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-08 12:13:35,995 INFO L290 TraceCheckUtils]: 53: Hoare triple {3955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:36,013 INFO L272 TraceCheckUtils]: 52: Hoare triple {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:13:36,015 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3792#true} {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:13:36,015 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:36,015 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:36,015 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:36,015 INFO L272 TraceCheckUtils]: 47: Hoare triple {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-08 12:13:36,016 INFO L290 TraceCheckUtils]: 46: Hoare triple {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:13:36,320 INFO L290 TraceCheckUtils]: 45: Hoare triple {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:13:36,321 INFO L290 TraceCheckUtils]: 44: Hoare triple {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 12:13:36,322 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3792#true} {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #78#return; {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 12:13:36,322 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:36,322 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:36,322 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:36,322 INFO L272 TraceCheckUtils]: 39: Hoare triple {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3792#true} is VALID [2022-04-08 12:13:36,323 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3792#true} {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #76#return; {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 12:13:36,323 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:36,323 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:36,323 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:36,324 INFO L272 TraceCheckUtils]: 34: Hoare triple {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3792#true} is VALID [2022-04-08 12:13:36,325 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3792#true} {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #74#return; {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 12:13:36,325 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:36,325 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:36,325 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:36,325 INFO L272 TraceCheckUtils]: 29: Hoare triple {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-08 12:13:36,326 INFO L290 TraceCheckUtils]: 28: Hoare triple {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !false; {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 12:13:36,326 INFO L290 TraceCheckUtils]: 27: Hoare triple {3792#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 12:13:36,327 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3792#true} {3792#true} #72#return; {3792#true} is VALID [2022-04-08 12:13:36,327 INFO L290 TraceCheckUtils]: 25: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:36,327 INFO L290 TraceCheckUtils]: 24: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:36,327 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:36,327 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-08 12:13:36,327 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-08 12:13:36,327 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:36,327 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:36,327 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:36,327 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-08 12:13:36,327 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-08 12:13:36,327 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:36,327 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:36,328 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:36,328 INFO L272 TraceCheckUtils]: 12: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3792#true} is VALID [2022-04-08 12:13:36,328 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-08 12:13:36,328 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-08 12:13:36,328 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:36,328 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 12:13:36,328 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 12:13:36,328 INFO L272 TraceCheckUtils]: 6: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3792#true} is VALID [2022-04-08 12:13:36,328 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-08 12:13:36,328 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-08 12:13:36,328 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-08 12:13:36,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 12:13:36,328 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-08 12:13:36,329 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-08 12:13:36,329 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-08 12:13:36,329 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:13:36,329 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [706013252] [2022-04-08 12:13:36,329 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:13:36,334 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1256588347] [2022-04-08 12:13:36,334 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1256588347] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:13:36,334 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:13:36,335 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-08 12:13:36,335 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:13:36,335 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1782463721] [2022-04-08 12:13:36,335 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1782463721] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:36,335 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:36,335 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:13:36,335 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [294112322] [2022-04-08 12:13:36,336 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:13:36,336 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 56 [2022-04-08 12:13:36,336 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:13:36,336 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 12:13:36,409 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:13:36,409 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 12:13:36,409 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:36,410 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 12:13:36,410 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-08 12:13:36,410 INFO L87 Difference]: Start difference. First operand 84 states and 105 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 12:13:37,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:37,034 INFO L93 Difference]: Finished difference Result 118 states and 147 transitions. [2022-04-08 12:13:37,034 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 12:13:37,035 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 56 [2022-04-08 12:13:37,035 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:13:37,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 12:13:37,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 12:13:37,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 12:13:37,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 12:13:37,038 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-08 12:13:37,115 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-08 12:13:37,118 INFO L225 Difference]: With dead ends: 118 [2022-04-08 12:13:37,118 INFO L226 Difference]: Without dead ends: 116 [2022-04-08 12:13:37,119 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 104 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:13:37,119 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 8 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 125 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 128 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 125 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:13:37,120 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 170 Invalid, 128 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 125 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 12:13:37,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-08 12:13:37,176 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 112. [2022-04-08 12:13:37,176 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:13:37,177 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-08 12:13:37,182 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-08 12:13:37,184 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-08 12:13:37,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:37,189 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-08 12:13:37,189 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-08 12:13:37,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:37,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:37,190 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-08 12:13:37,190 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-08 12:13:37,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:37,197 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-08 12:13:37,197 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-08 12:13:37,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:37,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:37,198 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:13:37,198 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:13:37,198 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-08 12:13:37,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 138 transitions. [2022-04-08 12:13:37,202 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 138 transitions. Word has length 56 [2022-04-08 12:13:37,202 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:13:37,202 INFO L478 AbstractCegarLoop]: Abstraction has 112 states and 138 transitions. [2022-04-08 12:13:37,203 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 12:13:37,203 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 138 transitions. [2022-04-08 12:13:37,428 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-08 12:13:37,428 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 138 transitions. [2022-04-08 12:13:37,429 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 12:13:37,429 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:13:37,429 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-08 12:13:37,470 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-08 12:13:37,629 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-08 12:13:37,630 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:13:37,630 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:13:37,630 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 1 times [2022-04-08 12:13:37,630 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:37,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1355522548] [2022-04-08 12:13:37,631 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:13:37,631 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 2 times [2022-04-08 12:13:37,631 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:13:37,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1045721041] [2022-04-08 12:13:37,631 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:13:37,631 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:13:37,645 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:13:37,646 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2048252010] [2022-04-08 12:13:37,646 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:13:37,646 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:13:37,646 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:13:37,661 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-08 12:13:37,663 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-08 12:13:37,752 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:13:37,752 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:13:37,753 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 12:13:37,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:37,765 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:13:38,379 INFO L272 TraceCheckUtils]: 0: Hoare triple {4829#true} call ULTIMATE.init(); {4829#true} is VALID [2022-04-08 12:13:38,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {4829#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4829#true} is VALID [2022-04-08 12:13:38,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:38,380 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4829#true} {4829#true} #88#return; {4829#true} is VALID [2022-04-08 12:13:38,380 INFO L272 TraceCheckUtils]: 4: Hoare triple {4829#true} call #t~ret6 := main(); {4829#true} is VALID [2022-04-08 12:13:38,380 INFO L290 TraceCheckUtils]: 5: Hoare triple {4829#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4829#true} is VALID [2022-04-08 12:13:38,380 INFO L272 TraceCheckUtils]: 6: Hoare triple {4829#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:38,380 INFO L290 TraceCheckUtils]: 7: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:38,380 INFO L290 TraceCheckUtils]: 8: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:38,380 INFO L290 TraceCheckUtils]: 9: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:38,380 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4829#true} {4829#true} #66#return; {4829#true} is VALID [2022-04-08 12:13:38,380 INFO L290 TraceCheckUtils]: 11: Hoare triple {4829#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4829#true} is VALID [2022-04-08 12:13:38,380 INFO L272 TraceCheckUtils]: 12: Hoare triple {4829#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:38,380 INFO L290 TraceCheckUtils]: 13: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:38,380 INFO L290 TraceCheckUtils]: 14: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:38,381 INFO L290 TraceCheckUtils]: 15: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:38,381 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4829#true} {4829#true} #68#return; {4829#true} is VALID [2022-04-08 12:13:38,381 INFO L272 TraceCheckUtils]: 17: Hoare triple {4829#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:38,381 INFO L290 TraceCheckUtils]: 18: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:38,381 INFO L290 TraceCheckUtils]: 19: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:38,381 INFO L290 TraceCheckUtils]: 20: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:38,381 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4829#true} {4829#true} #70#return; {4829#true} is VALID [2022-04-08 12:13:38,381 INFO L272 TraceCheckUtils]: 22: Hoare triple {4829#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:38,381 INFO L290 TraceCheckUtils]: 23: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:38,381 INFO L290 TraceCheckUtils]: 24: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:38,381 INFO L290 TraceCheckUtils]: 25: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:38,381 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4829#true} {4829#true} #72#return; {4829#true} is VALID [2022-04-08 12:13:38,382 INFO L290 TraceCheckUtils]: 27: Hoare triple {4829#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:38,382 INFO L290 TraceCheckUtils]: 28: Hoare triple {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:38,382 INFO L272 TraceCheckUtils]: 29: Hoare triple {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:38,382 INFO L290 TraceCheckUtils]: 30: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:38,383 INFO L290 TraceCheckUtils]: 31: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:38,383 INFO L290 TraceCheckUtils]: 32: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:38,384 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4829#true} {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:38,384 INFO L272 TraceCheckUtils]: 34: Hoare triple {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:38,384 INFO L290 TraceCheckUtils]: 35: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:38,384 INFO L290 TraceCheckUtils]: 36: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:38,384 INFO L290 TraceCheckUtils]: 37: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:38,385 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4829#true} {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:38,385 INFO L272 TraceCheckUtils]: 39: Hoare triple {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:38,385 INFO L290 TraceCheckUtils]: 40: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:38,385 INFO L290 TraceCheckUtils]: 41: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:38,385 INFO L290 TraceCheckUtils]: 42: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:38,386 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4829#true} {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:38,386 INFO L290 TraceCheckUtils]: 44: Hoare triple {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:38,387 INFO L290 TraceCheckUtils]: 45: Hoare triple {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 12:13:38,387 INFO L290 TraceCheckUtils]: 46: Hoare triple {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} assume !false; {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 12:13:38,387 INFO L272 TraceCheckUtils]: 47: Hoare triple {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:38,387 INFO L290 TraceCheckUtils]: 48: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:38,387 INFO L290 TraceCheckUtils]: 49: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:38,388 INFO L290 TraceCheckUtils]: 50: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:38,388 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4829#true} {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #74#return; {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 12:13:38,388 INFO L272 TraceCheckUtils]: 52: Hoare triple {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:38,388 INFO L290 TraceCheckUtils]: 53: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:38,389 INFO L290 TraceCheckUtils]: 54: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:38,389 INFO L290 TraceCheckUtils]: 55: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:38,389 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4829#true} {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #76#return; {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 12:13:38,390 INFO L272 TraceCheckUtils]: 57: Hoare triple {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5007#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:13:38,391 INFO L290 TraceCheckUtils]: 58: Hoare triple {5007#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5011#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:38,391 INFO L290 TraceCheckUtils]: 59: Hoare triple {5011#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4830#false} is VALID [2022-04-08 12:13:38,391 INFO L290 TraceCheckUtils]: 60: Hoare triple {4830#false} assume !false; {4830#false} is VALID [2022-04-08 12:13:38,392 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-08 12:13:38,392 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:13:38,762 INFO L290 TraceCheckUtils]: 60: Hoare triple {4830#false} assume !false; {4830#false} is VALID [2022-04-08 12:13:38,763 INFO L290 TraceCheckUtils]: 59: Hoare triple {5011#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4830#false} is VALID [2022-04-08 12:13:38,763 INFO L290 TraceCheckUtils]: 58: Hoare triple {5007#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5011#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:38,764 INFO L272 TraceCheckUtils]: 57: Hoare triple {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5007#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:13:38,765 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4829#true} {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:13:38,765 INFO L290 TraceCheckUtils]: 55: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:38,765 INFO L290 TraceCheckUtils]: 54: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:38,765 INFO L290 TraceCheckUtils]: 53: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:38,766 INFO L272 TraceCheckUtils]: 52: Hoare triple {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:38,766 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4829#true} {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:13:38,766 INFO L290 TraceCheckUtils]: 50: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:38,766 INFO L290 TraceCheckUtils]: 49: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:38,767 INFO L290 TraceCheckUtils]: 48: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:38,767 INFO L272 TraceCheckUtils]: 47: Hoare triple {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:38,767 INFO L290 TraceCheckUtils]: 46: Hoare triple {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:13:39,387 INFO L290 TraceCheckUtils]: 45: Hoare triple {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:13:39,388 INFO L290 TraceCheckUtils]: 44: Hoare triple {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 12:13:39,389 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4829#true} {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #78#return; {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 12:13:39,389 INFO L290 TraceCheckUtils]: 42: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:39,389 INFO L290 TraceCheckUtils]: 41: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:39,390 INFO L290 TraceCheckUtils]: 40: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:39,390 INFO L272 TraceCheckUtils]: 39: Hoare triple {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:39,390 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4829#true} {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #76#return; {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 12:13:39,390 INFO L290 TraceCheckUtils]: 37: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:39,391 INFO L290 TraceCheckUtils]: 36: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:39,391 INFO L290 TraceCheckUtils]: 35: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:39,391 INFO L272 TraceCheckUtils]: 34: Hoare triple {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:39,391 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4829#true} {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #74#return; {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 12:13:39,392 INFO L290 TraceCheckUtils]: 32: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:39,392 INFO L290 TraceCheckUtils]: 31: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:39,392 INFO L290 TraceCheckUtils]: 30: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:39,392 INFO L272 TraceCheckUtils]: 29: Hoare triple {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:39,396 INFO L290 TraceCheckUtils]: 28: Hoare triple {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !false; {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 12:13:39,397 INFO L290 TraceCheckUtils]: 27: Hoare triple {4829#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 12:13:39,397 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4829#true} {4829#true} #72#return; {4829#true} is VALID [2022-04-08 12:13:39,397 INFO L290 TraceCheckUtils]: 25: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:39,398 INFO L290 TraceCheckUtils]: 24: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:39,398 INFO L290 TraceCheckUtils]: 23: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:39,398 INFO L272 TraceCheckUtils]: 22: Hoare triple {4829#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:39,398 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4829#true} {4829#true} #70#return; {4829#true} is VALID [2022-04-08 12:13:39,398 INFO L290 TraceCheckUtils]: 20: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:39,398 INFO L290 TraceCheckUtils]: 19: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:39,398 INFO L290 TraceCheckUtils]: 18: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:39,398 INFO L272 TraceCheckUtils]: 17: Hoare triple {4829#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:39,398 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4829#true} {4829#true} #68#return; {4829#true} is VALID [2022-04-08 12:13:39,398 INFO L290 TraceCheckUtils]: 15: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:39,399 INFO L290 TraceCheckUtils]: 14: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:39,399 INFO L290 TraceCheckUtils]: 13: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:39,399 INFO L272 TraceCheckUtils]: 12: Hoare triple {4829#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:39,400 INFO L290 TraceCheckUtils]: 11: Hoare triple {4829#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4829#true} is VALID [2022-04-08 12:13:39,400 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4829#true} {4829#true} #66#return; {4829#true} is VALID [2022-04-08 12:13:39,400 INFO L290 TraceCheckUtils]: 9: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:39,400 INFO L290 TraceCheckUtils]: 8: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 12:13:39,401 INFO L290 TraceCheckUtils]: 7: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 12:13:39,401 INFO L272 TraceCheckUtils]: 6: Hoare triple {4829#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4829#true} is VALID [2022-04-08 12:13:39,401 INFO L290 TraceCheckUtils]: 5: Hoare triple {4829#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4829#true} is VALID [2022-04-08 12:13:39,401 INFO L272 TraceCheckUtils]: 4: Hoare triple {4829#true} call #t~ret6 := main(); {4829#true} is VALID [2022-04-08 12:13:39,401 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4829#true} {4829#true} #88#return; {4829#true} is VALID [2022-04-08 12:13:39,401 INFO L290 TraceCheckUtils]: 2: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 12:13:39,401 INFO L290 TraceCheckUtils]: 1: Hoare triple {4829#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4829#true} is VALID [2022-04-08 12:13:39,401 INFO L272 TraceCheckUtils]: 0: Hoare triple {4829#true} call ULTIMATE.init(); {4829#true} is VALID [2022-04-08 12:13:39,401 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-08 12:13:39,402 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:13:39,402 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1045721041] [2022-04-08 12:13:39,402 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:13:39,402 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2048252010] [2022-04-08 12:13:39,402 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2048252010] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:13:39,402 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:13:39,402 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-08 12:13:39,402 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:13:39,402 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1355522548] [2022-04-08 12:13:39,402 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1355522548] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:39,402 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:39,403 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:13:39,403 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1668495145] [2022-04-08 12:13:39,403 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:13:39,403 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-08 12:13:39,403 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:13:39,403 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-08 12:13:39,610 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-08 12:13:39,610 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 12:13:39,610 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:39,611 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 12:13:39,611 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-08 12:13:39,611 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-08 12:13:40,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:40,338 INFO L93 Difference]: Finished difference Result 137 states and 178 transitions. [2022-04-08 12:13:40,338 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 12:13:40,339 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-08 12:13:40,339 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:13:40,339 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-08 12:13:40,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 12:13:40,341 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-08 12:13:40,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 12:13:40,347 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-08 12:13:40,571 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-08 12:13:40,574 INFO L225 Difference]: With dead ends: 137 [2022-04-08 12:13:40,574 INFO L226 Difference]: Without dead ends: 131 [2022-04-08 12:13:40,575 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:13:40,575 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 120 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:13:40,575 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.2s Time] [2022-04-08 12:13:40,576 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-08 12:13:40,645 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-08 12:13:40,645 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:13:40,646 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-08 12:13:40,646 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-08 12:13:40,661 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-08 12:13:40,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:40,665 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-08 12:13:40,665 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-08 12:13:40,666 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:40,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:40,667 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-08 12:13:40,667 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-08 12:13:40,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:40,671 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-08 12:13:40,671 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-08 12:13:40,682 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:40,682 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:40,683 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:13:40,683 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:13:40,683 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-08 12:13:40,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 167 transitions. [2022-04-08 12:13:40,687 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 167 transitions. Word has length 61 [2022-04-08 12:13:40,687 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:13:40,687 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 167 transitions. [2022-04-08 12:13:40,687 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-08 12:13:40,688 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 167 transitions. [2022-04-08 12:13:41,069 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-08 12:13:41,069 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-08 12:13:41,070 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 12:13:41,070 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:13:41,070 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-08 12:13:41,098 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-08 12:13:41,271 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-08 12:13:41,271 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:13:41,271 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:13:41,271 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 1 times [2022-04-08 12:13:41,271 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:41,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [488953617] [2022-04-08 12:13:41,272 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:13:41,272 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 2 times [2022-04-08 12:13:41,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:13:41,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [508189036] [2022-04-08 12:13:41,272 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:13:41,272 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:13:41,289 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:13:41,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [426372682] [2022-04-08 12:13:41,289 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:13:41,290 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:13:41,290 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:13:41,312 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-08 12:13:41,364 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-08 12:13:41,389 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:13:41,389 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:13:41,400 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-08 12:13:41,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:41,415 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:13:41,877 INFO L272 TraceCheckUtils]: 0: Hoare triple {6002#true} call ULTIMATE.init(); {6002#true} is VALID [2022-04-08 12:13:41,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {6002#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6002#true} is VALID [2022-04-08 12:13:41,878 INFO L290 TraceCheckUtils]: 2: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:41,878 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6002#true} {6002#true} #88#return; {6002#true} is VALID [2022-04-08 12:13:41,878 INFO L272 TraceCheckUtils]: 4: Hoare triple {6002#true} call #t~ret6 := main(); {6002#true} is VALID [2022-04-08 12:13:41,878 INFO L290 TraceCheckUtils]: 5: Hoare triple {6002#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6002#true} is VALID [2022-04-08 12:13:41,878 INFO L272 TraceCheckUtils]: 6: Hoare triple {6002#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:41,878 INFO L290 TraceCheckUtils]: 7: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:41,878 INFO L290 TraceCheckUtils]: 8: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:41,878 INFO L290 TraceCheckUtils]: 9: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:41,878 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6002#true} {6002#true} #66#return; {6002#true} is VALID [2022-04-08 12:13:41,878 INFO L290 TraceCheckUtils]: 11: Hoare triple {6002#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6002#true} is VALID [2022-04-08 12:13:41,878 INFO L272 TraceCheckUtils]: 12: Hoare triple {6002#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:41,878 INFO L290 TraceCheckUtils]: 13: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:41,879 INFO L290 TraceCheckUtils]: 14: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:41,879 INFO L290 TraceCheckUtils]: 15: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:41,879 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6002#true} {6002#true} #68#return; {6002#true} is VALID [2022-04-08 12:13:41,879 INFO L272 TraceCheckUtils]: 17: Hoare triple {6002#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:41,879 INFO L290 TraceCheckUtils]: 18: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:41,879 INFO L290 TraceCheckUtils]: 19: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:41,879 INFO L290 TraceCheckUtils]: 20: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:41,879 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6002#true} {6002#true} #70#return; {6002#true} is VALID [2022-04-08 12:13:41,879 INFO L272 TraceCheckUtils]: 22: Hoare triple {6002#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:41,879 INFO L290 TraceCheckUtils]: 23: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:41,879 INFO L290 TraceCheckUtils]: 24: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:41,879 INFO L290 TraceCheckUtils]: 25: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:41,880 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6002#true} {6002#true} #72#return; {6002#true} is VALID [2022-04-08 12:13:41,880 INFO L290 TraceCheckUtils]: 27: Hoare triple {6002#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:41,881 INFO L290 TraceCheckUtils]: 28: Hoare triple {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:41,881 INFO L272 TraceCheckUtils]: 29: Hoare triple {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:41,881 INFO L290 TraceCheckUtils]: 30: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:41,881 INFO L290 TraceCheckUtils]: 31: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:41,881 INFO L290 TraceCheckUtils]: 32: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:41,881 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6002#true} {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:41,882 INFO L272 TraceCheckUtils]: 34: Hoare triple {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:41,882 INFO L290 TraceCheckUtils]: 35: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:41,882 INFO L290 TraceCheckUtils]: 36: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:41,882 INFO L290 TraceCheckUtils]: 37: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:41,882 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6002#true} {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:41,882 INFO L272 TraceCheckUtils]: 39: Hoare triple {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:41,883 INFO L290 TraceCheckUtils]: 40: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:41,883 INFO L290 TraceCheckUtils]: 41: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:41,883 INFO L290 TraceCheckUtils]: 42: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:41,883 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6002#true} {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:41,884 INFO L290 TraceCheckUtils]: 44: Hoare triple {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:41,884 INFO L290 TraceCheckUtils]: 45: Hoare triple {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:13:41,885 INFO L290 TraceCheckUtils]: 46: Hoare triple {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !false; {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:13:41,885 INFO L272 TraceCheckUtils]: 47: Hoare triple {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:41,885 INFO L290 TraceCheckUtils]: 48: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:41,885 INFO L290 TraceCheckUtils]: 49: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:41,885 INFO L290 TraceCheckUtils]: 50: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:41,886 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6002#true} {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #74#return; {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:13:41,886 INFO L272 TraceCheckUtils]: 52: Hoare triple {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:41,886 INFO L290 TraceCheckUtils]: 53: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:41,886 INFO L290 TraceCheckUtils]: 54: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:41,886 INFO L290 TraceCheckUtils]: 55: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:41,887 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6002#true} {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #76#return; {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:13:41,887 INFO L272 TraceCheckUtils]: 57: Hoare triple {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:41,887 INFO L290 TraceCheckUtils]: 58: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:41,887 INFO L290 TraceCheckUtils]: 59: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:41,887 INFO L290 TraceCheckUtils]: 60: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:41,888 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6002#true} {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #78#return; {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:13:41,888 INFO L290 TraceCheckUtils]: 62: Hoare triple {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:13:41,889 INFO L290 TraceCheckUtils]: 63: Hoare triple {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6198#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:13:41,889 INFO L290 TraceCheckUtils]: 64: Hoare triple {6198#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {6198#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:13:41,890 INFO L272 TraceCheckUtils]: 65: Hoare triple {6198#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:13:41,890 INFO L290 TraceCheckUtils]: 66: Hoare triple {6205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:41,890 INFO L290 TraceCheckUtils]: 67: Hoare triple {6209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6003#false} is VALID [2022-04-08 12:13:41,891 INFO L290 TraceCheckUtils]: 68: Hoare triple {6003#false} assume !false; {6003#false} is VALID [2022-04-08 12:13:41,891 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-08 12:13:41,891 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:13:42,403 INFO L290 TraceCheckUtils]: 68: Hoare triple {6003#false} assume !false; {6003#false} is VALID [2022-04-08 12:13:42,404 INFO L290 TraceCheckUtils]: 67: Hoare triple {6209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6003#false} is VALID [2022-04-08 12:13:42,404 INFO L290 TraceCheckUtils]: 66: Hoare triple {6205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:42,405 INFO L272 TraceCheckUtils]: 65: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:13:42,405 INFO L290 TraceCheckUtils]: 64: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 12:13:42,408 INFO L290 TraceCheckUtils]: 63: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 12:13:42,409 INFO L290 TraceCheckUtils]: 62: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 12:13:42,409 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 12:13:42,409 INFO L290 TraceCheckUtils]: 60: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:42,410 INFO L290 TraceCheckUtils]: 59: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:42,410 INFO L290 TraceCheckUtils]: 58: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:42,410 INFO L272 TraceCheckUtils]: 57: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:42,410 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 12:13:42,410 INFO L290 TraceCheckUtils]: 55: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:42,410 INFO L290 TraceCheckUtils]: 54: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:42,411 INFO L290 TraceCheckUtils]: 53: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:42,411 INFO L272 TraceCheckUtils]: 52: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:42,411 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 12:13:42,411 INFO L290 TraceCheckUtils]: 50: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:42,411 INFO L290 TraceCheckUtils]: 49: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:42,411 INFO L290 TraceCheckUtils]: 48: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:42,412 INFO L272 TraceCheckUtils]: 47: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:42,412 INFO L290 TraceCheckUtils]: 46: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 12:13:42,415 INFO L290 TraceCheckUtils]: 45: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 12:13:42,415 INFO L290 TraceCheckUtils]: 44: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 12:13:42,416 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 12:13:42,416 INFO L290 TraceCheckUtils]: 42: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:42,416 INFO L290 TraceCheckUtils]: 41: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:42,416 INFO L290 TraceCheckUtils]: 40: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:42,416 INFO L272 TraceCheckUtils]: 39: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:42,417 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 12:13:42,417 INFO L290 TraceCheckUtils]: 37: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:42,417 INFO L290 TraceCheckUtils]: 36: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:42,417 INFO L290 TraceCheckUtils]: 35: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:42,417 INFO L272 TraceCheckUtils]: 34: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:42,418 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 12:13:42,418 INFO L290 TraceCheckUtils]: 32: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:42,418 INFO L290 TraceCheckUtils]: 31: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:42,418 INFO L290 TraceCheckUtils]: 30: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:42,418 INFO L272 TraceCheckUtils]: 29: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:42,418 INFO L290 TraceCheckUtils]: 28: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 12:13:42,419 INFO L290 TraceCheckUtils]: 27: Hoare triple {6002#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 12:13:42,419 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6002#true} {6002#true} #72#return; {6002#true} is VALID [2022-04-08 12:13:42,419 INFO L290 TraceCheckUtils]: 25: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:42,419 INFO L290 TraceCheckUtils]: 24: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:42,419 INFO L290 TraceCheckUtils]: 23: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:42,419 INFO L272 TraceCheckUtils]: 22: Hoare triple {6002#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:42,419 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6002#true} {6002#true} #70#return; {6002#true} is VALID [2022-04-08 12:13:42,419 INFO L290 TraceCheckUtils]: 20: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:42,419 INFO L290 TraceCheckUtils]: 19: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:42,420 INFO L290 TraceCheckUtils]: 18: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:42,420 INFO L272 TraceCheckUtils]: 17: Hoare triple {6002#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:42,420 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6002#true} {6002#true} #68#return; {6002#true} is VALID [2022-04-08 12:13:42,420 INFO L290 TraceCheckUtils]: 15: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:42,420 INFO L290 TraceCheckUtils]: 14: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:42,420 INFO L290 TraceCheckUtils]: 13: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:42,420 INFO L272 TraceCheckUtils]: 12: Hoare triple {6002#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:42,420 INFO L290 TraceCheckUtils]: 11: Hoare triple {6002#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6002#true} is VALID [2022-04-08 12:13:42,420 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6002#true} {6002#true} #66#return; {6002#true} is VALID [2022-04-08 12:13:42,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:42,420 INFO L290 TraceCheckUtils]: 8: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 12:13:42,420 INFO L290 TraceCheckUtils]: 7: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 12:13:42,420 INFO L272 TraceCheckUtils]: 6: Hoare triple {6002#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {6002#true} is VALID [2022-04-08 12:13:42,421 INFO L290 TraceCheckUtils]: 5: Hoare triple {6002#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6002#true} is VALID [2022-04-08 12:13:42,421 INFO L272 TraceCheckUtils]: 4: Hoare triple {6002#true} call #t~ret6 := main(); {6002#true} is VALID [2022-04-08 12:13:42,421 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6002#true} {6002#true} #88#return; {6002#true} is VALID [2022-04-08 12:13:42,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 12:13:42,421 INFO L290 TraceCheckUtils]: 1: Hoare triple {6002#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6002#true} is VALID [2022-04-08 12:13:42,421 INFO L272 TraceCheckUtils]: 0: Hoare triple {6002#true} call ULTIMATE.init(); {6002#true} is VALID [2022-04-08 12:13:42,421 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-08 12:13:42,421 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:13:42,421 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [508189036] [2022-04-08 12:13:42,421 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:13:42,422 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [426372682] [2022-04-08 12:13:42,422 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [426372682] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 12:13:42,422 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:13:42,422 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-08 12:13:42,422 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:13:42,422 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [488953617] [2022-04-08 12:13:42,422 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [488953617] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:13:42,422 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:13:42,422 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:13:42,422 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [542269360] [2022-04-08 12:13:42,422 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:13:42,424 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-08 12:13:42,424 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:13:42,424 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-08 12:13:42,469 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-08 12:13:42,469 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:13:42,469 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:42,470 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:13:42,470 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-08 12:13:42,470 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-08 12:13:42,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:42,768 INFO L93 Difference]: Finished difference Result 137 states and 172 transitions. [2022-04-08 12:13:42,768 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:13:42,768 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-08 12:13:42,768 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:13:42,769 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-08 12:13:42,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-08 12:13:42,770 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-08 12:13:42,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-08 12:13:42,770 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-08 12:13:42,815 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-08 12:13:42,817 INFO L225 Difference]: With dead ends: 137 [2022-04-08 12:13:42,818 INFO L226 Difference]: Without dead ends: 132 [2022-04-08 12:13:42,818 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-08 12:13:42,819 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-08 12:13:42,819 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-08 12:13:42,819 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-08 12:13:42,960 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-08 12:13:42,960 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:13:42,961 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-08 12:13:42,961 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-08 12:13:42,961 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-08 12:13:42,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:42,966 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-08 12:13:42,966 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-08 12:13:42,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:42,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:42,967 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-08 12:13:42,967 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-08 12:13:42,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:13:42,984 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-08 12:13:42,984 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-08 12:13:42,985 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:13:42,985 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:13:42,985 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:13:42,985 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:13:42,985 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-08 12:13:42,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 164 transitions. [2022-04-08 12:13:42,989 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 164 transitions. Word has length 69 [2022-04-08 12:13:42,989 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:13:42,989 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 164 transitions. [2022-04-08 12:13:42,989 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-08 12:13:42,989 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 164 transitions. [2022-04-08 12:13:43,249 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-08 12:13:43,250 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-08 12:13:43,250 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-08 12:13:43,250 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:13:43,250 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-08 12:13:43,286 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-08 12:13:43,451 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-08 12:13:43,451 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:13:43,451 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:13:43,452 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 5 times [2022-04-08 12:13:43,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:13:43,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [43136383] [2022-04-08 12:13:43,452 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:13:43,452 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 6 times [2022-04-08 12:13:43,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:13:43,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1245603461] [2022-04-08 12:13:43,452 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:13:43,453 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:13:43,491 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:13:43,491 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [218054130] [2022-04-08 12:13:43,491 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:13:43,528 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:13:43,528 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:13:43,537 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-08 12:13:43,594 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-08 12:13:43,633 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 12:13:43,633 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:13:43,635 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 12:13:43,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:13:43,662 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:13:44,363 INFO L272 TraceCheckUtils]: 0: Hoare triple {7227#true} call ULTIMATE.init(); {7227#true} is VALID [2022-04-08 12:13:44,363 INFO L290 TraceCheckUtils]: 1: Hoare triple {7227#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {7227#true} is VALID [2022-04-08 12:13:44,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:13:44,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7227#true} {7227#true} #88#return; {7227#true} is VALID [2022-04-08 12:13:44,364 INFO L272 TraceCheckUtils]: 4: Hoare triple {7227#true} call #t~ret6 := main(); {7227#true} is VALID [2022-04-08 12:13:44,364 INFO L290 TraceCheckUtils]: 5: Hoare triple {7227#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7227#true} is VALID [2022-04-08 12:13:44,364 INFO L272 TraceCheckUtils]: 6: Hoare triple {7227#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:13:44,364 INFO L290 TraceCheckUtils]: 7: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:13:44,364 INFO L290 TraceCheckUtils]: 8: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:13:44,364 INFO L290 TraceCheckUtils]: 9: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:13:44,364 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7227#true} {7227#true} #66#return; {7227#true} is VALID [2022-04-08 12:13:44,364 INFO L290 TraceCheckUtils]: 11: Hoare triple {7227#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7227#true} is VALID [2022-04-08 12:13:44,364 INFO L272 TraceCheckUtils]: 12: Hoare triple {7227#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:13:44,364 INFO L290 TraceCheckUtils]: 13: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:13:44,365 INFO L290 TraceCheckUtils]: 14: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:13:44,365 INFO L290 TraceCheckUtils]: 15: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:13:44,365 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7227#true} {7227#true} #68#return; {7227#true} is VALID [2022-04-08 12:13:44,365 INFO L272 TraceCheckUtils]: 17: Hoare triple {7227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:13:44,365 INFO L290 TraceCheckUtils]: 18: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:13:44,365 INFO L290 TraceCheckUtils]: 19: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:13:44,365 INFO L290 TraceCheckUtils]: 20: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:13:44,365 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7227#true} {7227#true} #70#return; {7227#true} is VALID [2022-04-08 12:13:44,365 INFO L272 TraceCheckUtils]: 22: Hoare triple {7227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:13:44,365 INFO L290 TraceCheckUtils]: 23: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:13:44,365 INFO L290 TraceCheckUtils]: 24: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:13:44,365 INFO L290 TraceCheckUtils]: 25: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:13:44,365 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7227#true} {7227#true} #72#return; {7227#true} is VALID [2022-04-08 12:13:44,366 INFO L290 TraceCheckUtils]: 27: Hoare triple {7227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:44,366 INFO L290 TraceCheckUtils]: 28: Hoare triple {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:44,367 INFO L272 TraceCheckUtils]: 29: Hoare triple {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:13:44,367 INFO L290 TraceCheckUtils]: 30: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:13:44,367 INFO L290 TraceCheckUtils]: 31: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:13:44,367 INFO L290 TraceCheckUtils]: 32: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:13:44,368 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7227#true} {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:44,368 INFO L272 TraceCheckUtils]: 34: Hoare triple {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:13:44,368 INFO L290 TraceCheckUtils]: 35: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:13:44,368 INFO L290 TraceCheckUtils]: 36: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:13:44,368 INFO L290 TraceCheckUtils]: 37: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:13:44,369 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7227#true} {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:44,369 INFO L272 TraceCheckUtils]: 39: Hoare triple {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:13:44,369 INFO L290 TraceCheckUtils]: 40: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:13:44,369 INFO L290 TraceCheckUtils]: 41: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:13:44,369 INFO L290 TraceCheckUtils]: 42: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:13:44,370 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7227#true} {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:44,371 INFO L290 TraceCheckUtils]: 44: Hoare triple {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:44,371 INFO L290 TraceCheckUtils]: 45: Hoare triple {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:13:44,372 INFO L290 TraceCheckUtils]: 46: Hoare triple {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:13:44,372 INFO L272 TraceCheckUtils]: 47: Hoare triple {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:13:44,372 INFO L290 TraceCheckUtils]: 48: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:13:44,372 INFO L290 TraceCheckUtils]: 49: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:13:44,372 INFO L290 TraceCheckUtils]: 50: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:13:44,373 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7227#true} {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #74#return; {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:13:44,373 INFO L272 TraceCheckUtils]: 52: Hoare triple {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:13:44,374 INFO L290 TraceCheckUtils]: 53: Hoare triple {7227#true} ~cond := #in~cond; {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:44,374 INFO L290 TraceCheckUtils]: 54: Hoare triple {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:13:44,374 INFO L290 TraceCheckUtils]: 55: Hoare triple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:13:44,375 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #76#return; {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:13:44,375 INFO L272 TraceCheckUtils]: 57: Hoare triple {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:13:44,375 INFO L290 TraceCheckUtils]: 58: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:13:44,375 INFO L290 TraceCheckUtils]: 59: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:13:44,376 INFO L290 TraceCheckUtils]: 60: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:13:44,376 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7227#true} {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #78#return; {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:13:44,377 INFO L290 TraceCheckUtils]: 62: Hoare triple {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:13:44,378 INFO L290 TraceCheckUtils]: 63: Hoare triple {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7425#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 12:13:44,378 INFO L290 TraceCheckUtils]: 64: Hoare triple {7425#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !false; {7425#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 12:13:44,378 INFO L272 TraceCheckUtils]: 65: Hoare triple {7425#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:13:44,379 INFO L290 TraceCheckUtils]: 66: Hoare triple {7227#true} ~cond := #in~cond; {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:44,379 INFO L290 TraceCheckUtils]: 67: Hoare triple {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:13:44,379 INFO L290 TraceCheckUtils]: 68: Hoare triple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:13:44,380 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} {7425#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #74#return; {7444#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:13:44,381 INFO L272 TraceCheckUtils]: 70: Hoare triple {7444#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7448#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:13:44,381 INFO L290 TraceCheckUtils]: 71: Hoare triple {7448#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7452#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:13:44,382 INFO L290 TraceCheckUtils]: 72: Hoare triple {7452#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7228#false} is VALID [2022-04-08 12:13:44,382 INFO L290 TraceCheckUtils]: 73: Hoare triple {7228#false} assume !false; {7228#false} is VALID [2022-04-08 12:13:44,382 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-08 12:13:44,382 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:16:09,275 INFO L290 TraceCheckUtils]: 73: Hoare triple {7228#false} assume !false; {7228#false} is VALID [2022-04-08 12:16:09,276 INFO L290 TraceCheckUtils]: 72: Hoare triple {7452#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7228#false} is VALID [2022-04-08 12:16:09,276 INFO L290 TraceCheckUtils]: 71: Hoare triple {7448#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7452#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:16:09,277 INFO L272 TraceCheckUtils]: 70: Hoare triple {7468#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7448#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:16:09,278 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} {7472#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #74#return; {7468#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:16:09,278 INFO L290 TraceCheckUtils]: 68: Hoare triple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:16:09,278 INFO L290 TraceCheckUtils]: 67: Hoare triple {7482#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:16:09,291 INFO L290 TraceCheckUtils]: 66: Hoare triple {7227#true} ~cond := #in~cond; {7482#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:16:09,292 INFO L272 TraceCheckUtils]: 65: Hoare triple {7472#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:16:09,307 INFO L290 TraceCheckUtils]: 64: Hoare triple {7472#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {7472#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:16:09,960 INFO L290 TraceCheckUtils]: 63: Hoare triple {7492#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7472#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 12:16:09,961 INFO L290 TraceCheckUtils]: 62: Hoare triple {7492#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} assume !!(~a~0 != ~b~0); {7492#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-08 12:16:09,962 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7227#true} {7492#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} #78#return; {7492#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-08 12:16:09,962 INFO L290 TraceCheckUtils]: 60: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:16:09,962 INFO L290 TraceCheckUtils]: 59: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:16:09,962 INFO L290 TraceCheckUtils]: 58: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:16:09,962 INFO L272 TraceCheckUtils]: 57: Hoare triple {7492#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:16:09,963 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} {7514#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} #76#return; {7492#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-08 12:16:09,964 INFO L290 TraceCheckUtils]: 55: Hoare triple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:16:09,964 INFO L290 TraceCheckUtils]: 54: Hoare triple {7482#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:16:09,964 INFO L290 TraceCheckUtils]: 53: Hoare triple {7227#true} ~cond := #in~cond; {7482#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:16:09,964 INFO L272 TraceCheckUtils]: 52: Hoare triple {7514#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:16:09,965 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7227#true} {7514#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} #74#return; {7514#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-08 12:16:09,965 INFO L290 TraceCheckUtils]: 50: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:16:09,965 INFO L290 TraceCheckUtils]: 49: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:16:09,965 INFO L290 TraceCheckUtils]: 48: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:16:09,966 INFO L272 TraceCheckUtils]: 47: Hoare triple {7514#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:16:09,987 INFO L290 TraceCheckUtils]: 46: Hoare triple {7514#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} assume !false; {7514#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-08 12:16:11,997 WARN L290 TraceCheckUtils]: 45: Hoare triple {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7514#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is UNKNOWN [2022-04-08 12:16:11,999 INFO L290 TraceCheckUtils]: 44: Hoare triple {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(~a~0 != ~b~0); {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 12:16:12,000 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7227#true} {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #78#return; {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 12:16:12,000 INFO L290 TraceCheckUtils]: 42: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:16:12,000 INFO L290 TraceCheckUtils]: 41: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:16:12,000 INFO L290 TraceCheckUtils]: 40: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:16:12,000 INFO L272 TraceCheckUtils]: 39: Hoare triple {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:16:12,001 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7227#true} {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #76#return; {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 12:16:12,001 INFO L290 TraceCheckUtils]: 37: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:16:12,001 INFO L290 TraceCheckUtils]: 36: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:16:12,001 INFO L290 TraceCheckUtils]: 35: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:16:12,001 INFO L272 TraceCheckUtils]: 34: Hoare triple {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:16:12,002 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7227#true} {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #74#return; {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 12:16:12,002 INFO L290 TraceCheckUtils]: 32: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:16:12,002 INFO L290 TraceCheckUtils]: 31: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:16:12,002 INFO L290 TraceCheckUtils]: 30: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:16:12,002 INFO L272 TraceCheckUtils]: 29: Hoare triple {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:16:12,003 INFO L290 TraceCheckUtils]: 28: Hoare triple {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !false; {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 12:16:12,004 INFO L290 TraceCheckUtils]: 27: Hoare triple {7227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7548#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-08 12:16:12,004 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7227#true} {7227#true} #72#return; {7227#true} is VALID [2022-04-08 12:16:12,004 INFO L290 TraceCheckUtils]: 25: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:16:12,004 INFO L290 TraceCheckUtils]: 24: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:16:12,004 INFO L290 TraceCheckUtils]: 23: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:16:12,004 INFO L272 TraceCheckUtils]: 22: Hoare triple {7227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:16:12,004 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7227#true} {7227#true} #70#return; {7227#true} is VALID [2022-04-08 12:16:12,004 INFO L290 TraceCheckUtils]: 20: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:16:12,004 INFO L290 TraceCheckUtils]: 19: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:16:12,004 INFO L290 TraceCheckUtils]: 18: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:16:12,004 INFO L272 TraceCheckUtils]: 17: Hoare triple {7227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:16:12,004 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7227#true} {7227#true} #68#return; {7227#true} is VALID [2022-04-08 12:16:12,004 INFO L290 TraceCheckUtils]: 15: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:16:12,005 INFO L290 TraceCheckUtils]: 14: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:16:12,005 INFO L290 TraceCheckUtils]: 13: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:16:12,005 INFO L272 TraceCheckUtils]: 12: Hoare triple {7227#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:16:12,005 INFO L290 TraceCheckUtils]: 11: Hoare triple {7227#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7227#true} is VALID [2022-04-08 12:16:12,005 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7227#true} {7227#true} #66#return; {7227#true} is VALID [2022-04-08 12:16:12,005 INFO L290 TraceCheckUtils]: 9: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:16:12,005 INFO L290 TraceCheckUtils]: 8: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 12:16:12,005 INFO L290 TraceCheckUtils]: 7: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 12:16:12,005 INFO L272 TraceCheckUtils]: 6: Hoare triple {7227#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {7227#true} is VALID [2022-04-08 12:16:12,005 INFO L290 TraceCheckUtils]: 5: Hoare triple {7227#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7227#true} is VALID [2022-04-08 12:16:12,005 INFO L272 TraceCheckUtils]: 4: Hoare triple {7227#true} call #t~ret6 := main(); {7227#true} is VALID [2022-04-08 12:16:12,005 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7227#true} {7227#true} #88#return; {7227#true} is VALID [2022-04-08 12:16:12,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 12:16:12,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {7227#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {7227#true} is VALID [2022-04-08 12:16:12,006 INFO L272 TraceCheckUtils]: 0: Hoare triple {7227#true} call ULTIMATE.init(); {7227#true} is VALID [2022-04-08 12:16:12,006 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-08 12:16:12,006 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:16:12,006 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1245603461] [2022-04-08 12:16:12,006 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:16:12,006 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [218054130] [2022-04-08 12:16:12,006 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [218054130] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:16:12,006 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:16:12,007 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 16 [2022-04-08 12:16:12,007 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:16:12,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [43136383] [2022-04-08 12:16:12,007 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [43136383] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:16:12,007 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:16:12,007 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 12:16:12,007 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1952273078] [2022-04-08 12:16:12,007 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:16:12,008 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-08 12:16:12,008 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:16:12,008 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-08 12:16:12,109 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-08 12:16:12,109 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 12:16:12,109 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:16:12,110 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 12:16:12,110 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-08 12:16:12,110 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-08 12:16:13,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:16:13,533 INFO L93 Difference]: Finished difference Result 166 states and 206 transitions. [2022-04-08 12:16:13,533 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 12:16:13,534 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-08 12:16:13,534 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:16:13,534 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-08 12:16:13,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2022-04-08 12:16:13,536 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-08 12:16:13,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2022-04-08 12:16:13,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 95 transitions. [2022-04-08 12:16:13,684 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-08 12:16:13,687 INFO L225 Difference]: With dead ends: 166 [2022-04-08 12:16:13,687 INFO L226 Difference]: Without dead ends: 164 [2022-04-08 12:16:13,688 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 131 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2022-04-08 12:16:13,688 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 18 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 385 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 403 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 385 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 12:16:13,688 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 184 Invalid, 403 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 385 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 12:16:13,689 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-08 12:16:13,798 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 150. [2022-04-08 12:16:13,798 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:16:13,799 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-08 12:16:13,800 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-08 12:16:13,800 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-08 12:16:13,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:16:13,804 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-08 12:16:13,804 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-08 12:16:13,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:16:13,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:16:13,805 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-08 12:16:13,805 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-08 12:16:13,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:16:13,809 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-08 12:16:13,809 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-08 12:16:13,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:16:13,809 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:16:13,809 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:16:13,809 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:16:13,810 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-08 12:16:13,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 183 transitions. [2022-04-08 12:16:13,832 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 183 transitions. Word has length 74 [2022-04-08 12:16:13,833 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:16:13,833 INFO L478 AbstractCegarLoop]: Abstraction has 150 states and 183 transitions. [2022-04-08 12:16:13,833 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-08 12:16:13,833 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 150 states and 183 transitions. [2022-04-08 12:16:14,101 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-08 12:16:14,101 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 183 transitions. [2022-04-08 12:16:14,102 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-08 12:16:14,102 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:16:14,102 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-08 12:16:14,130 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-08 12:16:14,303 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-08 12:16:14,303 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:16:14,303 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:16:14,303 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 3 times [2022-04-08 12:16:14,304 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:16:14,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [677510539] [2022-04-08 12:16:14,304 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:16:14,304 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 4 times [2022-04-08 12:16:14,304 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:16:14,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [241235861] [2022-04-08 12:16:14,304 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:16:14,304 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:16:14,340 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:16:14,341 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [433546177] [2022-04-08 12:16:14,341 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:16:14,341 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:16:14,341 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:16:14,352 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-08 12:16:14,360 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-08 12:16:14,452 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:16:14,452 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:16:14,454 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 12:16:14,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:16:14,473 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:16:48,441 INFO L272 TraceCheckUtils]: 0: Hoare triple {8650#true} call ULTIMATE.init(); {8650#true} is VALID [2022-04-08 12:16:48,441 INFO L290 TraceCheckUtils]: 1: Hoare triple {8650#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {8650#true} is VALID [2022-04-08 12:16:48,441 INFO L290 TraceCheckUtils]: 2: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 12:16:48,441 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8650#true} {8650#true} #88#return; {8650#true} is VALID [2022-04-08 12:16:48,441 INFO L272 TraceCheckUtils]: 4: Hoare triple {8650#true} call #t~ret6 := main(); {8650#true} is VALID [2022-04-08 12:16:48,442 INFO L290 TraceCheckUtils]: 5: Hoare triple {8650#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8650#true} is VALID [2022-04-08 12:16:48,442 INFO L272 TraceCheckUtils]: 6: Hoare triple {8650#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {8650#true} is VALID [2022-04-08 12:16:48,442 INFO L290 TraceCheckUtils]: 7: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 12:16:48,442 INFO L290 TraceCheckUtils]: 8: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 12:16:48,442 INFO L290 TraceCheckUtils]: 9: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 12:16:48,442 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8650#true} {8650#true} #66#return; {8650#true} is VALID [2022-04-08 12:16:48,442 INFO L290 TraceCheckUtils]: 11: Hoare triple {8650#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8650#true} is VALID [2022-04-08 12:16:48,442 INFO L272 TraceCheckUtils]: 12: Hoare triple {8650#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {8650#true} is VALID [2022-04-08 12:16:48,442 INFO L290 TraceCheckUtils]: 13: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 12:16:48,442 INFO L290 TraceCheckUtils]: 14: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 12:16:48,442 INFO L290 TraceCheckUtils]: 15: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 12:16:48,442 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8650#true} {8650#true} #68#return; {8650#true} is VALID [2022-04-08 12:16:48,443 INFO L272 TraceCheckUtils]: 17: Hoare triple {8650#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8650#true} is VALID [2022-04-08 12:16:48,443 INFO L290 TraceCheckUtils]: 18: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 12:16:48,443 INFO L290 TraceCheckUtils]: 19: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 12:16:48,443 INFO L290 TraceCheckUtils]: 20: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 12:16:48,443 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8650#true} {8650#true} #70#return; {8650#true} is VALID [2022-04-08 12:16:48,443 INFO L272 TraceCheckUtils]: 22: Hoare triple {8650#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8650#true} is VALID [2022-04-08 12:16:48,443 INFO L290 TraceCheckUtils]: 23: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 12:16:48,443 INFO L290 TraceCheckUtils]: 24: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 12:16:48,443 INFO L290 TraceCheckUtils]: 25: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 12:16:48,443 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8650#true} {8650#true} #72#return; {8650#true} is VALID [2022-04-08 12:16:48,446 INFO L290 TraceCheckUtils]: 27: Hoare triple {8650#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:16:48,447 INFO L290 TraceCheckUtils]: 28: Hoare triple {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:16:48,447 INFO L272 TraceCheckUtils]: 29: Hoare triple {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8650#true} is VALID [2022-04-08 12:16:48,447 INFO L290 TraceCheckUtils]: 30: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 12:16:48,447 INFO L290 TraceCheckUtils]: 31: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 12:16:48,447 INFO L290 TraceCheckUtils]: 32: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 12:16:48,448 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8650#true} {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:16:48,448 INFO L272 TraceCheckUtils]: 34: Hoare triple {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8650#true} is VALID [2022-04-08 12:16:48,448 INFO L290 TraceCheckUtils]: 35: Hoare triple {8650#true} ~cond := #in~cond; {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:16:48,451 INFO L290 TraceCheckUtils]: 36: Hoare triple {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:16:48,452 INFO L290 TraceCheckUtils]: 37: Hoare triple {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:16:48,454 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:16:48,455 INFO L272 TraceCheckUtils]: 39: Hoare triple {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8650#true} is VALID [2022-04-08 12:16:48,455 INFO L290 TraceCheckUtils]: 40: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 12:16:48,455 INFO L290 TraceCheckUtils]: 41: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 12:16:48,455 INFO L290 TraceCheckUtils]: 42: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 12:16:48,456 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8650#true} {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:16:48,457 INFO L290 TraceCheckUtils]: 44: Hoare triple {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8790#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:16:48,458 INFO L290 TraceCheckUtils]: 45: Hoare triple {8790#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 12:16:48,458 INFO L290 TraceCheckUtils]: 46: Hoare triple {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 12:16:48,458 INFO L272 TraceCheckUtils]: 47: Hoare triple {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8650#true} is VALID [2022-04-08 12:16:48,458 INFO L290 TraceCheckUtils]: 48: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 12:16:48,458 INFO L290 TraceCheckUtils]: 49: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 12:16:48,458 INFO L290 TraceCheckUtils]: 50: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 12:16:48,459 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8650#true} {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #74#return; {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 12:16:48,459 INFO L272 TraceCheckUtils]: 52: Hoare triple {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8650#true} is VALID [2022-04-08 12:16:48,459 INFO L290 TraceCheckUtils]: 53: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 12:16:48,460 INFO L290 TraceCheckUtils]: 54: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 12:16:48,460 INFO L290 TraceCheckUtils]: 55: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 12:16:48,461 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8650#true} {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #76#return; {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 12:16:48,461 INFO L272 TraceCheckUtils]: 57: Hoare triple {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8650#true} is VALID [2022-04-08 12:16:48,461 INFO L290 TraceCheckUtils]: 58: Hoare triple {8650#true} ~cond := #in~cond; {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:16:48,462 INFO L290 TraceCheckUtils]: 59: Hoare triple {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:16:48,462 INFO L290 TraceCheckUtils]: 60: Hoare triple {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:16:48,463 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #78#return; {8843#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 12:16:48,464 INFO L290 TraceCheckUtils]: 62: Hoare triple {8843#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8843#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-08 12:16:48,465 INFO L290 TraceCheckUtils]: 63: Hoare triple {8843#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 12:16:48,466 INFO L290 TraceCheckUtils]: 64: Hoare triple {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} assume !false; {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 12:16:48,466 INFO L272 TraceCheckUtils]: 65: Hoare triple {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8650#true} is VALID [2022-04-08 12:16:48,475 INFO L290 TraceCheckUtils]: 66: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 12:16:48,475 INFO L290 TraceCheckUtils]: 67: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 12:16:48,475 INFO L290 TraceCheckUtils]: 68: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 12:16:48,477 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8650#true} {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} #74#return; {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 12:16:48,478 INFO L272 TraceCheckUtils]: 70: Hoare triple {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8872#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:16:48,478 INFO L290 TraceCheckUtils]: 71: Hoare triple {8872#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8876#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:16:48,479 INFO L290 TraceCheckUtils]: 72: Hoare triple {8876#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8651#false} is VALID [2022-04-08 12:16:48,479 INFO L290 TraceCheckUtils]: 73: Hoare triple {8651#false} assume !false; {8651#false} is VALID [2022-04-08 12:16:48,479 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 27 proven. 29 refuted. 0 times theorem prover too weak. 78 trivial. 0 not checked. [2022-04-08 12:16:48,479 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:17:20,596 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:18:28,642 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:18:28,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [241235861] [2022-04-08 12:18:28,642 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:18:28,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [433546177] [2022-04-08 12:18:28,642 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [433546177] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 12:18:28,642 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:18:28,642 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-08 12:18:28,643 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:18:28,643 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [677510539] [2022-04-08 12:18:28,643 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [677510539] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:18:28,643 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:18:28,643 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 12:18:28,643 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2051043129] [2022-04-08 12:18:28,643 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:18:28,643 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-08 12:18:28,644 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:18:28,644 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 12:18:28,695 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-08 12:18:28,695 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 12:18:28,695 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:18:28,695 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 12:18:28,696 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=209, Unknown=0, NotChecked=0, Total=272 [2022-04-08 12:18:28,696 INFO L87 Difference]: Start difference. First operand 150 states and 183 transitions. Second operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 12:18:35,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:35,893 INFO L93 Difference]: Finished difference Result 184 states and 225 transitions. [2022-04-08 12:18:35,893 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 12:18:35,893 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-08 12:18:35,893 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:18:35,893 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 12:18:35,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 85 transitions. [2022-04-08 12:18:35,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 12:18:35,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 85 transitions. [2022-04-08 12:18:35,897 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 85 transitions. [2022-04-08 12:18:36,015 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-08 12:18:36,019 INFO L225 Difference]: With dead ends: 184 [2022-04-08 12:18:36,019 INFO L226 Difference]: Without dead ends: 182 [2022-04-08 12:18:36,020 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 88 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=76, Invalid=266, Unknown=0, NotChecked=0, Total=342 [2022-04-08 12:18:36,020 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 14 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 420 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 220 SdHoareTripleChecker+Invalid, 426 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 420 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:18:36,021 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 220 Invalid, 426 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 420 Invalid, 0 Unknown, 0 Unchecked, 4.0s Time] [2022-04-08 12:18:36,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-08 12:18:36,157 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 168. [2022-04-08 12:18:36,157 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:18:36,158 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 12:18:36,158 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 12:18:36,159 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 12:18:36,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:36,166 INFO L93 Difference]: Finished difference Result 182 states and 223 transitions. [2022-04-08 12:18:36,167 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 223 transitions. [2022-04-08 12:18:36,167 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:18:36,167 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:18:36,168 INFO L74 IsIncluded]: Start isIncluded. First operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) Second operand 182 states. [2022-04-08 12:18:36,168 INFO L87 Difference]: Start difference. First operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) Second operand 182 states. [2022-04-08 12:18:36,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:36,174 INFO L93 Difference]: Finished difference Result 182 states and 223 transitions. [2022-04-08 12:18:36,174 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 223 transitions. [2022-04-08 12:18:36,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:18:36,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:18:36,175 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:18:36,175 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:18:36,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 12:18:36,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 168 states to 168 states and 202 transitions. [2022-04-08 12:18:36,180 INFO L78 Accepts]: Start accepts. Automaton has 168 states and 202 transitions. Word has length 74 [2022-04-08 12:18:36,180 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:18:36,180 INFO L478 AbstractCegarLoop]: Abstraction has 168 states and 202 transitions. [2022-04-08 12:18:36,180 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 12:18:36,180 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 168 states and 202 transitions. [2022-04-08 12:18:36,549 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 202 edges. 202 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:18:36,549 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 202 transitions. [2022-04-08 12:18:36,550 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 12:18:36,550 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:18:36,550 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-08 12:18:36,567 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-08 12:18:36,755 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-08 12:18:36,756 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:18:36,756 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:18:36,756 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 5 times [2022-04-08 12:18:36,756 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:18:36,756 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [112432238] [2022-04-08 12:18:36,756 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:18:36,756 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 6 times [2022-04-08 12:18:36,756 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:18:36,757 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1199761741] [2022-04-08 12:18:36,757 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:18:36,757 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:18:36,771 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:18:36,772 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1168512813] [2022-04-08 12:18:36,772 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:18:36,772 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:18:36,772 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:18:36,774 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-08 12:18:36,774 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-08 12:18:36,832 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 12:18:36,833 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:18:36,834 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 12:18:36,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:18:36,852 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:18:37,193 INFO L272 TraceCheckUtils]: 0: Hoare triple {10053#true} call ULTIMATE.init(); {10053#true} is VALID [2022-04-08 12:18:37,193 INFO L290 TraceCheckUtils]: 1: Hoare triple {10053#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {10053#true} is VALID [2022-04-08 12:18:37,193 INFO L290 TraceCheckUtils]: 2: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:37,193 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10053#true} {10053#true} #88#return; {10053#true} is VALID [2022-04-08 12:18:37,193 INFO L272 TraceCheckUtils]: 4: Hoare triple {10053#true} call #t~ret6 := main(); {10053#true} is VALID [2022-04-08 12:18:37,193 INFO L290 TraceCheckUtils]: 5: Hoare triple {10053#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10053#true} is VALID [2022-04-08 12:18:37,193 INFO L272 TraceCheckUtils]: 6: Hoare triple {10053#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:37,193 INFO L290 TraceCheckUtils]: 7: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:37,193 INFO L290 TraceCheckUtils]: 8: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:37,193 INFO L290 TraceCheckUtils]: 9: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:37,193 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10053#true} {10053#true} #66#return; {10053#true} is VALID [2022-04-08 12:18:37,193 INFO L290 TraceCheckUtils]: 11: Hoare triple {10053#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10053#true} is VALID [2022-04-08 12:18:37,193 INFO L272 TraceCheckUtils]: 12: Hoare triple {10053#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:37,194 INFO L290 TraceCheckUtils]: 13: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:37,194 INFO L290 TraceCheckUtils]: 14: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:37,194 INFO L290 TraceCheckUtils]: 15: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:37,194 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10053#true} {10053#true} #68#return; {10053#true} is VALID [2022-04-08 12:18:37,194 INFO L272 TraceCheckUtils]: 17: Hoare triple {10053#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:37,194 INFO L290 TraceCheckUtils]: 18: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:37,194 INFO L290 TraceCheckUtils]: 19: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:37,194 INFO L290 TraceCheckUtils]: 20: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:37,194 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10053#true} {10053#true} #70#return; {10053#true} is VALID [2022-04-08 12:18:37,194 INFO L272 TraceCheckUtils]: 22: Hoare triple {10053#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:37,194 INFO L290 TraceCheckUtils]: 23: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:37,194 INFO L290 TraceCheckUtils]: 24: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:37,194 INFO L290 TraceCheckUtils]: 25: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:37,194 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10053#true} {10053#true} #72#return; {10053#true} is VALID [2022-04-08 12:18:37,195 INFO L290 TraceCheckUtils]: 27: Hoare triple {10053#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:18:37,195 INFO L290 TraceCheckUtils]: 28: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:18:37,195 INFO L272 TraceCheckUtils]: 29: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:37,195 INFO L290 TraceCheckUtils]: 30: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:37,195 INFO L290 TraceCheckUtils]: 31: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:37,195 INFO L290 TraceCheckUtils]: 32: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:37,196 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10053#true} {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:18:37,196 INFO L272 TraceCheckUtils]: 34: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:37,196 INFO L290 TraceCheckUtils]: 35: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:37,196 INFO L290 TraceCheckUtils]: 36: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:37,196 INFO L290 TraceCheckUtils]: 37: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:37,199 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10053#true} {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:18:37,199 INFO L272 TraceCheckUtils]: 39: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:37,199 INFO L290 TraceCheckUtils]: 40: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:37,199 INFO L290 TraceCheckUtils]: 41: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:37,199 INFO L290 TraceCheckUtils]: 42: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:37,200 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {10053#true} {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #78#return; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:18:37,200 INFO L290 TraceCheckUtils]: 44: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:18:37,201 INFO L290 TraceCheckUtils]: 45: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:18:37,201 INFO L290 TraceCheckUtils]: 46: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:18:37,201 INFO L272 TraceCheckUtils]: 47: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:37,201 INFO L290 TraceCheckUtils]: 48: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:37,201 INFO L290 TraceCheckUtils]: 49: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:37,202 INFO L290 TraceCheckUtils]: 50: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:37,203 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10053#true} {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:18:37,203 INFO L272 TraceCheckUtils]: 52: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:37,203 INFO L290 TraceCheckUtils]: 53: Hoare triple {10053#true} ~cond := #in~cond; {10218#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:18:37,203 INFO L290 TraceCheckUtils]: 54: Hoare triple {10218#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:18:37,204 INFO L290 TraceCheckUtils]: 55: Hoare triple {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:18:37,205 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:18:37,205 INFO L272 TraceCheckUtils]: 57: Hoare triple {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:37,205 INFO L290 TraceCheckUtils]: 58: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:37,205 INFO L290 TraceCheckUtils]: 59: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:37,205 INFO L290 TraceCheckUtils]: 60: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:37,207 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10053#true} {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #78#return; {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:18:37,208 INFO L290 TraceCheckUtils]: 62: Hoare triple {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:18:37,212 INFO L290 TraceCheckUtils]: 63: Hoare triple {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:37,213 INFO L290 TraceCheckUtils]: 64: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:37,213 INFO L272 TraceCheckUtils]: 65: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:37,213 INFO L290 TraceCheckUtils]: 66: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:37,213 INFO L290 TraceCheckUtils]: 67: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:37,213 INFO L290 TraceCheckUtils]: 68: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:37,214 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:37,214 INFO L272 TraceCheckUtils]: 70: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:37,214 INFO L290 TraceCheckUtils]: 71: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:37,214 INFO L290 TraceCheckUtils]: 72: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:37,214 INFO L290 TraceCheckUtils]: 73: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:37,215 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:37,215 INFO L272 TraceCheckUtils]: 75: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10288#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:18:37,215 INFO L290 TraceCheckUtils]: 76: Hoare triple {10288#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10292#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:18:37,216 INFO L290 TraceCheckUtils]: 77: Hoare triple {10292#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10054#false} is VALID [2022-04-08 12:18:37,216 INFO L290 TraceCheckUtils]: 78: Hoare triple {10054#false} assume !false; {10054#false} is VALID [2022-04-08 12:18:37,216 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-08 12:18:37,216 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:18:48,431 INFO L290 TraceCheckUtils]: 78: Hoare triple {10054#false} assume !false; {10054#false} is VALID [2022-04-08 12:18:48,431 INFO L290 TraceCheckUtils]: 77: Hoare triple {10292#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10054#false} is VALID [2022-04-08 12:18:48,432 INFO L290 TraceCheckUtils]: 76: Hoare triple {10288#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10292#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:18:48,432 INFO L272 TraceCheckUtils]: 75: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10288#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:18:48,433 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:48,433 INFO L290 TraceCheckUtils]: 73: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:48,433 INFO L290 TraceCheckUtils]: 72: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:48,433 INFO L290 TraceCheckUtils]: 71: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:48,434 INFO L272 TraceCheckUtils]: 70: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:48,434 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:48,434 INFO L290 TraceCheckUtils]: 68: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:48,434 INFO L290 TraceCheckUtils]: 67: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:48,434 INFO L290 TraceCheckUtils]: 66: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:48,435 INFO L272 TraceCheckUtils]: 65: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:48,435 INFO L290 TraceCheckUtils]: 64: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:48,682 INFO L290 TraceCheckUtils]: 63: Hoare triple {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:48,682 INFO L290 TraceCheckUtils]: 62: Hoare triple {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} assume !!(~a~0 != ~b~0); {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} is VALID [2022-04-08 12:18:48,683 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10053#true} {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} #78#return; {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} is VALID [2022-04-08 12:18:48,683 INFO L290 TraceCheckUtils]: 60: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:48,683 INFO L290 TraceCheckUtils]: 59: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:48,684 INFO L290 TraceCheckUtils]: 58: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:48,684 INFO L272 TraceCheckUtils]: 57: Hoare triple {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:48,685 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} is VALID [2022-04-08 12:18:48,685 INFO L290 TraceCheckUtils]: 55: Hoare triple {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:18:48,686 INFO L290 TraceCheckUtils]: 54: Hoare triple {10375#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:18:48,686 INFO L290 TraceCheckUtils]: 53: Hoare triple {10053#true} ~cond := #in~cond; {10375#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:18:48,686 INFO L272 TraceCheckUtils]: 52: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:48,687 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:48,687 INFO L290 TraceCheckUtils]: 50: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:48,687 INFO L290 TraceCheckUtils]: 49: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:48,687 INFO L290 TraceCheckUtils]: 48: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:48,687 INFO L272 TraceCheckUtils]: 47: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:48,688 INFO L290 TraceCheckUtils]: 46: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:48,688 INFO L290 TraceCheckUtils]: 45: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:48,689 INFO L290 TraceCheckUtils]: 44: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !!(~a~0 != ~b~0); {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:48,690 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #78#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:48,690 INFO L290 TraceCheckUtils]: 42: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:48,690 INFO L290 TraceCheckUtils]: 41: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:48,690 INFO L290 TraceCheckUtils]: 40: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:48,690 INFO L272 TraceCheckUtils]: 39: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:48,691 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:48,691 INFO L290 TraceCheckUtils]: 37: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:48,691 INFO L290 TraceCheckUtils]: 36: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:48,691 INFO L290 TraceCheckUtils]: 35: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:48,691 INFO L272 TraceCheckUtils]: 34: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:48,692 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:48,692 INFO L290 TraceCheckUtils]: 32: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:48,692 INFO L290 TraceCheckUtils]: 31: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:48,692 INFO L290 TraceCheckUtils]: 30: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:48,692 INFO L272 TraceCheckUtils]: 29: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:48,693 INFO L290 TraceCheckUtils]: 28: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:48,693 INFO L290 TraceCheckUtils]: 27: Hoare triple {10053#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-08 12:18:48,693 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10053#true} {10053#true} #72#return; {10053#true} is VALID [2022-04-08 12:18:48,693 INFO L290 TraceCheckUtils]: 25: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:48,693 INFO L290 TraceCheckUtils]: 24: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:48,693 INFO L290 TraceCheckUtils]: 23: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:48,693 INFO L272 TraceCheckUtils]: 22: Hoare triple {10053#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:48,693 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10053#true} {10053#true} #70#return; {10053#true} is VALID [2022-04-08 12:18:48,694 INFO L290 TraceCheckUtils]: 20: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:48,694 INFO L290 TraceCheckUtils]: 19: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:48,694 INFO L290 TraceCheckUtils]: 18: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:48,694 INFO L272 TraceCheckUtils]: 17: Hoare triple {10053#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:48,694 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10053#true} {10053#true} #68#return; {10053#true} is VALID [2022-04-08 12:18:48,694 INFO L290 TraceCheckUtils]: 15: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:48,694 INFO L290 TraceCheckUtils]: 14: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:48,694 INFO L290 TraceCheckUtils]: 13: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:48,694 INFO L272 TraceCheckUtils]: 12: Hoare triple {10053#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:48,694 INFO L290 TraceCheckUtils]: 11: Hoare triple {10053#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10053#true} is VALID [2022-04-08 12:18:48,694 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10053#true} {10053#true} #66#return; {10053#true} is VALID [2022-04-08 12:18:48,694 INFO L290 TraceCheckUtils]: 9: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:48,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 12:18:48,694 INFO L290 TraceCheckUtils]: 7: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 12:18:48,695 INFO L272 TraceCheckUtils]: 6: Hoare triple {10053#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {10053#true} is VALID [2022-04-08 12:18:48,695 INFO L290 TraceCheckUtils]: 5: Hoare triple {10053#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10053#true} is VALID [2022-04-08 12:18:48,695 INFO L272 TraceCheckUtils]: 4: Hoare triple {10053#true} call #t~ret6 := main(); {10053#true} is VALID [2022-04-08 12:18:48,695 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10053#true} {10053#true} #88#return; {10053#true} is VALID [2022-04-08 12:18:48,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 12:18:48,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {10053#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {10053#true} is VALID [2022-04-08 12:18:48,695 INFO L272 TraceCheckUtils]: 0: Hoare triple {10053#true} call ULTIMATE.init(); {10053#true} is VALID [2022-04-08 12:18:48,695 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-08 12:18:48,695 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:18:48,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1199761741] [2022-04-08 12:18:48,696 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:18:48,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1168512813] [2022-04-08 12:18:48,696 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1168512813] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:18:48,696 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:18:48,696 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-08 12:18:48,696 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:18:48,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [112432238] [2022-04-08 12:18:48,696 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [112432238] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:18:48,696 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:18:48,696 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 12:18:48,696 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1750705264] [2022-04-08 12:18:48,697 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:18:48,697 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-08 12:18:48,697 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:18:48,697 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-08 12:18:48,750 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-08 12:18:48,750 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 12:18:48,750 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:18:48,750 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 12:18:48,751 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-08 12:18:48,751 INFO L87 Difference]: Start difference. First operand 168 states and 202 transitions. Second operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 12:18:49,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:49,559 INFO L93 Difference]: Finished difference Result 182 states and 221 transitions. [2022-04-08 12:18:49,560 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:18:49,560 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-08 12:18:49,560 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:18:49,560 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-08 12:18:49,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-08 12:18:49,561 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-08 12:18:49,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-08 12:18:49,562 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 64 transitions. [2022-04-08 12:18:49,705 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-08 12:18:49,708 INFO L225 Difference]: With dead ends: 182 [2022-04-08 12:18:49,708 INFO L226 Difference]: Without dead ends: 169 [2022-04-08 12:18:49,709 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-08 12:18:49,709 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 149 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 159 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 149 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 12:18:49,710 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 134 Invalid, 159 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 149 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 12:18:49,710 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states. [2022-04-08 12:18:49,844 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 149. [2022-04-08 12:18:49,844 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:18:49,846 INFO L82 GeneralOperation]: Start isEquivalent. First operand 169 states. Second operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 12:18:49,846 INFO L74 IsIncluded]: Start isIncluded. First operand 169 states. Second operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 12:18:49,846 INFO L87 Difference]: Start difference. First operand 169 states. Second operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 12:18:49,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:49,855 INFO L93 Difference]: Finished difference Result 169 states and 200 transitions. [2022-04-08 12:18:49,856 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 200 transitions. [2022-04-08 12:18:49,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:18:49,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:18:49,856 INFO L74 IsIncluded]: Start isIncluded. First operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 169 states. [2022-04-08 12:18:49,857 INFO L87 Difference]: Start difference. First operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 169 states. [2022-04-08 12:18:49,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:49,875 INFO L93 Difference]: Finished difference Result 169 states and 200 transitions. [2022-04-08 12:18:49,875 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 200 transitions. [2022-04-08 12:18:49,880 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:18:49,880 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:18:49,880 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:18:49,880 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:18:49,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 12:18:49,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 170 transitions. [2022-04-08 12:18:49,886 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 170 transitions. Word has length 79 [2022-04-08 12:18:49,886 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:18:49,887 INFO L478 AbstractCegarLoop]: Abstraction has 149 states and 170 transitions. [2022-04-08 12:18:49,890 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-08 12:18:49,890 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 149 states and 170 transitions. [2022-04-08 12:18:50,326 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 170 edges. 170 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:18:50,327 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 170 transitions. [2022-04-08 12:18:50,327 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 12:18:50,327 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:18:50,328 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-08 12:18:50,350 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-08 12:18:50,528 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-08 12:18:50,528 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:18:50,529 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:18:50,529 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 3 times [2022-04-08 12:18:50,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:18:50,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [868755329] [2022-04-08 12:18:50,529 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:18:50,529 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 4 times [2022-04-08 12:18:50,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:18:50,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [970356402] [2022-04-08 12:18:50,530 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:18:50,530 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:18:50,548 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:18:50,548 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [250873067] [2022-04-08 12:18:50,549 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:18:50,549 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:18:50,549 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:18:50,584 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-08 12:18:50,603 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-08 12:18:50,664 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:18:50,664 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:18:50,665 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-08 12:18:50,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:18:50,687 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:18:53,328 INFO L272 TraceCheckUtils]: 0: Hoare triple {11541#true} call ULTIMATE.init(); {11541#true} is VALID [2022-04-08 12:18:53,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {11541#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {11541#true} is VALID [2022-04-08 12:18:53,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:18:53,328 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11541#true} {11541#true} #88#return; {11541#true} is VALID [2022-04-08 12:18:53,328 INFO L272 TraceCheckUtils]: 4: Hoare triple {11541#true} call #t~ret6 := main(); {11541#true} is VALID [2022-04-08 12:18:53,328 INFO L290 TraceCheckUtils]: 5: Hoare triple {11541#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11541#true} is VALID [2022-04-08 12:18:53,328 INFO L272 TraceCheckUtils]: 6: Hoare triple {11541#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:18:53,328 INFO L290 TraceCheckUtils]: 7: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:18:53,329 INFO L290 TraceCheckUtils]: 8: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:18:53,329 INFO L290 TraceCheckUtils]: 9: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:18:53,329 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11541#true} {11541#true} #66#return; {11541#true} is VALID [2022-04-08 12:18:53,329 INFO L290 TraceCheckUtils]: 11: Hoare triple {11541#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11541#true} is VALID [2022-04-08 12:18:53,329 INFO L272 TraceCheckUtils]: 12: Hoare triple {11541#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:18:53,329 INFO L290 TraceCheckUtils]: 13: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:18:53,329 INFO L290 TraceCheckUtils]: 14: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:18:53,329 INFO L290 TraceCheckUtils]: 15: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:18:53,329 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11541#true} {11541#true} #68#return; {11541#true} is VALID [2022-04-08 12:18:53,329 INFO L272 TraceCheckUtils]: 17: Hoare triple {11541#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:18:53,329 INFO L290 TraceCheckUtils]: 18: Hoare triple {11541#true} ~cond := #in~cond; {11600#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:18:53,330 INFO L290 TraceCheckUtils]: 19: Hoare triple {11600#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11604#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:18:53,330 INFO L290 TraceCheckUtils]: 20: Hoare triple {11604#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11604#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:18:53,330 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11604#(not (= |assume_abort_if_not_#in~cond| 0))} {11541#true} #70#return; {11611#(<= 1 main_~x~0)} is VALID [2022-04-08 12:18:53,330 INFO L272 TraceCheckUtils]: 22: Hoare triple {11611#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:18:53,330 INFO L290 TraceCheckUtils]: 23: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:18:53,330 INFO L290 TraceCheckUtils]: 24: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:18:53,330 INFO L290 TraceCheckUtils]: 25: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:18:53,331 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11541#true} {11611#(<= 1 main_~x~0)} #72#return; {11611#(<= 1 main_~x~0)} is VALID [2022-04-08 12:18:53,331 INFO L290 TraceCheckUtils]: 27: Hoare triple {11611#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:18:53,332 INFO L290 TraceCheckUtils]: 28: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:18:53,332 INFO L272 TraceCheckUtils]: 29: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:18:53,332 INFO L290 TraceCheckUtils]: 30: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:18:53,332 INFO L290 TraceCheckUtils]: 31: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:18:53,332 INFO L290 TraceCheckUtils]: 32: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:18:53,332 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11541#true} {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #74#return; {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:18:53,332 INFO L272 TraceCheckUtils]: 34: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:18:53,333 INFO L290 TraceCheckUtils]: 35: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:18:53,333 INFO L290 TraceCheckUtils]: 36: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:18:53,333 INFO L290 TraceCheckUtils]: 37: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:18:53,333 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11541#true} {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #76#return; {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:18:53,333 INFO L272 TraceCheckUtils]: 39: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:18:53,333 INFO L290 TraceCheckUtils]: 40: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:18:53,333 INFO L290 TraceCheckUtils]: 41: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:18:53,333 INFO L290 TraceCheckUtils]: 42: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:18:53,334 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11541#true} {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #78#return; {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:18:53,334 INFO L290 TraceCheckUtils]: 44: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:18:53,335 INFO L290 TraceCheckUtils]: 45: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 12:18:53,335 INFO L290 TraceCheckUtils]: 46: Hoare triple {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 12:18:53,335 INFO L272 TraceCheckUtils]: 47: Hoare triple {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:18:53,335 INFO L290 TraceCheckUtils]: 48: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:18:53,335 INFO L290 TraceCheckUtils]: 49: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:18:53,336 INFO L290 TraceCheckUtils]: 50: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:18:53,336 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11541#true} {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} #74#return; {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 12:18:53,336 INFO L272 TraceCheckUtils]: 52: Hoare triple {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:18:53,336 INFO L290 TraceCheckUtils]: 53: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:18:53,336 INFO L290 TraceCheckUtils]: 54: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:18:53,336 INFO L290 TraceCheckUtils]: 55: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:18:53,337 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11541#true} {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} #76#return; {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 12:18:53,337 INFO L272 TraceCheckUtils]: 57: Hoare triple {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:18:53,337 INFO L290 TraceCheckUtils]: 58: Hoare triple {11541#true} ~cond := #in~cond; {11725#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:18:53,337 INFO L290 TraceCheckUtils]: 59: Hoare triple {11725#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:18:53,338 INFO L290 TraceCheckUtils]: 60: Hoare triple {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:18:53,339 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} #78#return; {11736#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 12:18:53,339 INFO L290 TraceCheckUtils]: 62: Hoare triple {11736#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !!(~a~0 != ~b~0); {11736#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 12:18:53,342 INFO L290 TraceCheckUtils]: 63: Hoare triple {11736#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} is VALID [2022-04-08 12:18:53,342 INFO L290 TraceCheckUtils]: 64: Hoare triple {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} assume !false; {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} is VALID [2022-04-08 12:18:53,342 INFO L272 TraceCheckUtils]: 65: Hoare triple {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:18:53,342 INFO L290 TraceCheckUtils]: 66: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:18:53,342 INFO L290 TraceCheckUtils]: 67: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:18:53,342 INFO L290 TraceCheckUtils]: 68: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:18:53,343 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11541#true} {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} #74#return; {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} is VALID [2022-04-08 12:18:53,343 INFO L272 TraceCheckUtils]: 70: Hoare triple {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:18:53,343 INFO L290 TraceCheckUtils]: 71: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:18:53,343 INFO L290 TraceCheckUtils]: 72: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:18:53,343 INFO L290 TraceCheckUtils]: 73: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:18:53,344 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11541#true} {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} #76#return; {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} is VALID [2022-04-08 12:18:53,346 INFO L272 TraceCheckUtils]: 75: Hoare triple {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11780#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:18:53,346 INFO L290 TraceCheckUtils]: 76: Hoare triple {11780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:18:53,347 INFO L290 TraceCheckUtils]: 77: Hoare triple {11784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11542#false} is VALID [2022-04-08 12:18:53,347 INFO L290 TraceCheckUtils]: 78: Hoare triple {11542#false} assume !false; {11542#false} is VALID [2022-04-08 12:18:53,347 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 36 proven. 24 refuted. 0 times theorem prover too weak. 106 trivial. 0 not checked. [2022-04-08 12:18:53,347 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:19:24,800 INFO L290 TraceCheckUtils]: 78: Hoare triple {11542#false} assume !false; {11542#false} is VALID [2022-04-08 12:19:24,800 INFO L290 TraceCheckUtils]: 77: Hoare triple {11784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11542#false} is VALID [2022-04-08 12:19:24,801 INFO L290 TraceCheckUtils]: 76: Hoare triple {11780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:19:24,801 INFO L272 TraceCheckUtils]: 75: Hoare triple {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11780#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:19:24,802 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11541#true} {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:19:24,802 INFO L290 TraceCheckUtils]: 73: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:19:24,802 INFO L290 TraceCheckUtils]: 72: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:19:24,802 INFO L290 TraceCheckUtils]: 71: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:19:24,802 INFO L272 TraceCheckUtils]: 70: Hoare triple {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:19:24,803 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11541#true} {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:19:24,803 INFO L290 TraceCheckUtils]: 68: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:19:24,803 INFO L290 TraceCheckUtils]: 67: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:19:24,803 INFO L290 TraceCheckUtils]: 66: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:19:24,803 INFO L272 TraceCheckUtils]: 65: Hoare triple {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:19:24,804 INFO L290 TraceCheckUtils]: 64: Hoare triple {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:19:25,907 INFO L290 TraceCheckUtils]: 63: Hoare triple {11837#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:19:25,908 INFO L290 TraceCheckUtils]: 62: Hoare triple {11837#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {11837#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 12:19:25,909 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #78#return; {11837#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 12:19:25,910 INFO L290 TraceCheckUtils]: 60: Hoare triple {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:19:25,910 INFO L290 TraceCheckUtils]: 59: Hoare triple {11854#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:19:25,910 INFO L290 TraceCheckUtils]: 58: Hoare triple {11541#true} ~cond := #in~cond; {11854#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:19:25,910 INFO L272 TraceCheckUtils]: 57: Hoare triple {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:19:25,911 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11541#true} {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #76#return; {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 12:19:25,911 INFO L290 TraceCheckUtils]: 55: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:19:25,911 INFO L290 TraceCheckUtils]: 54: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:19:25,911 INFO L290 TraceCheckUtils]: 53: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:19:25,911 INFO L272 TraceCheckUtils]: 52: Hoare triple {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:19:25,912 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11541#true} {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #74#return; {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 12:19:25,912 INFO L290 TraceCheckUtils]: 50: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:19:25,912 INFO L290 TraceCheckUtils]: 49: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:19:25,912 INFO L290 TraceCheckUtils]: 48: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:19:25,913 INFO L272 TraceCheckUtils]: 47: Hoare triple {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:19:25,913 INFO L290 TraceCheckUtils]: 46: Hoare triple {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !false; {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 12:19:27,915 WARN L290 TraceCheckUtils]: 45: Hoare triple {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is UNKNOWN [2022-04-08 12:19:27,916 INFO L290 TraceCheckUtils]: 44: Hoare triple {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} assume !!(~a~0 != ~b~0); {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-08 12:19:27,917 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11541#true} {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} #78#return; {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-08 12:19:27,917 INFO L290 TraceCheckUtils]: 42: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:19:27,917 INFO L290 TraceCheckUtils]: 41: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:19:27,917 INFO L290 TraceCheckUtils]: 40: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:19:27,917 INFO L272 TraceCheckUtils]: 39: Hoare triple {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:19:27,918 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11541#true} {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} #76#return; {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-08 12:19:27,918 INFO L290 TraceCheckUtils]: 37: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:19:27,918 INFO L290 TraceCheckUtils]: 36: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:19:27,918 INFO L290 TraceCheckUtils]: 35: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:19:27,918 INFO L272 TraceCheckUtils]: 34: Hoare triple {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:19:27,919 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11541#true} {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} #74#return; {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-08 12:19:27,919 INFO L290 TraceCheckUtils]: 32: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:19:27,919 INFO L290 TraceCheckUtils]: 31: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:19:27,919 INFO L290 TraceCheckUtils]: 30: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:19:27,919 INFO L272 TraceCheckUtils]: 29: Hoare triple {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:19:27,919 INFO L290 TraceCheckUtils]: 28: Hoare triple {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} assume !false; {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-08 12:19:27,920 INFO L290 TraceCheckUtils]: 27: Hoare triple {11541#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-08 12:19:27,920 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11541#true} {11541#true} #72#return; {11541#true} is VALID [2022-04-08 12:19:27,920 INFO L290 TraceCheckUtils]: 25: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:19:27,920 INFO L290 TraceCheckUtils]: 24: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:19:27,920 INFO L290 TraceCheckUtils]: 23: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:19:27,920 INFO L272 TraceCheckUtils]: 22: Hoare triple {11541#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:19:27,921 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11541#true} {11541#true} #70#return; {11541#true} is VALID [2022-04-08 12:19:27,921 INFO L290 TraceCheckUtils]: 20: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:19:27,921 INFO L290 TraceCheckUtils]: 19: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:19:27,921 INFO L290 TraceCheckUtils]: 18: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:19:27,921 INFO L272 TraceCheckUtils]: 17: Hoare triple {11541#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:19:27,921 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11541#true} {11541#true} #68#return; {11541#true} is VALID [2022-04-08 12:19:27,921 INFO L290 TraceCheckUtils]: 15: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:19:27,921 INFO L290 TraceCheckUtils]: 14: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:19:27,921 INFO L290 TraceCheckUtils]: 13: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:19:27,921 INFO L272 TraceCheckUtils]: 12: Hoare triple {11541#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:19:27,921 INFO L290 TraceCheckUtils]: 11: Hoare triple {11541#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11541#true} is VALID [2022-04-08 12:19:27,921 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11541#true} {11541#true} #66#return; {11541#true} is VALID [2022-04-08 12:19:27,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:19:27,922 INFO L290 TraceCheckUtils]: 8: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 12:19:27,922 INFO L290 TraceCheckUtils]: 7: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 12:19:27,922 INFO L272 TraceCheckUtils]: 6: Hoare triple {11541#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {11541#true} is VALID [2022-04-08 12:19:27,922 INFO L290 TraceCheckUtils]: 5: Hoare triple {11541#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11541#true} is VALID [2022-04-08 12:19:27,922 INFO L272 TraceCheckUtils]: 4: Hoare triple {11541#true} call #t~ret6 := main(); {11541#true} is VALID [2022-04-08 12:19:27,922 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11541#true} {11541#true} #88#return; {11541#true} is VALID [2022-04-08 12:19:27,922 INFO L290 TraceCheckUtils]: 2: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 12:19:27,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {11541#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {11541#true} is VALID [2022-04-08 12:19:27,922 INFO L272 TraceCheckUtils]: 0: Hoare triple {11541#true} call ULTIMATE.init(); {11541#true} is VALID [2022-04-08 12:19:27,923 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 34 proven. 17 refuted. 0 times theorem prover too weak. 115 trivial. 0 not checked. [2022-04-08 12:19:27,923 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:19:27,923 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [970356402] [2022-04-08 12:19:27,923 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:19:27,923 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [250873067] [2022-04-08 12:19:27,923 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [250873067] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:19:27,923 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:19:27,923 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-08 12:19:27,923 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:19:27,925 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [868755329] [2022-04-08 12:19:27,925 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [868755329] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:19:27,925 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:19:27,925 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 12:19:27,925 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2026922984] [2022-04-08 12:19:27,925 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:19:27,925 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-08 12:19:27,925 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:19:27,926 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-08 12:19:27,985 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-08 12:19:27,986 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 12:19:27,986 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:19:27,986 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 12:19:27,986 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-04-08 12:19:27,986 INFO L87 Difference]: Start difference. First operand 149 states and 170 transitions. Second operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 12:19:30,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:19:30,951 INFO L93 Difference]: Finished difference Result 171 states and 198 transitions. [2022-04-08 12:19:30,951 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 12:19:30,951 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-08 12:19:30,951 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:19:30,951 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-08 12:19:30,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 69 transitions. [2022-04-08 12:19:30,953 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-08 12:19:30,954 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 69 transitions. [2022-04-08 12:19:30,954 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 69 transitions. [2022-04-08 12:19:31,027 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-08 12:19:31,030 INFO L225 Difference]: With dead ends: 171 [2022-04-08 12:19:31,030 INFO L226 Difference]: Without dead ends: 169 [2022-04-08 12:19:31,030 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 140 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-08 12:19:31,030 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 21 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 342 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 359 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 342 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-08 12:19:31,031 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 148 Invalid, 359 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 342 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-08 12:19:31,031 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states. [2022-04-08 12:19:31,185 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 159. [2022-04-08 12:19:31,186 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:19:31,186 INFO L82 GeneralOperation]: Start isEquivalent. First operand 169 states. Second operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 12:19:31,186 INFO L74 IsIncluded]: Start isIncluded. First operand 169 states. Second operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 12:19:31,187 INFO L87 Difference]: Start difference. First operand 169 states. Second operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 12:19:31,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:19:31,190 INFO L93 Difference]: Finished difference Result 169 states and 196 transitions. [2022-04-08 12:19:31,190 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 196 transitions. [2022-04-08 12:19:31,191 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:19:31,191 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:19:31,191 INFO L74 IsIncluded]: Start isIncluded. First operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 169 states. [2022-04-08 12:19:31,192 INFO L87 Difference]: Start difference. First operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 169 states. [2022-04-08 12:19:31,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:19:31,196 INFO L93 Difference]: Finished difference Result 169 states and 196 transitions. [2022-04-08 12:19:31,196 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 196 transitions. [2022-04-08 12:19:31,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:19:31,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:19:31,196 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:19:31,196 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:19:31,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 12:19:31,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 159 states to 159 states and 183 transitions. [2022-04-08 12:19:31,201 INFO L78 Accepts]: Start accepts. Automaton has 159 states and 183 transitions. Word has length 79 [2022-04-08 12:19:31,201 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:19:31,201 INFO L478 AbstractCegarLoop]: Abstraction has 159 states and 183 transitions. [2022-04-08 12:19:31,201 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-08 12:19:31,201 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 159 states and 183 transitions. [2022-04-08 12:19:31,706 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-08 12:19:31,706 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 183 transitions. [2022-04-08 12:19:31,707 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-08 12:19:31,707 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:19:31,707 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-08 12:19:31,724 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-08 12:19:31,911 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-08 12:19:31,911 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:19:31,912 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:19:31,912 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 7 times [2022-04-08 12:19:31,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:19:31,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1825505235] [2022-04-08 12:19:31,912 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:19:31,912 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 8 times [2022-04-08 12:19:31,913 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:19:31,913 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [16966384] [2022-04-08 12:19:31,913 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:19:31,913 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:19:31,924 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:19:31,925 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1257949072] [2022-04-08 12:19:31,925 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:19:31,925 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:19:31,925 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:19:31,926 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-08 12:19:31,927 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-08 12:19:31,974 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:19:31,975 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:19:31,976 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-08 12:19:31,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:19:31,993 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:19:34,145 INFO L272 TraceCheckUtils]: 0: Hoare triple {13036#true} call ULTIMATE.init(); {13036#true} is VALID [2022-04-08 12:19:34,145 INFO L290 TraceCheckUtils]: 1: Hoare triple {13036#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {13036#true} is VALID [2022-04-08 12:19:34,146 INFO L290 TraceCheckUtils]: 2: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:19:34,146 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13036#true} {13036#true} #88#return; {13036#true} is VALID [2022-04-08 12:19:34,146 INFO L272 TraceCheckUtils]: 4: Hoare triple {13036#true} call #t~ret6 := main(); {13036#true} is VALID [2022-04-08 12:19:34,146 INFO L290 TraceCheckUtils]: 5: Hoare triple {13036#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13036#true} is VALID [2022-04-08 12:19:34,146 INFO L272 TraceCheckUtils]: 6: Hoare triple {13036#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:19:34,146 INFO L290 TraceCheckUtils]: 7: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:19:34,146 INFO L290 TraceCheckUtils]: 8: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:19:34,146 INFO L290 TraceCheckUtils]: 9: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:19:34,146 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13036#true} {13036#true} #66#return; {13036#true} is VALID [2022-04-08 12:19:34,146 INFO L290 TraceCheckUtils]: 11: Hoare triple {13036#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13036#true} is VALID [2022-04-08 12:19:34,146 INFO L272 TraceCheckUtils]: 12: Hoare triple {13036#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:19:34,146 INFO L290 TraceCheckUtils]: 13: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:19:34,147 INFO L290 TraceCheckUtils]: 14: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:19:34,147 INFO L290 TraceCheckUtils]: 15: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:19:34,147 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13036#true} {13036#true} #68#return; {13036#true} is VALID [2022-04-08 12:19:34,147 INFO L272 TraceCheckUtils]: 17: Hoare triple {13036#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:19:34,147 INFO L290 TraceCheckUtils]: 18: Hoare triple {13036#true} ~cond := #in~cond; {13095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:19:34,148 INFO L290 TraceCheckUtils]: 19: Hoare triple {13095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:19:34,148 INFO L290 TraceCheckUtils]: 20: Hoare triple {13099#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:19:34,148 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13099#(not (= |assume_abort_if_not_#in~cond| 0))} {13036#true} #70#return; {13106#(<= 1 main_~x~0)} is VALID [2022-04-08 12:19:34,149 INFO L272 TraceCheckUtils]: 22: Hoare triple {13106#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:19:34,149 INFO L290 TraceCheckUtils]: 23: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:19:34,149 INFO L290 TraceCheckUtils]: 24: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:19:34,149 INFO L290 TraceCheckUtils]: 25: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:19:34,149 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13036#true} {13106#(<= 1 main_~x~0)} #72#return; {13106#(<= 1 main_~x~0)} is VALID [2022-04-08 12:19:34,150 INFO L290 TraceCheckUtils]: 27: Hoare triple {13106#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:19:34,150 INFO L290 TraceCheckUtils]: 28: Hoare triple {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:19:34,150 INFO L272 TraceCheckUtils]: 29: Hoare triple {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:19:34,150 INFO L290 TraceCheckUtils]: 30: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:19:34,150 INFO L290 TraceCheckUtils]: 31: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:19:34,151 INFO L290 TraceCheckUtils]: 32: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:19:34,151 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13036#true} {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:19:34,151 INFO L272 TraceCheckUtils]: 34: Hoare triple {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:19:34,151 INFO L290 TraceCheckUtils]: 35: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:19:34,152 INFO L290 TraceCheckUtils]: 36: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:19:34,152 INFO L290 TraceCheckUtils]: 37: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:19:34,152 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13036#true} {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:19:34,152 INFO L272 TraceCheckUtils]: 39: Hoare triple {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:19:34,152 INFO L290 TraceCheckUtils]: 40: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:19:34,152 INFO L290 TraceCheckUtils]: 41: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:19:34,153 INFO L290 TraceCheckUtils]: 42: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:19:34,153 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13036#true} {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:19:34,154 INFO L290 TraceCheckUtils]: 44: Hoare triple {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:19:34,154 INFO L290 TraceCheckUtils]: 45: Hoare triple {13125#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:19:34,155 INFO L290 TraceCheckUtils]: 46: Hoare triple {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:19:34,155 INFO L272 TraceCheckUtils]: 47: Hoare triple {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:19:34,155 INFO L290 TraceCheckUtils]: 48: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:19:34,155 INFO L290 TraceCheckUtils]: 49: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:19:34,155 INFO L290 TraceCheckUtils]: 50: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:19:34,159 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13036#true} {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:19:34,160 INFO L272 TraceCheckUtils]: 52: Hoare triple {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:19:34,160 INFO L290 TraceCheckUtils]: 53: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:19:34,160 INFO L290 TraceCheckUtils]: 54: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:19:34,160 INFO L290 TraceCheckUtils]: 55: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:19:34,161 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13036#true} {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:19:34,161 INFO L272 TraceCheckUtils]: 57: Hoare triple {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:19:34,161 INFO L290 TraceCheckUtils]: 58: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:19:34,161 INFO L290 TraceCheckUtils]: 59: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:19:34,161 INFO L290 TraceCheckUtils]: 60: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:19:34,162 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13036#true} {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #78#return; {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:19:34,162 INFO L290 TraceCheckUtils]: 62: Hoare triple {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 12:19:34,164 INFO L290 TraceCheckUtils]: 63: Hoare triple {13180#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 12:19:34,164 INFO L290 TraceCheckUtils]: 64: Hoare triple {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !false; {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 12:19:34,165 INFO L272 TraceCheckUtils]: 65: Hoare triple {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:19:34,165 INFO L290 TraceCheckUtils]: 66: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:19:34,165 INFO L290 TraceCheckUtils]: 67: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:19:34,165 INFO L290 TraceCheckUtils]: 68: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:19:34,166 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13036#true} {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #74#return; {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 12:19:34,166 INFO L272 TraceCheckUtils]: 70: Hoare triple {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:19:34,166 INFO L290 TraceCheckUtils]: 71: Hoare triple {13036#true} ~cond := #in~cond; {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:19:34,166 INFO L290 TraceCheckUtils]: 72: Hoare triple {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:19:34,167 INFO L290 TraceCheckUtils]: 73: Hoare triple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:19:34,168 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (<= (+ main_~r~0 1) 0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #76#return; {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 12:19:34,168 INFO L272 TraceCheckUtils]: 75: Hoare triple {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:19:34,168 INFO L290 TraceCheckUtils]: 76: Hoare triple {13036#true} ~cond := #in~cond; {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:19:34,168 INFO L290 TraceCheckUtils]: 77: Hoare triple {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:19:34,169 INFO L290 TraceCheckUtils]: 78: Hoare triple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:19:34,170 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #78#return; {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 12:19:34,170 INFO L290 TraceCheckUtils]: 80: Hoare triple {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 12:19:34,177 INFO L290 TraceCheckUtils]: 81: Hoare triple {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* main_~p~0 2) main_~q~0) 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13293#(and (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (+ main_~p~0 (div (+ (* (- 2) main_~p~0) 1) 3)) main_~x~0) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-08 12:19:34,178 INFO L290 TraceCheckUtils]: 82: Hoare triple {13293#(and (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (+ main_~p~0 (div (+ (* (- 2) main_~p~0) 1) 3)) main_~x~0) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (<= main_~x~0 (* main_~y~0 2)))} assume !false; {13293#(and (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (+ main_~p~0 (div (+ (* (- 2) main_~p~0) 1) 3)) main_~x~0) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-08 12:19:34,178 INFO L272 TraceCheckUtils]: 83: Hoare triple {13293#(and (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (+ main_~p~0 (div (+ (* (- 2) main_~p~0) 1) 3)) main_~x~0) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (<= main_~x~0 (* main_~y~0 2)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:19:34,178 INFO L290 TraceCheckUtils]: 84: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:19:34,178 INFO L290 TraceCheckUtils]: 85: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:19:34,178 INFO L290 TraceCheckUtils]: 86: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:19:34,179 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {13036#true} {13293#(and (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (+ main_~p~0 (div (+ (* (- 2) main_~p~0) 1) 3)) main_~x~0) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (<= main_~x~0 (* main_~y~0 2)))} #74#return; {13293#(and (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (+ main_~p~0 (div (+ (* (- 2) main_~p~0) 1) 3)) main_~x~0) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-08 12:19:34,184 INFO L272 TraceCheckUtils]: 88: Hoare triple {13293#(and (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (+ main_~p~0 (div (+ (* (- 2) main_~p~0) 1) 3)) main_~x~0) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (<= main_~x~0 (* main_~y~0 2)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13315#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:19:34,184 INFO L290 TraceCheckUtils]: 89: Hoare triple {13315#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13319#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:19:34,185 INFO L290 TraceCheckUtils]: 90: Hoare triple {13319#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13037#false} is VALID [2022-04-08 12:19:34,185 INFO L290 TraceCheckUtils]: 91: Hoare triple {13037#false} assume !false; {13037#false} is VALID [2022-04-08 12:19:34,185 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-08 12:19:34,186 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:20:05,714 INFO L290 TraceCheckUtils]: 91: Hoare triple {13037#false} assume !false; {13037#false} is VALID [2022-04-08 12:20:05,715 INFO L290 TraceCheckUtils]: 90: Hoare triple {13319#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13037#false} is VALID [2022-04-08 12:20:05,715 INFO L290 TraceCheckUtils]: 89: Hoare triple {13315#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13319#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:20:05,716 INFO L272 TraceCheckUtils]: 88: Hoare triple {13335#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13315#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:20:05,716 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {13036#true} {13335#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {13335#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:20:05,716 INFO L290 TraceCheckUtils]: 86: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:20:05,717 INFO L290 TraceCheckUtils]: 85: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:20:05,717 INFO L290 TraceCheckUtils]: 84: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:20:05,717 INFO L272 TraceCheckUtils]: 83: Hoare triple {13335#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:20:05,717 INFO L290 TraceCheckUtils]: 82: Hoare triple {13335#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {13335#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:20:07,636 INFO L290 TraceCheckUtils]: 81: Hoare triple {13357#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13335#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:20:07,637 INFO L290 TraceCheckUtils]: 80: Hoare triple {13357#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {13357#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 12:20:07,638 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} {13364#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {13357#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-08 12:20:07,638 INFO L290 TraceCheckUtils]: 78: Hoare triple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:20:07,638 INFO L290 TraceCheckUtils]: 77: Hoare triple {13374#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:20:07,639 INFO L290 TraceCheckUtils]: 76: Hoare triple {13036#true} ~cond := #in~cond; {13374#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:20:07,639 INFO L272 TraceCheckUtils]: 75: Hoare triple {13364#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:20:07,640 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} {13036#true} #76#return; {13364#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:20:07,655 INFO L290 TraceCheckUtils]: 73: Hoare triple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:20:07,656 INFO L290 TraceCheckUtils]: 72: Hoare triple {13374#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:20:07,656 INFO L290 TraceCheckUtils]: 71: Hoare triple {13036#true} ~cond := #in~cond; {13374#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:20:07,656 INFO L272 TraceCheckUtils]: 70: Hoare triple {13036#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:20:07,656 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13036#true} {13036#true} #74#return; {13036#true} is VALID [2022-04-08 12:20:07,656 INFO L290 TraceCheckUtils]: 68: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:20:07,656 INFO L290 TraceCheckUtils]: 67: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:20:07,656 INFO L290 TraceCheckUtils]: 66: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:20:07,657 INFO L272 TraceCheckUtils]: 65: Hoare triple {13036#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:20:07,657 INFO L290 TraceCheckUtils]: 64: Hoare triple {13036#true} assume !false; {13036#true} is VALID [2022-04-08 12:20:07,657 INFO L290 TraceCheckUtils]: 63: Hoare triple {13036#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13036#true} is VALID [2022-04-08 12:20:07,657 INFO L290 TraceCheckUtils]: 62: Hoare triple {13036#true} assume !!(~a~0 != ~b~0); {13036#true} is VALID [2022-04-08 12:20:07,657 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13036#true} {13036#true} #78#return; {13036#true} is VALID [2022-04-08 12:20:07,657 INFO L290 TraceCheckUtils]: 60: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:20:07,657 INFO L290 TraceCheckUtils]: 59: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:20:07,657 INFO L290 TraceCheckUtils]: 58: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:20:07,657 INFO L272 TraceCheckUtils]: 57: Hoare triple {13036#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:20:07,657 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13036#true} {13036#true} #76#return; {13036#true} is VALID [2022-04-08 12:20:07,657 INFO L290 TraceCheckUtils]: 55: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:20:07,657 INFO L290 TraceCheckUtils]: 54: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:20:07,657 INFO L290 TraceCheckUtils]: 53: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:20:07,657 INFO L272 TraceCheckUtils]: 52: Hoare triple {13036#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:20:07,658 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13036#true} {13036#true} #74#return; {13036#true} is VALID [2022-04-08 12:20:07,658 INFO L290 TraceCheckUtils]: 50: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:20:07,658 INFO L290 TraceCheckUtils]: 49: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:20:07,658 INFO L290 TraceCheckUtils]: 48: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:20:07,658 INFO L272 TraceCheckUtils]: 47: Hoare triple {13036#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:20:07,658 INFO L290 TraceCheckUtils]: 46: Hoare triple {13036#true} assume !false; {13036#true} is VALID [2022-04-08 12:20:07,658 INFO L290 TraceCheckUtils]: 45: Hoare triple {13036#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13036#true} is VALID [2022-04-08 12:20:07,658 INFO L290 TraceCheckUtils]: 44: Hoare triple {13036#true} assume !!(~a~0 != ~b~0); {13036#true} is VALID [2022-04-08 12:20:07,658 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13036#true} {13036#true} #78#return; {13036#true} is VALID [2022-04-08 12:20:07,658 INFO L290 TraceCheckUtils]: 42: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:20:07,658 INFO L290 TraceCheckUtils]: 41: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:20:07,658 INFO L290 TraceCheckUtils]: 40: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:20:07,658 INFO L272 TraceCheckUtils]: 39: Hoare triple {13036#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:20:07,658 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13036#true} {13036#true} #76#return; {13036#true} is VALID [2022-04-08 12:20:07,658 INFO L290 TraceCheckUtils]: 37: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:20:07,659 INFO L290 TraceCheckUtils]: 36: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:20:07,659 INFO L290 TraceCheckUtils]: 35: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:20:07,659 INFO L272 TraceCheckUtils]: 34: Hoare triple {13036#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:20:07,659 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13036#true} {13036#true} #74#return; {13036#true} is VALID [2022-04-08 12:20:07,659 INFO L290 TraceCheckUtils]: 32: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:20:07,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:20:07,659 INFO L290 TraceCheckUtils]: 30: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:20:07,659 INFO L272 TraceCheckUtils]: 29: Hoare triple {13036#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:20:07,659 INFO L290 TraceCheckUtils]: 28: Hoare triple {13036#true} assume !false; {13036#true} is VALID [2022-04-08 12:20:07,659 INFO L290 TraceCheckUtils]: 27: Hoare triple {13036#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13036#true} is VALID [2022-04-08 12:20:07,659 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13036#true} {13036#true} #72#return; {13036#true} is VALID [2022-04-08 12:20:07,659 INFO L290 TraceCheckUtils]: 25: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:20:07,659 INFO L290 TraceCheckUtils]: 24: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:20:07,660 INFO L290 TraceCheckUtils]: 23: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:20:07,660 INFO L272 TraceCheckUtils]: 22: Hoare triple {13036#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:20:07,660 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13036#true} {13036#true} #70#return; {13036#true} is VALID [2022-04-08 12:20:07,660 INFO L290 TraceCheckUtils]: 20: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:20:07,660 INFO L290 TraceCheckUtils]: 19: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:20:07,660 INFO L290 TraceCheckUtils]: 18: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:20:07,660 INFO L272 TraceCheckUtils]: 17: Hoare triple {13036#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:20:07,660 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13036#true} {13036#true} #68#return; {13036#true} is VALID [2022-04-08 12:20:07,660 INFO L290 TraceCheckUtils]: 15: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:20:07,660 INFO L290 TraceCheckUtils]: 14: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:20:07,660 INFO L290 TraceCheckUtils]: 13: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:20:07,660 INFO L272 TraceCheckUtils]: 12: Hoare triple {13036#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:20:07,660 INFO L290 TraceCheckUtils]: 11: Hoare triple {13036#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13036#true} is VALID [2022-04-08 12:20:07,660 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13036#true} {13036#true} #66#return; {13036#true} is VALID [2022-04-08 12:20:07,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:20:07,661 INFO L290 TraceCheckUtils]: 8: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 12:20:07,661 INFO L290 TraceCheckUtils]: 7: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 12:20:07,661 INFO L272 TraceCheckUtils]: 6: Hoare triple {13036#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {13036#true} is VALID [2022-04-08 12:20:07,661 INFO L290 TraceCheckUtils]: 5: Hoare triple {13036#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13036#true} is VALID [2022-04-08 12:20:07,661 INFO L272 TraceCheckUtils]: 4: Hoare triple {13036#true} call #t~ret6 := main(); {13036#true} is VALID [2022-04-08 12:20:07,661 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13036#true} {13036#true} #88#return; {13036#true} is VALID [2022-04-08 12:20:07,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 12:20:07,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {13036#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {13036#true} is VALID [2022-04-08 12:20:07,661 INFO L272 TraceCheckUtils]: 0: Hoare triple {13036#true} call ULTIMATE.init(); {13036#true} is VALID [2022-04-08 12:20:07,661 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-08 12:20:07,662 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:20:07,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [16966384] [2022-04-08 12:20:07,662 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:20:07,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1257949072] [2022-04-08 12:20:07,662 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1257949072] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:20:07,662 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:20:07,662 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-08 12:20:07,662 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:20:07,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1825505235] [2022-04-08 12:20:07,662 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1825505235] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:07,664 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:07,664 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 12:20:07,664 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [54930428] [2022-04-08 12:20:07,664 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:20:07,665 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) Word has length 92 [2022-04-08 12:20:07,665 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:20:07,666 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 12:20:07,742 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-08 12:20:07,742 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 12:20:07,742 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:07,742 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 12:20:07,742 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-04-08 12:20:07,743 INFO L87 Difference]: Start difference. First operand 159 states and 183 transitions. Second operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 12:20:15,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:15,993 INFO L93 Difference]: Finished difference Result 189 states and 221 transitions. [2022-04-08 12:20:15,993 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 12:20:15,993 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) Word has length 92 [2022-04-08 12:20:15,993 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:20:15,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 12:20:15,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-08 12:20:15,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 12:20:15,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-08 12:20:15,996 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 79 transitions. [2022-04-08 12:20:16,115 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-08 12:20:16,118 INFO L225 Difference]: With dead ends: 189 [2022-04-08 12:20:16,119 INFO L226 Difference]: Without dead ends: 187 [2022-04-08 12:20:16,119 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 165 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 72 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-08 12:20:16,119 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 24 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 501 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 524 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 501 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.3s IncrementalHoareTripleChecker+Time [2022-04-08 12:20:16,120 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 181 Invalid, 524 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 501 Invalid, 0 Unknown, 0 Unchecked, 4.3s Time] [2022-04-08 12:20:16,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 187 states. [2022-04-08 12:20:16,331 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 187 to 187. [2022-04-08 12:20:16,331 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:20:16,331 INFO L82 GeneralOperation]: Start isEquivalent. First operand 187 states. Second operand has 187 states, 113 states have (on average 1.0973451327433628) internal successors, (124), 118 states have internal predecessors, (124), 48 states have call successors, (48), 26 states have call predecessors, (48), 25 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-08 12:20:16,332 INFO L74 IsIncluded]: Start isIncluded. First operand 187 states. Second operand has 187 states, 113 states have (on average 1.0973451327433628) internal successors, (124), 118 states have internal predecessors, (124), 48 states have call successors, (48), 26 states have call predecessors, (48), 25 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-08 12:20:16,332 INFO L87 Difference]: Start difference. First operand 187 states. Second operand has 187 states, 113 states have (on average 1.0973451327433628) internal successors, (124), 118 states have internal predecessors, (124), 48 states have call successors, (48), 26 states have call predecessors, (48), 25 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-08 12:20:16,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:16,336 INFO L93 Difference]: Finished difference Result 187 states and 219 transitions. [2022-04-08 12:20:16,336 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 219 transitions. [2022-04-08 12:20:16,337 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:16,337 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:16,338 INFO L74 IsIncluded]: Start isIncluded. First operand has 187 states, 113 states have (on average 1.0973451327433628) internal successors, (124), 118 states have internal predecessors, (124), 48 states have call successors, (48), 26 states have call predecessors, (48), 25 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 187 states. [2022-04-08 12:20:16,338 INFO L87 Difference]: Start difference. First operand has 187 states, 113 states have (on average 1.0973451327433628) internal successors, (124), 118 states have internal predecessors, (124), 48 states have call successors, (48), 26 states have call predecessors, (48), 25 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 187 states. [2022-04-08 12:20:16,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:16,342 INFO L93 Difference]: Finished difference Result 187 states and 219 transitions. [2022-04-08 12:20:16,342 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 219 transitions. [2022-04-08 12:20:16,343 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:16,343 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:16,343 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:20:16,343 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:20:16,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 187 states, 113 states have (on average 1.0973451327433628) internal successors, (124), 118 states have internal predecessors, (124), 48 states have call successors, (48), 26 states have call predecessors, (48), 25 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-08 12:20:16,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 187 states to 187 states and 219 transitions. [2022-04-08 12:20:16,348 INFO L78 Accepts]: Start accepts. Automaton has 187 states and 219 transitions. Word has length 92 [2022-04-08 12:20:16,348 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:20:16,348 INFO L478 AbstractCegarLoop]: Abstraction has 187 states and 219 transitions. [2022-04-08 12:20:16,348 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 7 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 12:20:16,348 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 187 states and 219 transitions. [2022-04-08 12:20:17,601 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 219 edges. 219 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:17,601 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 219 transitions. [2022-04-08 12:20:17,602 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-08 12:20:17,602 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:20:17,603 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-08 12:20:17,627 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-08 12:20:17,803 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-08 12:20:17,803 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:20:17,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:20:17,804 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 9 times [2022-04-08 12:20:17,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:17,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1509550801] [2022-04-08 12:20:17,804 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:20:17,804 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 10 times [2022-04-08 12:20:17,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:20:17,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [163273987] [2022-04-08 12:20:17,804 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:20:17,804 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:20:17,816 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:20:17,816 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1773054517] [2022-04-08 12:20:17,816 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:20:17,816 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:20:17,816 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:20:17,817 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-08 12:20:17,820 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-08 12:20:17,866 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:20:17,866 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:20:17,867 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 56 conjunts are in the unsatisfiable core [2022-04-08 12:20:17,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:17,884 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:20:20,155 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:20:20,236 INFO L272 TraceCheckUtils]: 0: Hoare triple {14737#true} call ULTIMATE.init(); {14737#true} is VALID [2022-04-08 12:20:20,236 INFO L290 TraceCheckUtils]: 1: Hoare triple {14737#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {14737#true} is VALID [2022-04-08 12:20:20,236 INFO L290 TraceCheckUtils]: 2: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:20:20,236 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14737#true} {14737#true} #88#return; {14737#true} is VALID [2022-04-08 12:20:20,236 INFO L272 TraceCheckUtils]: 4: Hoare triple {14737#true} call #t~ret6 := main(); {14737#true} is VALID [2022-04-08 12:20:20,236 INFO L290 TraceCheckUtils]: 5: Hoare triple {14737#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {14737#true} is VALID [2022-04-08 12:20:20,236 INFO L272 TraceCheckUtils]: 6: Hoare triple {14737#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:20:20,236 INFO L290 TraceCheckUtils]: 7: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:20:20,236 INFO L290 TraceCheckUtils]: 8: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:20:20,236 INFO L290 TraceCheckUtils]: 9: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:20:20,236 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14737#true} {14737#true} #66#return; {14737#true} is VALID [2022-04-08 12:20:20,236 INFO L290 TraceCheckUtils]: 11: Hoare triple {14737#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14737#true} is VALID [2022-04-08 12:20:20,237 INFO L272 TraceCheckUtils]: 12: Hoare triple {14737#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:20:20,237 INFO L290 TraceCheckUtils]: 13: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:20:20,237 INFO L290 TraceCheckUtils]: 14: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:20:20,237 INFO L290 TraceCheckUtils]: 15: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:20:20,237 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14737#true} {14737#true} #68#return; {14737#true} is VALID [2022-04-08 12:20:20,237 INFO L272 TraceCheckUtils]: 17: Hoare triple {14737#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:20:20,237 INFO L290 TraceCheckUtils]: 18: Hoare triple {14737#true} ~cond := #in~cond; {14796#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:20:20,237 INFO L290 TraceCheckUtils]: 19: Hoare triple {14796#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14800#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:20,238 INFO L290 TraceCheckUtils]: 20: Hoare triple {14800#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14800#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:20,238 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14800#(not (= |assume_abort_if_not_#in~cond| 0))} {14737#true} #70#return; {14807#(<= 1 main_~x~0)} is VALID [2022-04-08 12:20:20,238 INFO L272 TraceCheckUtils]: 22: Hoare triple {14807#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:20:20,238 INFO L290 TraceCheckUtils]: 23: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:20:20,238 INFO L290 TraceCheckUtils]: 24: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:20:20,238 INFO L290 TraceCheckUtils]: 25: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:20:20,239 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14737#true} {14807#(<= 1 main_~x~0)} #72#return; {14807#(<= 1 main_~x~0)} is VALID [2022-04-08 12:20:20,239 INFO L290 TraceCheckUtils]: 27: Hoare triple {14807#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:20:20,239 INFO L290 TraceCheckUtils]: 28: Hoare triple {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:20:20,240 INFO L272 TraceCheckUtils]: 29: Hoare triple {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:20:20,240 INFO L290 TraceCheckUtils]: 30: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:20:20,240 INFO L290 TraceCheckUtils]: 31: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:20:20,240 INFO L290 TraceCheckUtils]: 32: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:20:20,240 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14737#true} {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:20:20,240 INFO L272 TraceCheckUtils]: 34: Hoare triple {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:20:20,240 INFO L290 TraceCheckUtils]: 35: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:20:20,241 INFO L290 TraceCheckUtils]: 36: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:20:20,241 INFO L290 TraceCheckUtils]: 37: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:20:20,242 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14737#true} {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:20:20,242 INFO L272 TraceCheckUtils]: 39: Hoare triple {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:20:20,242 INFO L290 TraceCheckUtils]: 40: Hoare triple {14737#true} ~cond := #in~cond; {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:20:20,243 INFO L290 TraceCheckUtils]: 41: Hoare triple {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:20:20,243 INFO L290 TraceCheckUtils]: 42: Hoare triple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:20:20,243 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:20:20,244 INFO L290 TraceCheckUtils]: 44: Hoare triple {14826#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {14880#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:20:20,245 INFO L290 TraceCheckUtils]: 45: Hoare triple {14880#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:20:20,245 INFO L290 TraceCheckUtils]: 46: Hoare triple {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:20:20,245 INFO L272 TraceCheckUtils]: 47: Hoare triple {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:20:20,245 INFO L290 TraceCheckUtils]: 48: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:20:20,246 INFO L290 TraceCheckUtils]: 49: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:20:20,246 INFO L290 TraceCheckUtils]: 50: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:20:20,246 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14737#true} {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #74#return; {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:20:20,246 INFO L272 TraceCheckUtils]: 52: Hoare triple {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:20:20,246 INFO L290 TraceCheckUtils]: 53: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:20:20,246 INFO L290 TraceCheckUtils]: 54: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:20:20,246 INFO L290 TraceCheckUtils]: 55: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:20:20,247 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14737#true} {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #76#return; {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:20:20,247 INFO L272 TraceCheckUtils]: 57: Hoare triple {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:20:20,247 INFO L290 TraceCheckUtils]: 58: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:20:20,247 INFO L290 TraceCheckUtils]: 59: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:20:20,247 INFO L290 TraceCheckUtils]: 60: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:20:20,248 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14737#true} {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #78#return; {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:20:20,248 INFO L290 TraceCheckUtils]: 62: Hoare triple {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 12:20:20,249 INFO L290 TraceCheckUtils]: 63: Hoare triple {14884#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-08 12:20:20,249 INFO L290 TraceCheckUtils]: 64: Hoare triple {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} assume !false; {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-08 12:20:20,250 INFO L272 TraceCheckUtils]: 65: Hoare triple {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:20:20,250 INFO L290 TraceCheckUtils]: 66: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:20:20,250 INFO L290 TraceCheckUtils]: 67: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:20:20,250 INFO L290 TraceCheckUtils]: 68: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:20:20,250 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14737#true} {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} #74#return; {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-08 12:20:20,250 INFO L272 TraceCheckUtils]: 70: Hoare triple {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:20:20,251 INFO L290 TraceCheckUtils]: 71: Hoare triple {14737#true} ~cond := #in~cond; {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:20:20,251 INFO L290 TraceCheckUtils]: 72: Hoare triple {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:20:20,251 INFO L290 TraceCheckUtils]: 73: Hoare triple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:20:20,252 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} #76#return; {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-08 12:20:20,252 INFO L272 TraceCheckUtils]: 75: Hoare triple {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:20:20,252 INFO L290 TraceCheckUtils]: 76: Hoare triple {14737#true} ~cond := #in~cond; {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:20:20,252 INFO L290 TraceCheckUtils]: 77: Hoare triple {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:20:20,253 INFO L290 TraceCheckUtils]: 78: Hoare triple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:20:20,253 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} #78#return; {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-08 12:20:20,254 INFO L290 TraceCheckUtils]: 80: Hoare triple {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} assume !!(~a~0 != ~b~0); {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-08 12:20:20,257 INFO L290 TraceCheckUtils]: 81: Hoare triple {14939#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {14994#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:20:20,257 INFO L290 TraceCheckUtils]: 82: Hoare triple {14994#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} assume !false; {14994#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:20:20,258 INFO L272 TraceCheckUtils]: 83: Hoare triple {14994#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:20:20,258 INFO L290 TraceCheckUtils]: 84: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:20:20,258 INFO L290 TraceCheckUtils]: 85: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:20:20,258 INFO L290 TraceCheckUtils]: 86: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:20:20,260 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {14737#true} {14994#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} #74#return; {14994#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} is VALID [2022-04-08 12:20:20,262 INFO L272 TraceCheckUtils]: 88: Hoare triple {14994#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15016#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:20:20,263 INFO L290 TraceCheckUtils]: 89: Hoare triple {15016#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15020#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:20:20,263 INFO L290 TraceCheckUtils]: 90: Hoare triple {15020#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14738#false} is VALID [2022-04-08 12:20:20,263 INFO L290 TraceCheckUtils]: 91: Hoare triple {14738#false} assume !false; {14738#false} is VALID [2022-04-08 12:20:20,264 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 65 proven. 54 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-04-08 12:20:20,264 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:21:01,365 INFO L290 TraceCheckUtils]: 91: Hoare triple {14738#false} assume !false; {14738#false} is VALID [2022-04-08 12:21:01,365 INFO L290 TraceCheckUtils]: 90: Hoare triple {15020#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14738#false} is VALID [2022-04-08 12:21:01,366 INFO L290 TraceCheckUtils]: 89: Hoare triple {15016#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15020#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:21:01,366 INFO L272 TraceCheckUtils]: 88: Hoare triple {15036#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15016#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:21:01,367 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {14737#true} {15036#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {15036#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:21:01,367 INFO L290 TraceCheckUtils]: 86: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:21:01,367 INFO L290 TraceCheckUtils]: 85: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:21:01,367 INFO L290 TraceCheckUtils]: 84: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:21:01,367 INFO L272 TraceCheckUtils]: 83: Hoare triple {15036#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:21:01,368 INFO L290 TraceCheckUtils]: 82: Hoare triple {15036#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {15036#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:21:02,078 INFO L290 TraceCheckUtils]: 81: Hoare triple {15058#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {15036#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:21:02,079 INFO L290 TraceCheckUtils]: 80: Hoare triple {15058#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {15058#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:21:02,080 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} {15065#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {15058#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 12:21:02,080 INFO L290 TraceCheckUtils]: 78: Hoare triple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:21:02,081 INFO L290 TraceCheckUtils]: 77: Hoare triple {15075#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:21:02,081 INFO L290 TraceCheckUtils]: 76: Hoare triple {14737#true} ~cond := #in~cond; {15075#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:21:02,081 INFO L272 TraceCheckUtils]: 75: Hoare triple {15065#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:21:02,083 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} {14737#true} #76#return; {15065#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-08 12:21:02,083 INFO L290 TraceCheckUtils]: 73: Hoare triple {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:21:02,084 INFO L290 TraceCheckUtils]: 72: Hoare triple {15075#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14870#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:21:02,084 INFO L290 TraceCheckUtils]: 71: Hoare triple {14737#true} ~cond := #in~cond; {15075#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:21:02,084 INFO L272 TraceCheckUtils]: 70: Hoare triple {14737#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:21:02,084 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14737#true} {14737#true} #74#return; {14737#true} is VALID [2022-04-08 12:21:02,084 INFO L290 TraceCheckUtils]: 68: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:21:02,084 INFO L290 TraceCheckUtils]: 67: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:21:02,084 INFO L290 TraceCheckUtils]: 66: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:21:02,084 INFO L272 TraceCheckUtils]: 65: Hoare triple {14737#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:21:02,084 INFO L290 TraceCheckUtils]: 64: Hoare triple {14737#true} assume !false; {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L290 TraceCheckUtils]: 63: Hoare triple {14737#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L290 TraceCheckUtils]: 62: Hoare triple {14737#true} assume !!(~a~0 != ~b~0); {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14737#true} {14737#true} #78#return; {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L290 TraceCheckUtils]: 60: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L290 TraceCheckUtils]: 59: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L290 TraceCheckUtils]: 58: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L272 TraceCheckUtils]: 57: Hoare triple {14737#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14737#true} {14737#true} #76#return; {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L290 TraceCheckUtils]: 55: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L290 TraceCheckUtils]: 54: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L290 TraceCheckUtils]: 53: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L272 TraceCheckUtils]: 52: Hoare triple {14737#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14737#true} {14737#true} #74#return; {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L290 TraceCheckUtils]: 50: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L290 TraceCheckUtils]: 49: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L290 TraceCheckUtils]: 48: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L272 TraceCheckUtils]: 47: Hoare triple {14737#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L290 TraceCheckUtils]: 46: Hoare triple {14737#true} assume !false; {14737#true} is VALID [2022-04-08 12:21:02,085 INFO L290 TraceCheckUtils]: 45: Hoare triple {14737#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {14737#true} is VALID [2022-04-08 12:21:02,086 INFO L290 TraceCheckUtils]: 44: Hoare triple {14737#true} assume !!(~a~0 != ~b~0); {14737#true} is VALID [2022-04-08 12:21:02,087 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {14737#true} {14737#true} #78#return; {14737#true} is VALID [2022-04-08 12:21:02,087 INFO L290 TraceCheckUtils]: 42: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:21:02,087 INFO L290 TraceCheckUtils]: 41: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:21:02,087 INFO L290 TraceCheckUtils]: 40: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:21:02,087 INFO L272 TraceCheckUtils]: 39: Hoare triple {14737#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:21:02,087 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14737#true} {14737#true} #76#return; {14737#true} is VALID [2022-04-08 12:21:02,087 INFO L290 TraceCheckUtils]: 37: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:21:02,087 INFO L290 TraceCheckUtils]: 36: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:21:02,087 INFO L290 TraceCheckUtils]: 35: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:21:02,087 INFO L272 TraceCheckUtils]: 34: Hoare triple {14737#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:21:02,088 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14737#true} {14737#true} #74#return; {14737#true} is VALID [2022-04-08 12:21:02,088 INFO L290 TraceCheckUtils]: 32: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:21:02,088 INFO L290 TraceCheckUtils]: 31: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:21:02,088 INFO L290 TraceCheckUtils]: 30: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:21:02,088 INFO L272 TraceCheckUtils]: 29: Hoare triple {14737#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:21:02,088 INFO L290 TraceCheckUtils]: 28: Hoare triple {14737#true} assume !false; {14737#true} is VALID [2022-04-08 12:21:02,088 INFO L290 TraceCheckUtils]: 27: Hoare triple {14737#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14737#true} is VALID [2022-04-08 12:21:02,088 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14737#true} {14737#true} #72#return; {14737#true} is VALID [2022-04-08 12:21:02,088 INFO L290 TraceCheckUtils]: 25: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:21:02,088 INFO L290 TraceCheckUtils]: 24: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:21:02,088 INFO L290 TraceCheckUtils]: 23: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:21:02,088 INFO L272 TraceCheckUtils]: 22: Hoare triple {14737#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:21:02,088 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14737#true} {14737#true} #70#return; {14737#true} is VALID [2022-04-08 12:21:02,088 INFO L290 TraceCheckUtils]: 20: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:21:02,089 INFO L290 TraceCheckUtils]: 19: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:21:02,089 INFO L290 TraceCheckUtils]: 18: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:21:02,089 INFO L272 TraceCheckUtils]: 17: Hoare triple {14737#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:21:02,089 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14737#true} {14737#true} #68#return; {14737#true} is VALID [2022-04-08 12:21:02,089 INFO L290 TraceCheckUtils]: 15: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:21:02,089 INFO L290 TraceCheckUtils]: 14: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:21:02,089 INFO L290 TraceCheckUtils]: 13: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:21:02,089 INFO L272 TraceCheckUtils]: 12: Hoare triple {14737#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:21:02,089 INFO L290 TraceCheckUtils]: 11: Hoare triple {14737#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14737#true} is VALID [2022-04-08 12:21:02,089 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14737#true} {14737#true} #66#return; {14737#true} is VALID [2022-04-08 12:21:02,089 INFO L290 TraceCheckUtils]: 9: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:21:02,089 INFO L290 TraceCheckUtils]: 8: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 12:21:02,090 INFO L290 TraceCheckUtils]: 7: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 12:21:02,090 INFO L272 TraceCheckUtils]: 6: Hoare triple {14737#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {14737#true} is VALID [2022-04-08 12:21:02,090 INFO L290 TraceCheckUtils]: 5: Hoare triple {14737#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {14737#true} is VALID [2022-04-08 12:21:02,090 INFO L272 TraceCheckUtils]: 4: Hoare triple {14737#true} call #t~ret6 := main(); {14737#true} is VALID [2022-04-08 12:21:02,090 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14737#true} {14737#true} #88#return; {14737#true} is VALID [2022-04-08 12:21:02,090 INFO L290 TraceCheckUtils]: 2: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 12:21:02,090 INFO L290 TraceCheckUtils]: 1: Hoare triple {14737#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {14737#true} is VALID [2022-04-08 12:21:02,090 INFO L272 TraceCheckUtils]: 0: Hoare triple {14737#true} call ULTIMATE.init(); {14737#true} is VALID [2022-04-08 12:21:02,090 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-08 12:21:02,090 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:21:02,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [163273987] [2022-04-08 12:21:02,090 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:21:02,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1773054517] [2022-04-08 12:21:02,091 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1773054517] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:21:02,091 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:21:02,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-08 12:21:02,091 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:21:02,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1509550801] [2022-04-08 12:21:02,091 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1509550801] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:21:02,091 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:21:02,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 12:21:02,091 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1873469787] [2022-04-08 12:21:02,091 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:21:02,091 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) Word has length 92 [2022-04-08 12:21:02,092 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:21:02,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 12:21:02,147 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-08 12:21:02,147 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 12:21:02,147 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:02,147 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 12:21:02,147 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=247, Unknown=0, NotChecked=0, Total=306 [2022-04-08 12:21:02,148 INFO L87 Difference]: Start difference. First operand 187 states and 219 transitions. Second operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 12:21:04,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:04,740 INFO L93 Difference]: Finished difference Result 224 states and 261 transitions. [2022-04-08 12:21:04,740 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 12:21:04,740 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) Word has length 92 [2022-04-08 12:21:04,740 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:21:04,741 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 12:21:04,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-08 12:21:04,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 12:21:04,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-08 12:21:04,743 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 79 transitions. [2022-04-08 12:21:04,861 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-08 12:21:04,866 INFO L225 Difference]: With dead ends: 224 [2022-04-08 12:21:04,866 INFO L226 Difference]: Without dead ends: 222 [2022-04-08 12:21:04,866 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 164 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 75 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=76, Invalid=344, Unknown=0, NotChecked=0, Total=420 [2022-04-08 12:21:04,866 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 24 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 473 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 159 SdHoareTripleChecker+Invalid, 506 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 473 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-08 12:21:04,867 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 159 Invalid, 506 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 473 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-08 12:21:04,868 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 222 states. [2022-04-08 12:21:05,139 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 222 to 222. [2022-04-08 12:21:05,139 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:21:05,139 INFO L82 GeneralOperation]: Start isEquivalent. First operand 222 states. Second operand has 222 states, 136 states have (on average 1.1029411764705883) internal successors, (150), 140 states have internal predecessors, (150), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 12:21:05,140 INFO L74 IsIncluded]: Start isIncluded. First operand 222 states. Second operand has 222 states, 136 states have (on average 1.1029411764705883) internal successors, (150), 140 states have internal predecessors, (150), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 12:21:05,140 INFO L87 Difference]: Start difference. First operand 222 states. Second operand has 222 states, 136 states have (on average 1.1029411764705883) internal successors, (150), 140 states have internal predecessors, (150), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 12:21:05,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:05,145 INFO L93 Difference]: Finished difference Result 222 states and 259 transitions. [2022-04-08 12:21:05,145 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 259 transitions. [2022-04-08 12:21:05,146 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:05,146 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:05,146 INFO L74 IsIncluded]: Start isIncluded. First operand has 222 states, 136 states have (on average 1.1029411764705883) internal successors, (150), 140 states have internal predecessors, (150), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 222 states. [2022-04-08 12:21:05,147 INFO L87 Difference]: Start difference. First operand has 222 states, 136 states have (on average 1.1029411764705883) internal successors, (150), 140 states have internal predecessors, (150), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 222 states. [2022-04-08 12:21:05,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:05,152 INFO L93 Difference]: Finished difference Result 222 states and 259 transitions. [2022-04-08 12:21:05,152 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 259 transitions. [2022-04-08 12:21:05,152 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:05,152 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:05,153 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:21:05,153 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:21:05,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 222 states, 136 states have (on average 1.1029411764705883) internal successors, (150), 140 states have internal predecessors, (150), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 12:21:05,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 259 transitions. [2022-04-08 12:21:05,159 INFO L78 Accepts]: Start accepts. Automaton has 222 states and 259 transitions. Word has length 92 [2022-04-08 12:21:05,159 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:21:05,159 INFO L478 AbstractCegarLoop]: Abstraction has 222 states and 259 transitions. [2022-04-08 12:21:05,159 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 12:21:05,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 222 states and 259 transitions. [2022-04-08 12:21:05,945 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 259 edges. 259 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:21:05,946 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 259 transitions. [2022-04-08 12:21:05,946 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-08 12:21:05,946 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:21:05,947 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-08 12:21:05,969 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-08 12:21:06,169 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-08 12:21:06,169 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:21:06,170 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:21:06,170 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 11 times [2022-04-08 12:21:06,170 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:06,170 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [361025573] [2022-04-08 12:21:06,170 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:21:06,170 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 12 times [2022-04-08 12:21:06,170 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:21:06,170 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [34569539] [2022-04-08 12:21:06,170 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:21:06,170 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:21:06,183 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:21:06,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [705435251] [2022-04-08 12:21:06,183 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:21:06,183 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:21:06,183 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:21:06,184 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-08 12:21:06,190 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-08 12:21:06,235 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 12:21:06,235 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:21:06,236 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-08 12:21:06,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:06,275 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:21:18,602 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:21:23,283 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:21:28,972 INFO L272 TraceCheckUtils]: 0: Hoare triple {16648#true} call ULTIMATE.init(); {16648#true} is VALID [2022-04-08 12:21:28,972 INFO L290 TraceCheckUtils]: 1: Hoare triple {16648#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {16648#true} is VALID [2022-04-08 12:21:28,972 INFO L290 TraceCheckUtils]: 2: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 12:21:28,973 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16648#true} {16648#true} #88#return; {16648#true} is VALID [2022-04-08 12:21:28,973 INFO L272 TraceCheckUtils]: 4: Hoare triple {16648#true} call #t~ret6 := main(); {16648#true} is VALID [2022-04-08 12:21:28,973 INFO L290 TraceCheckUtils]: 5: Hoare triple {16648#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {16648#true} is VALID [2022-04-08 12:21:28,973 INFO L272 TraceCheckUtils]: 6: Hoare triple {16648#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {16648#true} is VALID [2022-04-08 12:21:28,973 INFO L290 TraceCheckUtils]: 7: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 12:21:28,973 INFO L290 TraceCheckUtils]: 8: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 12:21:28,973 INFO L290 TraceCheckUtils]: 9: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 12:21:28,973 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16648#true} {16648#true} #66#return; {16648#true} is VALID [2022-04-08 12:21:28,973 INFO L290 TraceCheckUtils]: 11: Hoare triple {16648#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16648#true} is VALID [2022-04-08 12:21:28,973 INFO L272 TraceCheckUtils]: 12: Hoare triple {16648#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {16648#true} is VALID [2022-04-08 12:21:28,973 INFO L290 TraceCheckUtils]: 13: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 12:21:28,973 INFO L290 TraceCheckUtils]: 14: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 12:21:28,973 INFO L290 TraceCheckUtils]: 15: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 12:21:28,974 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16648#true} {16648#true} #68#return; {16648#true} is VALID [2022-04-08 12:21:28,974 INFO L272 TraceCheckUtils]: 17: Hoare triple {16648#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16648#true} is VALID [2022-04-08 12:21:28,974 INFO L290 TraceCheckUtils]: 18: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 12:21:28,974 INFO L290 TraceCheckUtils]: 19: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 12:21:28,974 INFO L290 TraceCheckUtils]: 20: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 12:21:28,974 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16648#true} {16648#true} #70#return; {16648#true} is VALID [2022-04-08 12:21:28,974 INFO L272 TraceCheckUtils]: 22: Hoare triple {16648#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16648#true} is VALID [2022-04-08 12:21:28,974 INFO L290 TraceCheckUtils]: 23: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 12:21:28,974 INFO L290 TraceCheckUtils]: 24: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 12:21:28,974 INFO L290 TraceCheckUtils]: 25: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 12:21:28,974 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16648#true} {16648#true} #72#return; {16648#true} is VALID [2022-04-08 12:21:28,975 INFO L290 TraceCheckUtils]: 27: Hoare triple {16648#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,975 INFO L290 TraceCheckUtils]: 28: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !false; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,975 INFO L272 TraceCheckUtils]: 29: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16648#true} is VALID [2022-04-08 12:21:28,975 INFO L290 TraceCheckUtils]: 30: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 12:21:28,975 INFO L290 TraceCheckUtils]: 31: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 12:21:28,976 INFO L290 TraceCheckUtils]: 32: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 12:21:28,976 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #74#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,976 INFO L272 TraceCheckUtils]: 34: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16648#true} is VALID [2022-04-08 12:21:28,976 INFO L290 TraceCheckUtils]: 35: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 12:21:28,976 INFO L290 TraceCheckUtils]: 36: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 12:21:28,976 INFO L290 TraceCheckUtils]: 37: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 12:21:28,977 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #76#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,977 INFO L272 TraceCheckUtils]: 39: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16648#true} is VALID [2022-04-08 12:21:28,977 INFO L290 TraceCheckUtils]: 40: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 12:21:28,977 INFO L290 TraceCheckUtils]: 41: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 12:21:28,977 INFO L290 TraceCheckUtils]: 42: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 12:21:28,978 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #78#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,979 INFO L290 TraceCheckUtils]: 44: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,979 INFO L290 TraceCheckUtils]: 45: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,979 INFO L290 TraceCheckUtils]: 46: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !false; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,980 INFO L272 TraceCheckUtils]: 47: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16648#true} is VALID [2022-04-08 12:21:28,980 INFO L290 TraceCheckUtils]: 48: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 12:21:28,980 INFO L290 TraceCheckUtils]: 49: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 12:21:28,980 INFO L290 TraceCheckUtils]: 50: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 12:21:28,980 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #74#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,980 INFO L272 TraceCheckUtils]: 52: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16648#true} is VALID [2022-04-08 12:21:28,981 INFO L290 TraceCheckUtils]: 53: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 12:21:28,981 INFO L290 TraceCheckUtils]: 54: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 12:21:28,981 INFO L290 TraceCheckUtils]: 55: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 12:21:28,981 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #76#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,981 INFO L272 TraceCheckUtils]: 57: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16648#true} is VALID [2022-04-08 12:21:28,981 INFO L290 TraceCheckUtils]: 58: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 12:21:28,982 INFO L290 TraceCheckUtils]: 59: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 12:21:28,982 INFO L290 TraceCheckUtils]: 60: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 12:21:28,982 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #78#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,983 INFO L290 TraceCheckUtils]: 62: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,983 INFO L290 TraceCheckUtils]: 63: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,984 INFO L290 TraceCheckUtils]: 64: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !false; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,984 INFO L272 TraceCheckUtils]: 65: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16648#true} is VALID [2022-04-08 12:21:28,984 INFO L290 TraceCheckUtils]: 66: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 12:21:28,984 INFO L290 TraceCheckUtils]: 67: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 12:21:28,984 INFO L290 TraceCheckUtils]: 68: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 12:21:28,985 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #74#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,985 INFO L272 TraceCheckUtils]: 70: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16648#true} is VALID [2022-04-08 12:21:28,985 INFO L290 TraceCheckUtils]: 71: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 12:21:28,985 INFO L290 TraceCheckUtils]: 72: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 12:21:28,985 INFO L290 TraceCheckUtils]: 73: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 12:21:28,985 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {16648#true} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #76#return; {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,986 INFO L272 TraceCheckUtils]: 75: Hoare triple {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16648#true} is VALID [2022-04-08 12:21:28,986 INFO L290 TraceCheckUtils]: 76: Hoare triple {16648#true} ~cond := #in~cond; {16882#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:21:28,986 INFO L290 TraceCheckUtils]: 77: Hoare triple {16882#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:21:28,987 INFO L290 TraceCheckUtils]: 78: Hoare triple {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:21:28,987 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} {16734#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #78#return; {16893#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,988 INFO L290 TraceCheckUtils]: 80: Hoare triple {16893#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16893#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 12:21:28,989 INFO L290 TraceCheckUtils]: 81: Hoare triple {16893#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {16900#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-08 12:21:28,990 INFO L290 TraceCheckUtils]: 82: Hoare triple {16900#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !false; {16900#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-08 12:21:28,990 INFO L272 TraceCheckUtils]: 83: Hoare triple {16900#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= 1 (+ main_~q~0 main_~p~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16648#true} is VALID [2022-04-08 12:21:28,990 INFO L290 TraceCheckUtils]: 84: Hoare triple {16648#true} ~cond := #in~cond; {16882#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:21:28,990 INFO L290 TraceCheckUtils]: 85: Hoare triple {16882#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:21:28,991 INFO L290 TraceCheckUtils]: 86: Hoare triple {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:21:30,994 WARN L284 TraceCheckUtils]: 87: Hoare quadruple {16886#(not (= |__VERIFIER_assert_#in~cond| 0))} {16900#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= 1 (+ main_~q~0 main_~p~0)))} #74#return; {16919#(or (and (<= 1 (+ (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~p~0)) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) 0) (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~r~0) 1)) (not (= main_~x~0 0))) (and (= main_~x~0 0) (not (= main_~r~0 0)) (= (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) 0) (<= 1 (+ main_~p~0 (div (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0))) (= (mod (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0) 0)))} is UNKNOWN [2022-04-08 12:21:31,000 INFO L272 TraceCheckUtils]: 88: Hoare triple {16919#(or (and (<= 1 (+ (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~p~0)) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) 0) (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~r~0) 1)) (not (= main_~x~0 0))) (and (= main_~x~0 0) (not (= main_~r~0 0)) (= (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) 0) (<= 1 (+ main_~p~0 (div (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0))) (= (mod (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0) 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16923#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:21:31,001 INFO L290 TraceCheckUtils]: 89: Hoare triple {16923#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16927#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:21:31,001 INFO L290 TraceCheckUtils]: 90: Hoare triple {16927#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16649#false} is VALID [2022-04-08 12:21:31,001 INFO L290 TraceCheckUtils]: 91: Hoare triple {16649#false} assume !false; {16649#false} is VALID [2022-04-08 12:21:31,002 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 70 proven. 11 refuted. 0 times theorem prover too weak. 170 trivial. 0 not checked. [2022-04-08 12:21:31,002 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:22:35,760 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:24:18,178 WARN L855 $PredicateComparison]: unable to prove that (forall ((v_main_~q~0_BEFORE_CALL_129 Int) (v_main_~p~0_BEFORE_CALL_131 Int) (v_main_~s~0_BEFORE_CALL_123 Int) (v_main_~r~0_BEFORE_CALL_128 Int)) (or (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (let ((.cse0 (+ (* v_main_~r~0_BEFORE_CALL_128 v_main_~q~0_BEFORE_CALL_129) 1))) (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (= (mod .cse0 v_main_~p~0_BEFORE_CALL_131) 0) (= .cse0 0)))) (not (= (+ (* (+ (* (- 1) v_main_~s~0_BEFORE_CALL_123) v_main_~r~0_BEFORE_CALL_128) v_main_~q~0_BEFORE_CALL_129) 1) (* (+ v_main_~p~0_BEFORE_CALL_131 (* (- 1) v_main_~q~0_BEFORE_CALL_129)) v_main_~s~0_BEFORE_CALL_123))))) is different from true [2022-04-08 12:26:43,196 WARN L855 $PredicateComparison]: unable to prove that (or (forall ((v_main_~q~0_BEFORE_CALL_129 Int) (v_main_~p~0_BEFORE_CALL_131 Int) (v_main_~s~0_BEFORE_CALL_123 Int) (v_main_~r~0_BEFORE_CALL_128 Int)) (or (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (let ((.cse0 (+ (* v_main_~r~0_BEFORE_CALL_128 v_main_~q~0_BEFORE_CALL_129) 1))) (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (= (mod .cse0 v_main_~p~0_BEFORE_CALL_131) 0) (= .cse0 0)))) (not (= (+ (* (+ (* (- 1) v_main_~s~0_BEFORE_CALL_123) v_main_~r~0_BEFORE_CALL_128) v_main_~q~0_BEFORE_CALL_129) 1) (* (+ v_main_~p~0_BEFORE_CALL_131 (* (- 1) v_main_~q~0_BEFORE_CALL_129)) v_main_~s~0_BEFORE_CALL_123))))) (= c___VERIFIER_assert_~cond 0)) is different from true [2022-04-08 12:27:29,146 WARN L855 $PredicateComparison]: unable to prove that (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~q~0_BEFORE_CALL_129 Int) (v_main_~p~0_BEFORE_CALL_131 Int) (v_main_~s~0_BEFORE_CALL_123 Int) (v_main_~r~0_BEFORE_CALL_128 Int)) (let ((.cse0 (+ (* v_main_~r~0_BEFORE_CALL_128 v_main_~q~0_BEFORE_CALL_129) 1))) (or (not (= (+ (* (+ (* (- 1) v_main_~s~0_BEFORE_CALL_123) v_main_~r~0_BEFORE_CALL_128) v_main_~q~0_BEFORE_CALL_129) 1) (* (+ v_main_~p~0_BEFORE_CALL_131 (* (- 1) v_main_~q~0_BEFORE_CALL_129)) v_main_~s~0_BEFORE_CALL_123))) (= (mod .cse0 v_main_~p~0_BEFORE_CALL_131) 0) (= .cse0 0))))) is different from true