/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/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 05:42:27,061 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 05:42:27,062 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 05:42:27,081 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 05:42:27,081 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 05:42:27,082 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 05:42:27,082 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 05:42:27,084 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 05:42:27,085 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 05:42:27,085 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 05:42:27,086 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 05:42:27,087 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 05:42:27,087 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 05:42:27,088 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 05:42:27,088 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 05:42:27,089 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 05:42:27,090 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 05:42:27,090 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 05:42:27,091 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 05:42:27,093 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 05:42:27,097 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 05:42:27,098 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 05:42:27,098 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 05:42:27,099 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 05:42:27,100 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 05:42:27,101 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 05:42:27,101 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 05:42:27,102 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 05:42:27,102 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 05:42:27,102 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 05:42:27,103 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 05:42:27,103 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 05:42:27,104 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 05:42:27,104 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 05:42:27,104 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 05:42:27,105 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 05:42:27,105 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 05:42:27,106 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 05:42:27,106 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 05:42:27,106 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 05:42:27,107 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 05:42:27,107 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 05:42:27,108 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 05:42:27,113 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 05:42:27,114 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 05:42:27,114 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 05:42:27,115 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 05:42:27,115 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 05:42:27,115 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 05:42:27,115 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 05:42:27,115 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 05:42:27,115 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 05:42:27,115 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 05:42:27,115 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 05:42:27,115 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 05:42:27,116 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 05:42:27,116 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 05:42:27,116 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 05:42:27,116 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 05:42:27,116 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 05:42:27,116 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 05:42:27,116 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 05:42:27,116 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 05:42:27,116 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 05:42:27,116 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 05:42:27,117 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 05:42:27,117 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 05:42:27,117 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 05:42:27,117 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 05:42:27,312 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 05:42:27,328 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 05:42:27,329 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 05:42:27,330 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 05:42:27,335 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 05:42:27,336 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 05:42:27,397 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9f29d9729/76dd6cc79da3429c9140834af5e2bcc2/FLAG24e40cc11 [2022-04-08 05:42:27,765 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 05:42:27,765 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound20.c [2022-04-08 05:42:27,771 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9f29d9729/76dd6cc79da3429c9140834af5e2bcc2/FLAG24e40cc11 [2022-04-08 05:42:27,782 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9f29d9729/76dd6cc79da3429c9140834af5e2bcc2 [2022-04-08 05:42:27,784 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 05:42:27,784 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 05:42:27,787 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 05:42:27,787 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 05:42:27,789 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 05:42:27,790 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 05:42:27" (1/1) ... [2022-04-08 05:42:27,791 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@28399baa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:42:27, skipping insertion in model container [2022-04-08 05:42:27,791 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 05:42:27" (1/1) ... [2022-04-08 05:42:27,795 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 05:42:27,804 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 05:42:27,913 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 05:42:27,930 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 05:42:27,936 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 05:42:27,944 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 05:42:27,952 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 05:42:27,960 INFO L208 MainTranslator]: Completed translation [2022-04-08 05:42:27,960 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:42:27 WrapperNode [2022-04-08 05:42:27,961 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 05:42:27,961 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 05:42:27,961 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 05:42:27,961 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 05:42:27,968 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:42:27" (1/1) ... [2022-04-08 05:42:27,968 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:42:27" (1/1) ... [2022-04-08 05:42:27,973 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:42:27" (1/1) ... [2022-04-08 05:42:27,973 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:42:27" (1/1) ... [2022-04-08 05:42:27,978 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:42:27" (1/1) ... [2022-04-08 05:42:27,981 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:42:27" (1/1) ... [2022-04-08 05:42:27,981 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:42:27" (1/1) ... [2022-04-08 05:42:27,982 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 05:42:27,983 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 05:42:27,983 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 05:42:27,983 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 05:42:27,984 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:42:27" (1/1) ... [2022-04-08 05:42:27,998 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 05:42:28,019 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:28,049 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 05:42:28,055 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 05:42:28,075 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 05:42:28,075 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 05:42:28,076 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 05:42:28,076 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 05:42:28,076 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 05:42:28,076 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 05:42:28,076 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 05:42:28,076 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 05:42:28,077 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 05:42:28,077 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 05:42:28,077 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 05:42:28,077 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 05:42:28,079 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 05:42:28,079 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 05:42:28,079 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 05:42:28,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 05:42:28,079 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 05:42:28,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 05:42:28,079 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 05:42:28,079 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 05:42:28,123 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 05:42:28,124 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 05:42:28,291 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 05:42:28,296 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 05:42:28,296 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 05:42:28,297 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 05:42:28 BoogieIcfgContainer [2022-04-08 05:42:28,298 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 05:42:28,299 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 05:42:28,299 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 05:42:28,301 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 05:42:28,301 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 05:42:27" (1/3) ... [2022-04-08 05:42:28,301 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@20102d13 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 05:42:28, skipping insertion in model container [2022-04-08 05:42:28,302 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:42:27" (2/3) ... [2022-04-08 05:42:28,302 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@20102d13 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 05:42:28, skipping insertion in model container [2022-04-08 05:42:28,302 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 05:42:28" (3/3) ... [2022-04-08 05:42:28,303 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound20.c [2022-04-08 05:42:28,306 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 05:42:28,306 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 05:42:28,337 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 05:42:28,341 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 05:42:28,341 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 05:42:28,363 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 05:42:28,368 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 05:42:28,369 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:28,369 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 05:42:28,369 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:28,372 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:28,373 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 1 times [2022-04-08 05:42:28,377 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:28,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [172334977] [2022-04-08 05:42:28,385 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:28,385 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 2 times [2022-04-08 05:42:28,387 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:28,388 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1436297583] [2022-04-08 05:42:28,388 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:28,388 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:28,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:28,539 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 05:42:28,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:28,565 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 05:42:28,565 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 05:42:28,566 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-08 05:42:28,566 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 05:42:28,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:28,588 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:42:28,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:42:28,589 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:42:28,589 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-08 05:42:28,589 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 05:42:28,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:28,598 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:42:28,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:42:28,599 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:42:28,599 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-08 05:42:28,599 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 05:42:28,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:28,612 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:42:28,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:42:28,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:42:28,613 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-08 05:42:28,613 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 05:42:28,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:28,626 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:42:28,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:42:28,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:42:28,628 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-08 05:42:28,629 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 05:42:28,630 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 05:42:28,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 05:42:28,630 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-08 05:42:28,631 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-08 05:42:28,631 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 05:42:28,631 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 05:42:28,631 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:42:28,632 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:42:28,632 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:42:28,632 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-08 05:42:28,632 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 05:42:28,633 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 05:42:28,633 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:42:28,633 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:42:28,633 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:42:28,634 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-08 05:42:28,634 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 05:42:28,634 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:42:28,635 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:42:28,635 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:42:28,635 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-08 05:42:28,635 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 05:42:28,636 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:42:28,637 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:42:28,637 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:42:28,637 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-08 05:42:28,637 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 05:42:28,638 INFO L290 TraceCheckUtils]: 28: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-08 05:42:28,640 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 05:42:28,640 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-08 05:42:28,640 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-08 05:42:28,641 INFO L290 TraceCheckUtils]: 32: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-08 05:42:28,641 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 05:42:28,642 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:28,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1436297583] [2022-04-08 05:42:28,643 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1436297583] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:28,643 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:28,643 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 05:42:28,646 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:28,646 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [172334977] [2022-04-08 05:42:28,647 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [172334977] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:28,647 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:28,647 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 05:42:28,647 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1498957527] [2022-04-08 05:42:28,647 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:28,653 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 05:42:28,655 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:28,658 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 05:42:28,694 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 05:42:28,694 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 05:42:28,695 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:28,717 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 05:42:28,717 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 05:42:28,719 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 05:42:28,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:28,910 INFO L93 Difference]: Finished difference Result 67 states and 105 transitions. [2022-04-08 05:42:28,910 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 05:42:28,911 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 05:42:28,911 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:28,913 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 05:42:28,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-08 05:42:28,926 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 05:42:28,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-08 05:42:28,930 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 105 transitions. [2022-04-08 05:42:29,061 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 05:42:29,076 INFO L225 Difference]: With dead ends: 67 [2022-04-08 05:42:29,076 INFO L226 Difference]: Without dead ends: 32 [2022-04-08 05:42:29,079 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 05:42:29,082 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:42:29,083 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 39 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:42:29,094 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-08 05:42:29,112 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-08 05:42:29,113 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:29,113 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 05:42:29,114 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 05:42:29,115 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 05:42:29,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:29,124 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-08 05:42:29,124 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-08 05:42:29,125 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:29,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:29,126 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 05:42:29,126 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 05:42:29,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:29,132 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-08 05:42:29,132 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-08 05:42:29,133 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:29,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:29,133 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:29,133 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:29,134 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 05:42:29,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-08 05:42:29,145 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 33 [2022-04-08 05:42:29,146 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:29,146 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-08 05:42:29,146 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 05:42:29,146 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-08 05:42:29,186 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:29,187 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-08 05:42:29,189 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 05:42:29,189 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:29,189 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 05:42:29,189 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 05:42:29,190 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:29,190 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:29,190 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 1 times [2022-04-08 05:42:29,191 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:29,191 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1575816470] [2022-04-08 05:42:29,192 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:29,192 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 2 times [2022-04-08 05:42:29,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:29,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1214114244] [2022-04-08 05:42:29,192 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:29,192 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:29,233 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:29,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2039203637] [2022-04-08 05:42:29,236 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:42:29,236 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:29,237 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:29,237 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 05:42:29,240 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 05:42:29,288 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 05:42:29,288 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:29,304 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 05:42:29,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:29,322 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:29,483 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-08 05:42:29,483 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 05:42:29,483 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 05:42:29,484 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #88#return; {326#true} is VALID [2022-04-08 05:42:29,484 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-08 05:42:29,484 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 05:42:29,484 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 05:42:29,484 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 05:42:29,484 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 05:42:29,484 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 05:42:29,485 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #66#return; {326#true} is VALID [2022-04-08 05:42:29,485 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 05:42:29,485 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 05:42:29,485 INFO L290 TraceCheckUtils]: 13: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 05:42:29,485 INFO L290 TraceCheckUtils]: 14: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 05:42:29,485 INFO L290 TraceCheckUtils]: 15: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 05:42:29,485 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {326#true} {326#true} #68#return; {326#true} is VALID [2022-04-08 05:42:29,486 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 05:42:29,486 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 05:42:29,486 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 05:42:29,486 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 05:42:29,486 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {326#true} #70#return; {326#true} is VALID [2022-04-08 05:42:29,486 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 05:42:29,486 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 05:42:29,486 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 05:42:29,487 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 05:42:29,487 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {326#true} #72#return; {326#true} is VALID [2022-04-08 05:42:29,487 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 05:42:29,488 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 05:42:29,489 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 05:42:29,489 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 05:42:29,489 INFO L290 TraceCheckUtils]: 31: Hoare triple {423#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {327#false} is VALID [2022-04-08 05:42:29,490 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-08 05:42:29,490 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 05:42:29,490 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:42:29,490 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:29,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1214114244] [2022-04-08 05:42:29,490 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:29,491 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2039203637] [2022-04-08 05:42:29,491 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2039203637] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:29,491 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:29,491 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:42:29,492 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:29,492 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1575816470] [2022-04-08 05:42:29,492 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1575816470] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:29,492 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:29,492 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:42:29,492 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [466144366] [2022-04-08 05:42:29,492 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:29,493 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 05:42:29,493 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:29,493 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 05:42:29,510 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 05:42:29,511 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:42:29,511 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:29,511 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:42:29,511 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:42:29,512 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 05:42:29,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:29,734 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-04-08 05:42:29,734 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:42:29,735 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 05:42:29,735 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:29,735 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 05:42:29,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 05:42:29,737 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 05:42:29,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 05:42:29,739 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-08 05:42:29,793 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 05:42:29,796 INFO L225 Difference]: With dead ends: 48 [2022-04-08 05:42:29,796 INFO L226 Difference]: Without dead ends: 46 [2022-04-08 05:42:29,797 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 05:42:29,799 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:42:29,802 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.1s Time] [2022-04-08 05:42:29,803 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-08 05:42:29,819 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-04-08 05:42:29,819 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:29,820 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 05:42:29,820 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 05:42:29,821 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 05:42:29,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:29,827 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-08 05:42:29,827 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-08 05:42:29,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:29,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:29,834 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 05:42:29,835 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 05:42:29,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:29,840 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-08 05:42:29,841 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-08 05:42:29,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:29,842 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:29,842 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:29,842 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:29,843 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 05:42:29,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 62 transitions. [2022-04-08 05:42:29,847 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 62 transitions. Word has length 33 [2022-04-08 05:42:29,847 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:29,847 INFO L478 AbstractCegarLoop]: Abstraction has 45 states and 62 transitions. [2022-04-08 05:42:29,848 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 05:42:29,848 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 62 transitions. [2022-04-08 05:42:29,903 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 05:42:29,904 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-08 05:42:29,905 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 05:42:29,905 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:29,905 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 05:42:29,924 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 05:42:30,124 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 05:42:30,125 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:30,125 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:30,125 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 1 times [2022-04-08 05:42:30,125 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:30,125 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1900600868] [2022-04-08 05:42:30,126 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:30,126 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 2 times [2022-04-08 05:42:30,126 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:30,126 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [846519716] [2022-04-08 05:42:30,126 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:30,126 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:30,141 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:30,141 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [203712511] [2022-04-08 05:42:30,141 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:42:30,141 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:30,142 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:30,142 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 05:42:30,148 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 05:42:30,183 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:42:30,184 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:30,184 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 05:42:30,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:30,217 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:30,383 INFO L272 TraceCheckUtils]: 0: Hoare triple {709#true} call ULTIMATE.init(); {709#true} is VALID [2022-04-08 05:42:30,383 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 05:42:30,385 INFO L290 TraceCheckUtils]: 2: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 05:42:30,385 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {709#true} {709#true} #88#return; {709#true} is VALID [2022-04-08 05:42:30,385 INFO L272 TraceCheckUtils]: 4: Hoare triple {709#true} call #t~ret6 := main(); {709#true} is VALID [2022-04-08 05:42:30,385 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 05:42:30,385 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 05:42:30,386 INFO L290 TraceCheckUtils]: 7: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 05:42:30,386 INFO L290 TraceCheckUtils]: 8: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 05:42:30,386 INFO L290 TraceCheckUtils]: 9: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 05:42:30,386 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {709#true} {709#true} #66#return; {709#true} is VALID [2022-04-08 05:42:30,386 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 05:42:30,386 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 05:42:30,386 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 05:42:30,386 INFO L290 TraceCheckUtils]: 14: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 05:42:30,386 INFO L290 TraceCheckUtils]: 15: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 05:42:30,388 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {709#true} {709#true} #68#return; {709#true} is VALID [2022-04-08 05:42:30,389 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 05:42:30,389 INFO L290 TraceCheckUtils]: 18: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 05:42:30,389 INFO L290 TraceCheckUtils]: 19: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 05:42:30,389 INFO L290 TraceCheckUtils]: 20: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 05:42:30,389 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {709#true} {709#true} #70#return; {709#true} is VALID [2022-04-08 05:42:30,389 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 05:42:30,389 INFO L290 TraceCheckUtils]: 23: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 05:42:30,389 INFO L290 TraceCheckUtils]: 24: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 05:42:30,390 INFO L290 TraceCheckUtils]: 25: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 05:42:30,390 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {709#true} {709#true} #72#return; {709#true} is VALID [2022-04-08 05:42:30,390 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 05:42:30,391 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 05:42:30,392 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 05:42:30,392 INFO L290 TraceCheckUtils]: 30: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 05:42:30,392 INFO L290 TraceCheckUtils]: 31: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 05:42:30,394 INFO L290 TraceCheckUtils]: 32: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 05:42:30,395 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 05:42:30,405 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 05:42:30,406 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 05:42:30,407 INFO L290 TraceCheckUtils]: 36: Hoare triple {821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {710#false} is VALID [2022-04-08 05:42:30,407 INFO L290 TraceCheckUtils]: 37: Hoare triple {710#false} assume !false; {710#false} is VALID [2022-04-08 05:42:30,407 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 05:42:30,407 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:42:30,407 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:30,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [846519716] [2022-04-08 05:42:30,408 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:30,408 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [203712511] [2022-04-08 05:42:30,408 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [203712511] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:30,408 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:30,408 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:42:30,408 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:30,408 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1900600868] [2022-04-08 05:42:30,408 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1900600868] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:30,408 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:30,408 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:42:30,408 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [932029421] [2022-04-08 05:42:30,408 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:30,409 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 05:42:30,409 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:30,409 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 05:42:30,434 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 05:42:30,434 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:42:30,434 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:30,435 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:42:30,435 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:42:30,435 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 05:42:30,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:30,610 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2022-04-08 05:42:30,610 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:42:30,610 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 05:42:30,611 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:30,611 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 05:42:30,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 05:42:30,613 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 05:42:30,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 05:42:30,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-08 05:42:30,664 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 05:42:30,668 INFO L225 Difference]: With dead ends: 52 [2022-04-08 05:42:30,668 INFO L226 Difference]: Without dead ends: 50 [2022-04-08 05:42:30,671 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 05:42:30,677 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 05:42:30,678 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 05:42:30,679 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-08 05:42:30,698 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-08 05:42:30,698 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:30,699 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 05:42:30,700 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 05:42:30,701 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 05:42:30,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:30,703 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-08 05:42:30,703 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-08 05:42:30,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:30,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:30,704 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 05:42:30,704 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 05:42:30,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:30,706 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-08 05:42:30,706 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-08 05:42:30,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:30,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:30,707 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:30,707 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:30,707 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 05:42:30,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 65 transitions. [2022-04-08 05:42:30,709 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 65 transitions. Word has length 38 [2022-04-08 05:42:30,709 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:30,709 INFO L478 AbstractCegarLoop]: Abstraction has 49 states and 65 transitions. [2022-04-08 05:42:30,709 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 05:42:30,709 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 65 transitions. [2022-04-08 05:42:30,768 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 05:42:30,768 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-08 05:42:30,769 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 05:42:30,769 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:30,769 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 05:42:30,785 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 05:42:30,971 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 05:42:30,972 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:30,972 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:30,972 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 1 times [2022-04-08 05:42:30,972 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:30,972 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [470213558] [2022-04-08 05:42:30,972 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:30,973 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 2 times [2022-04-08 05:42:30,973 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:30,973 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [887543416] [2022-04-08 05:42:30,973 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:30,973 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:30,989 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:30,990 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1197555990] [2022-04-08 05:42:30,990 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:42:30,990 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:30,990 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:30,998 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 05:42:30,999 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 05:42:31,038 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:42:31,039 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:31,039 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 05:42:31,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:31,063 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:31,183 INFO L272 TraceCheckUtils]: 0: Hoare triple {1131#true} call ULTIMATE.init(); {1131#true} is VALID [2022-04-08 05:42:31,184 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 05:42:31,184 INFO L290 TraceCheckUtils]: 2: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-08 05:42:31,184 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1131#true} {1131#true} #88#return; {1131#true} is VALID [2022-04-08 05:42:31,185 INFO L272 TraceCheckUtils]: 4: Hoare triple {1131#true} call #t~ret6 := main(); {1131#true} is VALID [2022-04-08 05:42:31,185 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 05:42:31,185 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 05:42:31,185 INFO L290 TraceCheckUtils]: 7: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-08 05:42:31,185 INFO L290 TraceCheckUtils]: 8: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-08 05:42:31,185 INFO L290 TraceCheckUtils]: 9: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-08 05:42:31,185 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1131#true} {1131#true} #66#return; {1131#true} is VALID [2022-04-08 05:42:31,185 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 05:42:31,185 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 05:42:31,185 INFO L290 TraceCheckUtils]: 13: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-08 05:42:31,186 INFO L290 TraceCheckUtils]: 14: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-08 05:42:31,186 INFO L290 TraceCheckUtils]: 15: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-08 05:42:31,186 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1131#true} {1131#true} #68#return; {1131#true} is VALID [2022-04-08 05:42:31,186 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 05:42:31,186 INFO L290 TraceCheckUtils]: 18: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-08 05:42:31,186 INFO L290 TraceCheckUtils]: 19: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-08 05:42:31,186 INFO L290 TraceCheckUtils]: 20: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-08 05:42:31,186 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1131#true} {1131#true} #70#return; {1131#true} is VALID [2022-04-08 05:42:31,186 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 05:42:31,186 INFO L290 TraceCheckUtils]: 23: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-08 05:42:31,186 INFO L290 TraceCheckUtils]: 24: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-08 05:42:31,186 INFO L290 TraceCheckUtils]: 25: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-08 05:42:31,187 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1131#true} {1131#true} #72#return; {1131#true} is VALID [2022-04-08 05:42:31,187 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 05:42:31,187 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 05:42:31,188 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 05:42:31,188 INFO L290 TraceCheckUtils]: 30: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-08 05:42:31,188 INFO L290 TraceCheckUtils]: 31: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-08 05:42:31,188 INFO L290 TraceCheckUtils]: 32: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-08 05:42:31,188 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 05:42:31,188 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 05:42:31,189 INFO L290 TraceCheckUtils]: 35: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-08 05:42:31,189 INFO L290 TraceCheckUtils]: 36: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-08 05:42:31,189 INFO L290 TraceCheckUtils]: 37: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-08 05:42:31,189 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 05:42:31,190 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 05:42:31,190 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 05:42:31,190 INFO L290 TraceCheckUtils]: 41: Hoare triple {1258#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1132#false} is VALID [2022-04-08 05:42:31,190 INFO L290 TraceCheckUtils]: 42: Hoare triple {1132#false} assume !false; {1132#false} is VALID [2022-04-08 05:42:31,192 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 05:42:31,193 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:42:31,193 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:31,193 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [887543416] [2022-04-08 05:42:31,193 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:31,194 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1197555990] [2022-04-08 05:42:31,194 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1197555990] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:31,194 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:31,194 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:42:31,194 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:31,194 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [470213558] [2022-04-08 05:42:31,194 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [470213558] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:31,194 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:31,194 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:42:31,194 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [796294104] [2022-04-08 05:42:31,194 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:31,195 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 05:42:31,195 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:31,195 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 05:42:31,212 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 05:42:31,212 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:42:31,212 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:31,213 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:42:31,213 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:42:31,213 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 05:42:31,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:31,383 INFO L93 Difference]: Finished difference Result 74 states and 105 transitions. [2022-04-08 05:42:31,383 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:42:31,383 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 05:42:31,384 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:31,384 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 05:42:31,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 05:42:31,385 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 05:42:31,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 05:42:31,386 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-08 05:42:31,431 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 05:42:31,433 INFO L225 Difference]: With dead ends: 74 [2022-04-08 05:42:31,433 INFO L226 Difference]: Without dead ends: 70 [2022-04-08 05:42:31,433 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 05:42:31,434 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 05:42:31,434 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 05:42:31,434 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-08 05:42:31,450 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-08 05:42:31,450 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:31,450 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 05:42:31,451 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 05:42:31,451 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 05:42:31,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:31,454 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-08 05:42:31,454 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-08 05:42:31,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:31,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:31,454 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 05:42:31,455 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 05:42:31,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:31,457 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-08 05:42:31,457 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-08 05:42:31,458 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:31,458 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:31,458 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:31,458 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:31,458 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 05:42:31,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 98 transitions. [2022-04-08 05:42:31,460 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 98 transitions. Word has length 43 [2022-04-08 05:42:31,460 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:31,461 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 98 transitions. [2022-04-08 05:42:31,461 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 05:42:31,461 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 98 transitions. [2022-04-08 05:42:31,544 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 05:42:31,544 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-08 05:42:31,545 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 05:42:31,545 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:31,545 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 05:42:31,564 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 05:42:31,759 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 05:42:31,759 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:31,760 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:31,760 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 1 times [2022-04-08 05:42:31,760 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:31,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [144509980] [2022-04-08 05:42:31,760 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:31,760 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 2 times [2022-04-08 05:42:31,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:31,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1558340583] [2022-04-08 05:42:31,761 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:31,761 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:31,778 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:31,778 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [704703770] [2022-04-08 05:42:31,778 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:42:31,778 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:31,779 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:31,789 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 05:42:31,815 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 05:42:31,838 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:42:31,838 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:31,839 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 05:42:31,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:31,850 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:31,935 INFO L272 TraceCheckUtils]: 0: Hoare triple {1694#true} call ULTIMATE.init(); {1694#true} is VALID [2022-04-08 05:42:31,935 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 05:42:31,935 INFO L290 TraceCheckUtils]: 2: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 05:42:31,935 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1694#true} {1694#true} #88#return; {1694#true} is VALID [2022-04-08 05:42:31,936 INFO L272 TraceCheckUtils]: 4: Hoare triple {1694#true} call #t~ret6 := main(); {1694#true} is VALID [2022-04-08 05:42:31,936 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 05:42:31,936 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 05:42:31,936 INFO L290 TraceCheckUtils]: 7: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-08 05:42:31,936 INFO L290 TraceCheckUtils]: 8: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-08 05:42:31,936 INFO L290 TraceCheckUtils]: 9: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 05:42:31,936 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1694#true} {1694#true} #66#return; {1694#true} is VALID [2022-04-08 05:42:31,936 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 05:42:31,936 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 05:42:31,936 INFO L290 TraceCheckUtils]: 13: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-08 05:42:31,936 INFO L290 TraceCheckUtils]: 14: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-08 05:42:31,937 INFO L290 TraceCheckUtils]: 15: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 05:42:31,937 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1694#true} {1694#true} #68#return; {1694#true} is VALID [2022-04-08 05:42:31,937 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 05:42:31,937 INFO L290 TraceCheckUtils]: 18: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-08 05:42:31,937 INFO L290 TraceCheckUtils]: 19: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-08 05:42:31,937 INFO L290 TraceCheckUtils]: 20: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 05:42:31,937 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1694#true} {1694#true} #70#return; {1694#true} is VALID [2022-04-08 05:42:31,937 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 05:42:31,937 INFO L290 TraceCheckUtils]: 23: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-08 05:42:31,937 INFO L290 TraceCheckUtils]: 24: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-08 05:42:31,937 INFO L290 TraceCheckUtils]: 25: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 05:42:31,938 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1694#true} {1694#true} #72#return; {1694#true} is VALID [2022-04-08 05:42:31,938 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 05:42:31,938 INFO L290 TraceCheckUtils]: 28: Hoare triple {1694#true} assume !false; {1694#true} is VALID [2022-04-08 05:42:31,938 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 05:42:31,938 INFO L290 TraceCheckUtils]: 30: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-08 05:42:31,938 INFO L290 TraceCheckUtils]: 31: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-08 05:42:31,938 INFO L290 TraceCheckUtils]: 32: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 05:42:31,938 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1694#true} {1694#true} #74#return; {1694#true} is VALID [2022-04-08 05:42:31,938 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 05:42:31,938 INFO L290 TraceCheckUtils]: 35: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-08 05:42:31,938 INFO L290 TraceCheckUtils]: 36: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-08 05:42:31,938 INFO L290 TraceCheckUtils]: 37: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 05:42:31,939 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1694#true} {1694#true} #76#return; {1694#true} is VALID [2022-04-08 05:42:31,939 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 05:42:31,939 INFO L290 TraceCheckUtils]: 40: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-08 05:42:31,939 INFO L290 TraceCheckUtils]: 41: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-08 05:42:31,939 INFO L290 TraceCheckUtils]: 42: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-08 05:42:31,939 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1694#true} {1694#true} #78#return; {1694#true} is VALID [2022-04-08 05:42:31,940 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 05:42:31,940 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 05:42:31,940 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 05:42:31,941 INFO L290 TraceCheckUtils]: 47: Hoare triple {1839#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1695#false} is VALID [2022-04-08 05:42:31,941 INFO L290 TraceCheckUtils]: 48: Hoare triple {1695#false} assume !false; {1695#false} is VALID [2022-04-08 05:42:31,941 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 05:42:31,941 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:42:31,942 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:31,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1558340583] [2022-04-08 05:42:31,942 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:31,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [704703770] [2022-04-08 05:42:31,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [704703770] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:31,942 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:31,942 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:42:31,942 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:31,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [144509980] [2022-04-08 05:42:31,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [144509980] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:31,942 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:31,942 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:42:31,942 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1925041273] [2022-04-08 05:42:31,942 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:31,943 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 05:42:31,943 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:31,943 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 05:42:31,963 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 05:42:31,963 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:42:31,963 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:31,963 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:42:31,963 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:42:31,964 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 05:42:32,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:32,104 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-08 05:42:32,104 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:42:32,104 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 05:42:32,104 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:32,104 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 05:42:32,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-08 05:42:32,105 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 05:42:32,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-08 05:42:32,106 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-08 05:42:32,136 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 05:42:32,138 INFO L225 Difference]: With dead ends: 76 [2022-04-08 05:42:32,138 INFO L226 Difference]: Without dead ends: 74 [2022-04-08 05:42:32,138 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 05:42:32,139 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 05:42:32,139 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 05:42:32,139 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-08 05:42:32,158 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-08 05:42:32,159 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:32,159 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 05:42:32,159 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 05:42:32,159 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 05:42:32,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:32,162 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-08 05:42:32,162 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-08 05:42:32,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:32,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:32,163 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 05:42:32,163 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 05:42:32,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:32,165 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-08 05:42:32,165 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-08 05:42:32,166 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:32,166 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:32,166 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:32,166 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:32,166 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 05:42:32,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 101 transitions. [2022-04-08 05:42:32,168 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 101 transitions. Word has length 49 [2022-04-08 05:42:32,169 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:32,169 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 101 transitions. [2022-04-08 05:42:32,169 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 05:42:32,169 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 101 transitions. [2022-04-08 05:42:32,253 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 05:42:32,254 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-08 05:42:32,254 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 05:42:32,254 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:32,254 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 05:42:32,273 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 05:42:32,466 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 05:42:32,467 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:32,467 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:32,467 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 1 times [2022-04-08 05:42:32,467 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:32,467 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [414329052] [2022-04-08 05:42:32,468 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:32,468 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 2 times [2022-04-08 05:42:32,468 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:32,468 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [548931018] [2022-04-08 05:42:32,468 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:32,468 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:32,494 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:32,494 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [942874296] [2022-04-08 05:42:32,494 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:42:32,494 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:32,494 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:32,495 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 05:42:32,496 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 05:42:32,535 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:42:32,535 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:32,536 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 05:42:32,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:32,584 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:32,738 INFO L272 TraceCheckUtils]: 0: Hoare triple {2295#true} call ULTIMATE.init(); {2295#true} is VALID [2022-04-08 05:42:32,738 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 05:42:32,739 INFO L290 TraceCheckUtils]: 2: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 05:42:32,739 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2295#true} {2295#true} #88#return; {2295#true} is VALID [2022-04-08 05:42:32,739 INFO L272 TraceCheckUtils]: 4: Hoare triple {2295#true} call #t~ret6 := main(); {2295#true} is VALID [2022-04-08 05:42:32,739 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 05:42:32,739 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 05:42:32,739 INFO L290 TraceCheckUtils]: 7: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-08 05:42:32,739 INFO L290 TraceCheckUtils]: 8: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-08 05:42:32,739 INFO L290 TraceCheckUtils]: 9: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 05:42:32,739 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2295#true} {2295#true} #66#return; {2295#true} is VALID [2022-04-08 05:42:32,739 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 05:42:32,739 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 05:42:32,739 INFO L290 TraceCheckUtils]: 13: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-08 05:42:32,740 INFO L290 TraceCheckUtils]: 14: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-08 05:42:32,740 INFO L290 TraceCheckUtils]: 15: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 05:42:32,740 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2295#true} {2295#true} #68#return; {2295#true} is VALID [2022-04-08 05:42:32,740 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 05:42:32,740 INFO L290 TraceCheckUtils]: 18: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-08 05:42:32,740 INFO L290 TraceCheckUtils]: 19: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-08 05:42:32,740 INFO L290 TraceCheckUtils]: 20: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 05:42:32,740 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2295#true} {2295#true} #70#return; {2295#true} is VALID [2022-04-08 05:42:32,741 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 05:42:32,741 INFO L290 TraceCheckUtils]: 23: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-08 05:42:32,741 INFO L290 TraceCheckUtils]: 24: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-08 05:42:32,741 INFO L290 TraceCheckUtils]: 25: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 05:42:32,741 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2295#true} {2295#true} #72#return; {2295#true} is VALID [2022-04-08 05:42:32,755 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 05:42:32,756 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 05:42:32,756 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 05:42:32,756 INFO L290 TraceCheckUtils]: 30: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-08 05:42:32,756 INFO L290 TraceCheckUtils]: 31: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-08 05:42:32,756 INFO L290 TraceCheckUtils]: 32: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 05:42:32,757 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 05:42:32,757 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 05:42:32,757 INFO L290 TraceCheckUtils]: 35: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-08 05:42:32,758 INFO L290 TraceCheckUtils]: 36: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-08 05:42:32,758 INFO L290 TraceCheckUtils]: 37: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 05:42:32,758 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 05:42:32,758 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 05:42:32,759 INFO L290 TraceCheckUtils]: 40: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-08 05:42:32,759 INFO L290 TraceCheckUtils]: 41: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-08 05:42:32,759 INFO L290 TraceCheckUtils]: 42: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-08 05:42:32,762 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 05:42:32,762 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 05:42:32,763 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 05:42:32,763 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 05:42:32,764 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 05:42:32,764 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 05:42:32,764 INFO L290 TraceCheckUtils]: 49: Hoare triple {2446#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2296#false} is VALID [2022-04-08 05:42:32,764 INFO L290 TraceCheckUtils]: 50: Hoare triple {2296#false} assume !false; {2296#false} is VALID [2022-04-08 05:42:32,765 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 05:42:32,765 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:42:32,765 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:32,765 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [548931018] [2022-04-08 05:42:32,765 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:32,765 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [942874296] [2022-04-08 05:42:32,765 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [942874296] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:32,765 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:32,765 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:42:32,765 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:32,765 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [414329052] [2022-04-08 05:42:32,765 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [414329052] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:32,766 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:32,766 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:42:32,766 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [571740049] [2022-04-08 05:42:32,766 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:32,766 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 05:42:32,766 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:32,766 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 05:42:32,791 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 05:42:32,791 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:42:32,791 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:32,792 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:42:32,792 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:42:32,792 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 05:42:32,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:32,956 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-04-08 05:42:32,957 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:42:32,957 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 05:42:32,957 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:32,957 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 05:42:32,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 05:42:32,959 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 05:42:32,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 05:42:32,960 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-08 05:42:32,994 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 05:42:32,996 INFO L225 Difference]: With dead ends: 84 [2022-04-08 05:42:32,996 INFO L226 Difference]: Without dead ends: 81 [2022-04-08 05:42:32,997 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 05:42:32,998 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 05:42:32,998 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 05:42:32,999 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-08 05:42:33,027 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2022-04-08 05:42:33,027 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:33,027 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 05:42:33,027 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 05:42:33,028 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 05:42:33,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:33,032 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-08 05:42:33,032 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-08 05:42:33,033 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:33,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:33,034 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 05:42:33,034 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 05:42:33,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:33,036 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-08 05:42:33,036 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-08 05:42:33,037 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:33,037 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:33,037 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:33,037 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:33,037 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 05:42:33,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 102 transitions. [2022-04-08 05:42:33,040 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 102 transitions. Word has length 51 [2022-04-08 05:42:33,040 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:33,040 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 102 transitions. [2022-04-08 05:42:33,040 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 05:42:33,040 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 102 transitions. [2022-04-08 05:42:33,131 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 05:42:33,131 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-08 05:42:33,131 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-08 05:42:33,131 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:33,132 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 05:42:33,149 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 05:42:33,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 05:42:33,347 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:33,348 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:33,348 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 1 times [2022-04-08 05:42:33,348 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:33,348 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1501946300] [2022-04-08 05:42:33,348 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:33,348 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 2 times [2022-04-08 05:42:33,348 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:33,349 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1805473585] [2022-04-08 05:42:33,349 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:33,349 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:33,376 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:33,376 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1551361296] [2022-04-08 05:42:33,376 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:42:33,376 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:33,376 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:33,377 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 05:42:33,378 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 05:42:33,413 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:42:33,413 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:33,414 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 05:42:33,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:33,422 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:33,569 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-08 05:42:33,569 INFO L290 TraceCheckUtils]: 1: Hoare triple {2942#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2942#true} is VALID [2022-04-08 05:42:33,569 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:33,569 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-08 05:42:33,569 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-08 05:42:33,569 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 05:42:33,569 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 05:42:33,570 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 05:42:33,570 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 05:42:33,570 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:33,570 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-08 05:42:33,570 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 05:42:33,570 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 05:42:33,570 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 05:42:33,570 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 05:42:33,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:33,570 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-08 05:42:33,570 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 05:42:33,570 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 05:42:33,570 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 05:42:33,571 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:33,571 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-08 05:42:33,571 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 05:42:33,571 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 05:42:33,571 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 05:42:33,571 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:33,571 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-08 05:42:33,571 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 05:42:33,571 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-08 05:42:33,571 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 05:42:33,571 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 05:42:33,571 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 05:42:33,571 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:33,572 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-08 05:42:33,572 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 05:42:33,572 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:33,573 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 05:42:33,573 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 05:42:33,575 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 05:42:33,575 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 05:42:33,575 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 05:42:33,575 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 05:42:33,575 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:33,579 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 05:42:33,580 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 05:42:33,580 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 05:42:33,580 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 05:42:33,580 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 05:42:33,580 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:33,581 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 05:42:33,582 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 05:42:33,582 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 05:42:33,582 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-08 05:42:33,582 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-08 05:42:33,583 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 05:42:33,583 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:42:50,675 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-08 05:42:50,676 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-08 05:42:50,676 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 05:42:50,677 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 05:42:50,678 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 05:42:50,678 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:50,678 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 05:42:50,678 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 05:42:50,678 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 05:42:50,679 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 05:42:50,679 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 05:42:50,679 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:50,679 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 05:42:50,679 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 05:42:50,680 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 05:42:50,696 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 05:42:50,696 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 05:42:50,697 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 05:42:50,697 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 05:42:50,697 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 05:42:50,697 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-08 05:42:50,697 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:50,697 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 05:42:50,697 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 05:42:50,697 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 05:42:50,697 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-08 05:42:50,698 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 05:42:50,698 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-08 05:42:50,698 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:50,698 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 05:42:50,698 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 05:42:50,698 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 05:42:50,698 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-08 05:42:50,698 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:50,698 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 05:42:50,698 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 05:42:50,698 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 05:42:50,698 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-08 05:42:50,698 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:50,698 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 05:42:50,699 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 05:42:50,699 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 05:42:50,699 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 05:42:50,699 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-08 05:42:50,699 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:50,699 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-08 05:42:50,699 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-08 05:42:50,699 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 05:42:50,699 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 05:42:50,699 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-08 05:42:50,699 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-08 05:42:50,699 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-08 05:42:50,699 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 05:42:50,699 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-08 05:42:50,700 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 05:42:50,700 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:50,700 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1805473585] [2022-04-08 05:42:50,700 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:50,700 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1551361296] [2022-04-08 05:42:50,700 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1551361296] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:42:50,700 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:42:50,700 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 05:42:50,700 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:50,700 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1501946300] [2022-04-08 05:42:50,701 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1501946300] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:50,701 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:50,701 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:42:50,701 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [431859525] [2022-04-08 05:42:50,701 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:50,701 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 05:42:50,701 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:50,701 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 05:42:50,726 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 05:42:50,726 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:42:50,726 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:50,726 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:42:50,727 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:42:50,727 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 05:42:51,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:51,269 INFO L93 Difference]: Finished difference Result 88 states and 112 transitions. [2022-04-08 05:42:51,269 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:42:51,269 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 05:42:51,269 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:51,269 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 05:42:51,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-08 05:42:51,271 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 05:42:51,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-08 05:42:51,271 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 52 transitions. [2022-04-08 05:42:51,309 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 05:42:51,310 INFO L225 Difference]: With dead ends: 88 [2022-04-08 05:42:51,310 INFO L226 Difference]: Without dead ends: 84 [2022-04-08 05:42:51,310 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:42:51,311 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 05:42:51,311 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 05:42:51,311 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-08 05:42:51,346 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-08 05:42:51,346 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:51,347 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 05:42:51,347 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 05:42:51,347 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 05:42:51,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:51,349 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-08 05:42:51,349 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-08 05:42:51,350 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:51,350 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:51,351 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 05:42:51,352 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 05:42:51,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:51,354 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-08 05:42:51,354 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-08 05:42:51,354 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:51,355 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:51,355 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:51,355 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:51,355 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 05:42:51,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 105 transitions. [2022-04-08 05:42:51,357 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 105 transitions. Word has length 54 [2022-04-08 05:42:51,357 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:51,357 INFO L478 AbstractCegarLoop]: Abstraction has 84 states and 105 transitions. [2022-04-08 05:42:51,357 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 05:42:51,357 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 105 transitions. [2022-04-08 05:42:51,468 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 05:42:51,468 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-08 05:42:51,468 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-08 05:42:51,468 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:51,469 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 05:42:51,485 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-08 05:42:51,669 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 05:42:51,669 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:51,669 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:51,670 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 3 times [2022-04-08 05:42:51,670 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:51,670 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [285527490] [2022-04-08 05:42:51,670 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:51,670 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 4 times [2022-04-08 05:42:51,670 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:51,670 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1691216391] [2022-04-08 05:42:51,670 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:51,670 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:51,693 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:51,693 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1547140714] [2022-04-08 05:42:51,693 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:42:51,693 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:51,694 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:51,695 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 05:42:51,696 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 05:42:51,732 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:42:51,732 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:51,733 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 05:42:51,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:51,743 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:52,008 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-08 05:42:52,008 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 05:42:52,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,009 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-08 05:42:52,009 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-08 05:42:52,009 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 05:42:52,009 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 05:42:52,009 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,009 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,009 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,009 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-08 05:42:52,009 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 05:42:52,009 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 05:42:52,009 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,009 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,009 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,009 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-08 05:42:52,009 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 05:42:52,009 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,010 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,010 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,010 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-08 05:42:52,010 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 05:42:52,010 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,010 INFO L290 TraceCheckUtils]: 24: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,010 INFO L290 TraceCheckUtils]: 25: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,010 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3792#true} {3792#true} #72#return; {3792#true} is VALID [2022-04-08 05:42:52,017 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 05:42:52,017 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 05:42:52,017 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 05:42:52,017 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,017 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,018 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,018 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 05:42:52,018 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 05:42:52,018 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,019 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,019 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,019 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 05:42:52,019 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 05:42:52,019 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,019 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,019 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,020 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 05:42:52,020 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 05:42:52,021 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 05:42:52,021 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 05:42:52,021 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 05:42:52,021 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,021 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,021 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,022 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 05:42:52,023 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 05:42:52,023 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 05:42:52,023 INFO L290 TraceCheckUtils]: 54: Hoare triple {3959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-08 05:42:52,023 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-08 05:42:52,023 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 05:42:52,024 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:42:52,214 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-08 05:42:52,215 INFO L290 TraceCheckUtils]: 54: Hoare triple {3959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-08 05:42:52,216 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 05:42:52,217 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 05:42:52,217 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 05:42:52,217 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,217 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,217 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,217 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 05:42:52,218 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 05:42:52,346 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 05:42:52,346 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 05:42:52,347 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 05:42:52,347 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,347 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,347 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,347 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 05:42:52,348 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 05:42:52,348 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,348 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,348 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,348 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 05:42:52,349 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 05:42:52,349 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,349 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,349 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,349 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 05:42:52,349 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 05:42:52,350 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 05:42:52,350 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3792#true} {3792#true} #72#return; {3792#true} is VALID [2022-04-08 05:42:52,350 INFO L290 TraceCheckUtils]: 25: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,350 INFO L290 TraceCheckUtils]: 24: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,350 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,350 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 05:42:52,350 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-08 05:42:52,350 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,350 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,350 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,351 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 05:42:52,351 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-08 05:42:52,351 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,351 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,351 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,351 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 05:42:52,351 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 05:42:52,351 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-08 05:42:52,351 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,351 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-08 05:42:52,351 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-08 05:42:52,351 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 05:42:52,351 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 05:42:52,351 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-08 05:42:52,351 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-08 05:42:52,351 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-08 05:42:52,351 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 05:42:52,352 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-08 05:42:52,352 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 05:42:52,352 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:52,352 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1691216391] [2022-04-08 05:42:52,352 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:52,352 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1547140714] [2022-04-08 05:42:52,352 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1547140714] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:42:52,352 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:42:52,352 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-08 05:42:52,352 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:52,352 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [285527490] [2022-04-08 05:42:52,352 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [285527490] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:52,353 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:52,353 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 05:42:52,353 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1688742783] [2022-04-08 05:42:52,353 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:52,353 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 05:42:52,353 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:52,353 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 05:42:52,382 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 05:42:52,382 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 05:42:52,382 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:52,382 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 05:42:52,382 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-08 05:42:52,383 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 05:42:52,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:52,786 INFO L93 Difference]: Finished difference Result 118 states and 147 transitions. [2022-04-08 05:42:52,786 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 05:42:52,786 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 05:42:52,786 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:52,786 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 05:42:52,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 05:42:52,788 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 05:42:52,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 05:42:52,789 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-08 05:42:52,852 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 05:42:52,854 INFO L225 Difference]: With dead ends: 118 [2022-04-08 05:42:52,854 INFO L226 Difference]: Without dead ends: 116 [2022-04-08 05:42:52,854 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 104 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:42:52,854 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 8 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 125 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 128 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 125 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:42:52,855 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.1s Time] [2022-04-08 05:42:52,855 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-08 05:42:52,903 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 112. [2022-04-08 05:42:52,904 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:52,904 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 05:42:52,910 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 05:42:52,911 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 05:42:52,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:52,914 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-08 05:42:52,914 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-08 05:42:52,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:52,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:52,923 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 05:42:52,924 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 05:42:52,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:52,927 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-08 05:42:52,927 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-08 05:42:52,927 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:52,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:52,927 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:52,927 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:52,927 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 05:42:52,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 138 transitions. [2022-04-08 05:42:52,930 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 138 transitions. Word has length 56 [2022-04-08 05:42:52,930 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:52,930 INFO L478 AbstractCegarLoop]: Abstraction has 112 states and 138 transitions. [2022-04-08 05:42:52,930 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 05:42:52,930 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 138 transitions. [2022-04-08 05:42:53,079 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 05:42:53,079 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 138 transitions. [2022-04-08 05:42:53,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 05:42:53,080 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:53,080 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 05:42:53,101 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 05:42:53,280 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 05:42:53,280 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:53,281 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:53,281 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 1 times [2022-04-08 05:42:53,281 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:53,281 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [671967518] [2022-04-08 05:42:53,281 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:53,281 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 2 times [2022-04-08 05:42:53,282 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:53,282 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1864303187] [2022-04-08 05:42:53,282 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:53,282 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:53,292 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:53,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1564361724] [2022-04-08 05:42:53,292 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:42:53,293 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:53,293 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:53,293 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 05:42:53,294 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 05:42:53,333 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:42:53,333 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:53,334 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 05:42:53,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:53,343 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:53,606 INFO L272 TraceCheckUtils]: 0: Hoare triple {4829#true} call ULTIMATE.init(); {4829#true} is VALID [2022-04-08 05:42:53,607 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 05:42:53,607 INFO L290 TraceCheckUtils]: 2: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:53,607 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4829#true} {4829#true} #88#return; {4829#true} is VALID [2022-04-08 05:42:53,607 INFO L272 TraceCheckUtils]: 4: Hoare triple {4829#true} call #t~ret6 := main(); {4829#true} is VALID [2022-04-08 05:42:53,607 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 05:42:53,607 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 05:42:53,607 INFO L290 TraceCheckUtils]: 7: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:53,607 INFO L290 TraceCheckUtils]: 8: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:53,607 INFO L290 TraceCheckUtils]: 9: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:53,607 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4829#true} {4829#true} #66#return; {4829#true} is VALID [2022-04-08 05:42:53,607 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 05:42:53,607 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 05:42:53,607 INFO L290 TraceCheckUtils]: 13: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:53,607 INFO L290 TraceCheckUtils]: 14: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:53,608 INFO L290 TraceCheckUtils]: 15: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:53,608 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4829#true} {4829#true} #68#return; {4829#true} is VALID [2022-04-08 05:42:53,608 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 05:42:53,608 INFO L290 TraceCheckUtils]: 18: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:53,608 INFO L290 TraceCheckUtils]: 19: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:53,608 INFO L290 TraceCheckUtils]: 20: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:53,608 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4829#true} {4829#true} #70#return; {4829#true} is VALID [2022-04-08 05:42:53,608 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 05:42:53,608 INFO L290 TraceCheckUtils]: 23: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:53,608 INFO L290 TraceCheckUtils]: 24: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:53,608 INFO L290 TraceCheckUtils]: 25: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:53,608 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4829#true} {4829#true} #72#return; {4829#true} is VALID [2022-04-08 05:42:53,610 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 05:42:53,611 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 05:42:53,611 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 05:42:53,611 INFO L290 TraceCheckUtils]: 30: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:53,611 INFO L290 TraceCheckUtils]: 31: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:53,611 INFO L290 TraceCheckUtils]: 32: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:53,612 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 05:42:53,612 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 05:42:53,612 INFO L290 TraceCheckUtils]: 35: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:53,612 INFO L290 TraceCheckUtils]: 36: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:53,612 INFO L290 TraceCheckUtils]: 37: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:53,613 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 05:42:53,613 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 05:42:53,613 INFO L290 TraceCheckUtils]: 40: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:53,613 INFO L290 TraceCheckUtils]: 41: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:53,613 INFO L290 TraceCheckUtils]: 42: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:53,614 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 05:42:53,615 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 05:42:53,615 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 05:42:53,616 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 05:42:53,616 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 05:42:53,616 INFO L290 TraceCheckUtils]: 48: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:53,616 INFO L290 TraceCheckUtils]: 49: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:53,616 INFO L290 TraceCheckUtils]: 50: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:53,616 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 05:42:53,616 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 05:42:53,616 INFO L290 TraceCheckUtils]: 53: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:53,617 INFO L290 TraceCheckUtils]: 54: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:53,617 INFO L290 TraceCheckUtils]: 55: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:53,617 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 05:42:53,618 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 05:42:53,618 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 05:42:53,618 INFO L290 TraceCheckUtils]: 59: Hoare triple {5011#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4830#false} is VALID [2022-04-08 05:42:53,619 INFO L290 TraceCheckUtils]: 60: Hoare triple {4830#false} assume !false; {4830#false} is VALID [2022-04-08 05:42:53,619 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 05:42:53,619 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:42:53,866 INFO L290 TraceCheckUtils]: 60: Hoare triple {4830#false} assume !false; {4830#false} is VALID [2022-04-08 05:42:53,867 INFO L290 TraceCheckUtils]: 59: Hoare triple {5011#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4830#false} is VALID [2022-04-08 05:42:53,867 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 05:42:53,868 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 05:42:53,869 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 05:42:53,869 INFO L290 TraceCheckUtils]: 55: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:53,869 INFO L290 TraceCheckUtils]: 54: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:53,869 INFO L290 TraceCheckUtils]: 53: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:53,869 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 05:42:53,869 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 05:42:53,869 INFO L290 TraceCheckUtils]: 50: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:53,870 INFO L290 TraceCheckUtils]: 49: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:53,870 INFO L290 TraceCheckUtils]: 48: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:53,870 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 05:42:53,870 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 05:42:55,871 WARN 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 UNKNOWN [2022-04-08 05:42:55,872 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 05:42:55,873 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 05:42:55,873 INFO L290 TraceCheckUtils]: 42: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:55,873 INFO L290 TraceCheckUtils]: 41: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:55,873 INFO L290 TraceCheckUtils]: 40: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:55,873 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 05:42:55,874 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 05:42:55,874 INFO L290 TraceCheckUtils]: 37: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:55,874 INFO L290 TraceCheckUtils]: 36: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:55,874 INFO L290 TraceCheckUtils]: 35: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:55,874 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 05:42:55,874 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 05:42:55,875 INFO L290 TraceCheckUtils]: 32: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:55,875 INFO L290 TraceCheckUtils]: 31: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:55,875 INFO L290 TraceCheckUtils]: 30: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:55,875 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 05:42:55,875 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 05:42:55,876 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 05:42:55,876 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4829#true} {4829#true} #72#return; {4829#true} is VALID [2022-04-08 05:42:55,876 INFO L290 TraceCheckUtils]: 25: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:55,876 INFO L290 TraceCheckUtils]: 24: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:55,876 INFO L290 TraceCheckUtils]: 23: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:55,876 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 05:42:55,876 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4829#true} {4829#true} #70#return; {4829#true} is VALID [2022-04-08 05:42:55,876 INFO L290 TraceCheckUtils]: 20: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:55,876 INFO L290 TraceCheckUtils]: 19: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:55,876 INFO L290 TraceCheckUtils]: 18: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:55,876 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 05:42:55,876 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4829#true} {4829#true} #68#return; {4829#true} is VALID [2022-04-08 05:42:55,876 INFO L290 TraceCheckUtils]: 15: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:55,876 INFO L290 TraceCheckUtils]: 14: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:55,876 INFO L290 TraceCheckUtils]: 13: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:55,876 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 05:42:55,876 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 05:42:55,877 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4829#true} {4829#true} #66#return; {4829#true} is VALID [2022-04-08 05:42:55,877 INFO L290 TraceCheckUtils]: 9: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:55,877 INFO L290 TraceCheckUtils]: 8: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-08 05:42:55,877 INFO L290 TraceCheckUtils]: 7: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-08 05:42:55,877 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 05:42:55,877 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 05:42:55,877 INFO L272 TraceCheckUtils]: 4: Hoare triple {4829#true} call #t~ret6 := main(); {4829#true} is VALID [2022-04-08 05:42:55,877 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4829#true} {4829#true} #88#return; {4829#true} is VALID [2022-04-08 05:42:55,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-08 05:42:55,877 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 05:42:55,877 INFO L272 TraceCheckUtils]: 0: Hoare triple {4829#true} call ULTIMATE.init(); {4829#true} is VALID [2022-04-08 05:42:55,877 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 05:42:55,877 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:55,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1864303187] [2022-04-08 05:42:55,877 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:55,878 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1564361724] [2022-04-08 05:42:55,878 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1564361724] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:42:55,878 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:42:55,878 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-08 05:42:55,878 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:55,878 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [671967518] [2022-04-08 05:42:55,878 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [671967518] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:55,878 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:55,878 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 05:42:55,878 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [274557411] [2022-04-08 05:42:55,878 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:55,879 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 05:42:55,879 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:55,879 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 05:42:55,911 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 05:42:55,911 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 05:42:55,911 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:55,911 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 05:42:55,912 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-08 05:42:55,912 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 05:42:56,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:56,295 INFO L93 Difference]: Finished difference Result 137 states and 178 transitions. [2022-04-08 05:42:56,295 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 05:42:56,295 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 05:42:56,295 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:56,295 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 05:42:56,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 05:42:56,297 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 05:42:56,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 05:42:56,298 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-08 05:42:56,366 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 05:42:56,368 INFO L225 Difference]: With dead ends: 137 [2022-04-08 05:42:56,368 INFO L226 Difference]: Without dead ends: 131 [2022-04-08 05:42:56,368 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:42:56,369 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 120 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:42:56,369 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 160 Invalid, 120 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:42:56,369 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-08 05:42:56,417 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-08 05:42:56,417 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:56,418 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 05:42:56,418 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 05:42:56,418 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 05:42:56,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:56,422 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-08 05:42:56,422 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-08 05:42:56,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:56,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:56,423 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 05:42:56,424 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 05:42:56,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:56,428 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-08 05:42:56,428 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-08 05:42:56,428 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:56,428 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:56,428 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:56,429 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:56,429 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 05:42:56,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 167 transitions. [2022-04-08 05:42:56,433 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 167 transitions. Word has length 61 [2022-04-08 05:42:56,434 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:56,434 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 167 transitions. [2022-04-08 05:42:56,434 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 05:42:56,434 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 167 transitions. [2022-04-08 05:42:56,599 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 05:42:56,599 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-08 05:42:56,599 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 05:42:56,599 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:56,599 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 05:42:56,617 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 05:42:56,800 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 05:42:56,800 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:56,800 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:56,801 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 1 times [2022-04-08 05:42:56,801 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:56,801 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [233233844] [2022-04-08 05:42:56,801 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:56,801 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 2 times [2022-04-08 05:42:56,801 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:56,801 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [562552197] [2022-04-08 05:42:56,801 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:56,801 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:56,811 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:56,811 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1288252251] [2022-04-08 05:42:56,811 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:42:56,811 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:56,811 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:56,812 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 05:42:56,813 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 05:42:56,853 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:42:56,853 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:56,854 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-08 05:42:56,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:56,865 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:57,183 INFO L272 TraceCheckUtils]: 0: Hoare triple {6002#true} call ULTIMATE.init(); {6002#true} is VALID [2022-04-08 05:42:57,183 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 05:42:57,183 INFO L290 TraceCheckUtils]: 2: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,183 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6002#true} {6002#true} #88#return; {6002#true} is VALID [2022-04-08 05:42:57,183 INFO L272 TraceCheckUtils]: 4: Hoare triple {6002#true} call #t~ret6 := main(); {6002#true} is VALID [2022-04-08 05:42:57,184 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 05:42:57,184 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 05:42:57,184 INFO L290 TraceCheckUtils]: 7: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,184 INFO L290 TraceCheckUtils]: 8: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,184 INFO L290 TraceCheckUtils]: 9: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,184 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6002#true} {6002#true} #66#return; {6002#true} is VALID [2022-04-08 05:42:57,184 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 05:42:57,184 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 05:42:57,184 INFO L290 TraceCheckUtils]: 13: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,184 INFO L290 TraceCheckUtils]: 14: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,184 INFO L290 TraceCheckUtils]: 15: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,184 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6002#true} {6002#true} #68#return; {6002#true} is VALID [2022-04-08 05:42:57,184 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 05:42:57,184 INFO L290 TraceCheckUtils]: 18: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,184 INFO L290 TraceCheckUtils]: 19: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,184 INFO L290 TraceCheckUtils]: 20: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,184 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6002#true} {6002#true} #70#return; {6002#true} is VALID [2022-04-08 05:42:57,184 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 05:42:57,185 INFO L290 TraceCheckUtils]: 23: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,185 INFO L290 TraceCheckUtils]: 24: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,185 INFO L290 TraceCheckUtils]: 25: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,185 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6002#true} {6002#true} #72#return; {6002#true} is VALID [2022-04-08 05:42:57,185 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 05:42:57,186 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 05:42:57,186 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 05:42:57,186 INFO L290 TraceCheckUtils]: 30: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,186 INFO L290 TraceCheckUtils]: 31: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,186 INFO L290 TraceCheckUtils]: 32: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,186 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 05:42:57,186 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 05:42:57,187 INFO L290 TraceCheckUtils]: 35: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,187 INFO L290 TraceCheckUtils]: 36: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,187 INFO L290 TraceCheckUtils]: 37: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,187 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 05:42:57,187 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 05:42:57,188 INFO L290 TraceCheckUtils]: 40: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,188 INFO L290 TraceCheckUtils]: 41: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,188 INFO L290 TraceCheckUtils]: 42: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,188 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 05:42:57,189 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 05:42:57,189 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 05:42:57,190 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 05:42:57,190 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 05:42:57,190 INFO L290 TraceCheckUtils]: 48: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,190 INFO L290 TraceCheckUtils]: 49: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,190 INFO L290 TraceCheckUtils]: 50: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,190 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 05:42:57,191 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 05:42:57,191 INFO L290 TraceCheckUtils]: 53: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,191 INFO L290 TraceCheckUtils]: 54: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,191 INFO L290 TraceCheckUtils]: 55: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,191 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 05:42:57,191 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 05:42:57,192 INFO L290 TraceCheckUtils]: 58: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,192 INFO L290 TraceCheckUtils]: 59: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,192 INFO L290 TraceCheckUtils]: 60: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,192 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 05:42:57,193 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 05:42:57,193 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 05:42:57,194 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 05:42:57,194 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 05:42:57,194 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 05:42:57,195 INFO L290 TraceCheckUtils]: 67: Hoare triple {6209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6003#false} is VALID [2022-04-08 05:42:57,195 INFO L290 TraceCheckUtils]: 68: Hoare triple {6003#false} assume !false; {6003#false} is VALID [2022-04-08 05:42:57,195 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 05:42:57,195 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:42:57,433 INFO L290 TraceCheckUtils]: 68: Hoare triple {6003#false} assume !false; {6003#false} is VALID [2022-04-08 05:42:57,433 INFO L290 TraceCheckUtils]: 67: Hoare triple {6209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6003#false} is VALID [2022-04-08 05:42:57,434 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 05:42:57,434 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 05:42:57,435 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 05:42:57,437 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 05:42:57,437 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 05:42:57,438 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 05:42:57,438 INFO L290 TraceCheckUtils]: 60: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,438 INFO L290 TraceCheckUtils]: 59: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,438 INFO L290 TraceCheckUtils]: 58: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,438 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 05:42:57,438 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 05:42:57,439 INFO L290 TraceCheckUtils]: 55: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,439 INFO L290 TraceCheckUtils]: 54: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,439 INFO L290 TraceCheckUtils]: 53: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,439 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 05:42:57,439 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 05:42:57,439 INFO L290 TraceCheckUtils]: 50: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,439 INFO L290 TraceCheckUtils]: 49: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,439 INFO L290 TraceCheckUtils]: 48: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,439 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 05:42:57,440 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 05:42:57,442 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 05:42:57,442 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 05:42:57,442 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 05:42:57,442 INFO L290 TraceCheckUtils]: 42: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,442 INFO L290 TraceCheckUtils]: 41: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,443 INFO L290 TraceCheckUtils]: 40: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,443 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 05:42:57,443 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 05:42:57,443 INFO L290 TraceCheckUtils]: 37: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,443 INFO L290 TraceCheckUtils]: 36: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,443 INFO L290 TraceCheckUtils]: 35: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,443 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 05:42:57,444 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 05:42:57,444 INFO L290 TraceCheckUtils]: 32: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,444 INFO L290 TraceCheckUtils]: 31: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,444 INFO L290 TraceCheckUtils]: 30: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,444 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 05:42:57,444 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 05:42:57,445 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 05:42:57,445 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6002#true} {6002#true} #72#return; {6002#true} is VALID [2022-04-08 05:42:57,445 INFO L290 TraceCheckUtils]: 25: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,445 INFO L290 TraceCheckUtils]: 24: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,445 INFO L290 TraceCheckUtils]: 23: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,445 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 05:42:57,445 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6002#true} {6002#true} #70#return; {6002#true} is VALID [2022-04-08 05:42:57,445 INFO L290 TraceCheckUtils]: 20: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,445 INFO L290 TraceCheckUtils]: 19: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,445 INFO L290 TraceCheckUtils]: 18: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,445 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 05:42:57,445 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6002#true} {6002#true} #68#return; {6002#true} is VALID [2022-04-08 05:42:57,445 INFO L290 TraceCheckUtils]: 15: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,445 INFO L290 TraceCheckUtils]: 14: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,445 INFO L290 TraceCheckUtils]: 13: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,445 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 05:42:57,446 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 05:42:57,446 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6002#true} {6002#true} #66#return; {6002#true} is VALID [2022-04-08 05:42:57,446 INFO L290 TraceCheckUtils]: 9: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,446 INFO L290 TraceCheckUtils]: 8: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-08 05:42:57,446 INFO L290 TraceCheckUtils]: 7: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-08 05:42:57,446 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 05:42:57,446 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 05:42:57,446 INFO L272 TraceCheckUtils]: 4: Hoare triple {6002#true} call #t~ret6 := main(); {6002#true} is VALID [2022-04-08 05:42:57,446 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6002#true} {6002#true} #88#return; {6002#true} is VALID [2022-04-08 05:42:57,446 INFO L290 TraceCheckUtils]: 2: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-08 05:42:57,446 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 05:42:57,446 INFO L272 TraceCheckUtils]: 0: Hoare triple {6002#true} call ULTIMATE.init(); {6002#true} is VALID [2022-04-08 05:42:57,446 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 05:42:57,446 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:57,447 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [562552197] [2022-04-08 05:42:57,447 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:57,447 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1288252251] [2022-04-08 05:42:57,447 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1288252251] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 05:42:57,447 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:42:57,447 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-08 05:42:57,447 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:57,447 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [233233844] [2022-04-08 05:42:57,447 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [233233844] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:57,447 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:57,447 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:42:57,447 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [851379585] [2022-04-08 05:42:57,447 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:57,448 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 05:42:57,448 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:57,448 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 05:42:57,473 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 05:42:57,473 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:42:57,473 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:57,474 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:42:57,474 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-08 05:42:57,474 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 05:42:57,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:57,670 INFO L93 Difference]: Finished difference Result 137 states and 172 transitions. [2022-04-08 05:42:57,670 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:42:57,671 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 05:42:57,671 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:57,671 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 05:42:57,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-08 05:42:57,672 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 05:42:57,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-08 05:42:57,673 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-08 05:42:57,712 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 05:42:57,715 INFO L225 Difference]: With dead ends: 137 [2022-04-08 05:42:57,715 INFO L226 Difference]: Without dead ends: 132 [2022-04-08 05:42:57,716 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 05:42:57,717 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 05:42:57,717 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 05:42:57,718 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-08 05:42:57,771 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-08 05:42:57,772 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:57,772 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 05:42:57,772 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 05:42:57,772 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 05:42:57,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:57,775 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-08 05:42:57,775 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-08 05:42:57,776 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:57,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:57,776 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 05:42:57,777 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 05:42:57,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:57,781 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-08 05:42:57,781 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-08 05:42:57,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:57,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:57,781 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:57,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:57,782 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 05:42:57,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 164 transitions. [2022-04-08 05:42:57,789 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 164 transitions. Word has length 69 [2022-04-08 05:42:57,789 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:57,789 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 164 transitions. [2022-04-08 05:42:57,789 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 05:42:57,789 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 164 transitions. [2022-04-08 05:42:57,976 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 05:42:57,977 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-08 05:42:57,977 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-08 05:42:57,977 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:57,977 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 05:42:57,994 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 05:42:58,191 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 05:42:58,191 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:58,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:58,192 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 5 times [2022-04-08 05:42:58,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:58,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2043688701] [2022-04-08 05:42:58,192 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:58,192 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 6 times [2022-04-08 05:42:58,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:58,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1978205776] [2022-04-08 05:42:58,192 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:58,192 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:58,224 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:58,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [473828816] [2022-04-08 05:42:58,224 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:42:58,224 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:58,225 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:58,240 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 05:42:58,242 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 05:42:58,289 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 05:42:58,289 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:58,290 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 05:42:58,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:58,304 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:58,790 INFO L272 TraceCheckUtils]: 0: Hoare triple {7227#true} call ULTIMATE.init(); {7227#true} is VALID [2022-04-08 05:42:58,790 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 05:42:58,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:42:58,790 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7227#true} {7227#true} #88#return; {7227#true} is VALID [2022-04-08 05:42:58,791 INFO L272 TraceCheckUtils]: 4: Hoare triple {7227#true} call #t~ret6 := main(); {7227#true} is VALID [2022-04-08 05:42:58,791 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 05:42:58,791 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 05:42:58,791 INFO L290 TraceCheckUtils]: 7: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:42:58,791 INFO L290 TraceCheckUtils]: 8: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:42:58,791 INFO L290 TraceCheckUtils]: 9: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:42:58,791 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7227#true} {7227#true} #66#return; {7227#true} is VALID [2022-04-08 05:42:58,791 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 05:42:58,791 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 05:42:58,791 INFO L290 TraceCheckUtils]: 13: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:42:58,791 INFO L290 TraceCheckUtils]: 14: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:42:58,791 INFO L290 TraceCheckUtils]: 15: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:42:58,791 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7227#true} {7227#true} #68#return; {7227#true} is VALID [2022-04-08 05:42:58,791 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 05:42:58,791 INFO L290 TraceCheckUtils]: 18: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:42:58,791 INFO L290 TraceCheckUtils]: 19: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:42:58,791 INFO L290 TraceCheckUtils]: 20: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:42:58,792 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7227#true} {7227#true} #70#return; {7227#true} is VALID [2022-04-08 05:42:58,792 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 05:42:58,792 INFO L290 TraceCheckUtils]: 23: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:42:58,792 INFO L290 TraceCheckUtils]: 24: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:42:58,792 INFO L290 TraceCheckUtils]: 25: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:42:58,792 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7227#true} {7227#true} #72#return; {7227#true} is VALID [2022-04-08 05:42:58,803 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 05:42:58,804 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 05:42:58,804 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 05:42:58,804 INFO L290 TraceCheckUtils]: 30: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:42:58,804 INFO L290 TraceCheckUtils]: 31: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:42:58,804 INFO L290 TraceCheckUtils]: 32: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:42:58,805 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 05:42:58,805 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 05:42:58,805 INFO L290 TraceCheckUtils]: 35: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:42:58,805 INFO L290 TraceCheckUtils]: 36: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:42:58,805 INFO L290 TraceCheckUtils]: 37: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:42:58,806 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 05:42:58,806 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 05:42:58,806 INFO L290 TraceCheckUtils]: 40: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:42:58,806 INFO L290 TraceCheckUtils]: 41: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:42:58,806 INFO L290 TraceCheckUtils]: 42: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:42:58,807 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 05:42:58,807 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 05:42:58,807 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 05:42:58,808 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 05:42:58,808 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 05:42:58,808 INFO L290 TraceCheckUtils]: 48: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:42:58,808 INFO L290 TraceCheckUtils]: 49: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:42:58,808 INFO L290 TraceCheckUtils]: 50: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:42:58,809 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 05:42:58,809 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 05:42:58,809 INFO L290 TraceCheckUtils]: 53: Hoare triple {7227#true} ~cond := #in~cond; {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:58,809 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 05:42:58,810 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 05:42:58,810 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 05:42:58,811 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 05:42:58,811 INFO L290 TraceCheckUtils]: 58: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:42:58,811 INFO L290 TraceCheckUtils]: 59: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:42:58,811 INFO L290 TraceCheckUtils]: 60: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:42:58,811 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 05:42:58,812 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 05:42:58,813 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 05:42:58,813 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 05:42:58,813 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 05:42:58,813 INFO L290 TraceCheckUtils]: 66: Hoare triple {7227#true} ~cond := #in~cond; {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:58,814 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 05:42:58,814 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 05:42:58,815 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 05:42:58,815 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 05:42:58,816 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 05:42:58,816 INFO L290 TraceCheckUtils]: 72: Hoare triple {7452#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7228#false} is VALID [2022-04-08 05:42:58,816 INFO L290 TraceCheckUtils]: 73: Hoare triple {7228#false} assume !false; {7228#false} is VALID [2022-04-08 05:42:58,816 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 05:42:58,816 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:45:15,607 INFO L290 TraceCheckUtils]: 73: Hoare triple {7228#false} assume !false; {7228#false} is VALID [2022-04-08 05:45:15,607 INFO L290 TraceCheckUtils]: 72: Hoare triple {7452#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7228#false} is VALID [2022-04-08 05:45:15,608 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 05:45:15,608 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 05:45:15,609 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 05:45:15,609 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 05:45:15,609 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 05:45:15,610 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 05:45:15,610 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 05:45:15,610 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 05:45:15,945 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 05:45:15,946 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 05:45:15,947 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 05:45:15,947 INFO L290 TraceCheckUtils]: 60: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:45:15,947 INFO L290 TraceCheckUtils]: 59: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:45:15,947 INFO L290 TraceCheckUtils]: 58: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:45:15,947 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 05:45:15,948 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 05:45:15,948 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 05:45:15,949 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 05:45:15,949 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 05:45:15,949 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 05:45:15,950 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 05:45:15,950 INFO L290 TraceCheckUtils]: 50: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:45:15,950 INFO L290 TraceCheckUtils]: 49: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:45:15,950 INFO L290 TraceCheckUtils]: 48: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:45:15,950 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 05:45:15,951 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 05:45:17,952 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 05:45:17,953 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 05:45:17,954 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 05:45:17,954 INFO L290 TraceCheckUtils]: 42: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:45:17,954 INFO L290 TraceCheckUtils]: 41: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:45:17,954 INFO L290 TraceCheckUtils]: 40: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:45:17,954 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 05:45:17,955 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 05:45:17,955 INFO L290 TraceCheckUtils]: 37: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:45:17,955 INFO L290 TraceCheckUtils]: 36: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:45:17,955 INFO L290 TraceCheckUtils]: 35: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:45:17,955 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 05:45:17,956 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 05:45:17,956 INFO L290 TraceCheckUtils]: 32: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:45:17,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:45:17,956 INFO L290 TraceCheckUtils]: 30: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:45:17,956 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 05:45:17,956 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 05:45:17,957 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 05:45:17,957 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7227#true} {7227#true} #72#return; {7227#true} is VALID [2022-04-08 05:45:17,957 INFO L290 TraceCheckUtils]: 25: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:45:17,957 INFO L290 TraceCheckUtils]: 24: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:45:17,957 INFO L290 TraceCheckUtils]: 23: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:45:17,957 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 05:45:17,957 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7227#true} {7227#true} #70#return; {7227#true} is VALID [2022-04-08 05:45:17,957 INFO L290 TraceCheckUtils]: 20: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:45:17,957 INFO L290 TraceCheckUtils]: 19: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:45:17,957 INFO L290 TraceCheckUtils]: 18: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:45:17,957 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 05:45:17,957 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7227#true} {7227#true} #68#return; {7227#true} is VALID [2022-04-08 05:45:17,957 INFO L290 TraceCheckUtils]: 15: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:45:17,958 INFO L290 TraceCheckUtils]: 14: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:45:17,958 INFO L290 TraceCheckUtils]: 13: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:45:17,958 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 05:45:17,958 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 05:45:17,958 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7227#true} {7227#true} #66#return; {7227#true} is VALID [2022-04-08 05:45:17,958 INFO L290 TraceCheckUtils]: 9: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:45:17,958 INFO L290 TraceCheckUtils]: 8: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-08 05:45:17,958 INFO L290 TraceCheckUtils]: 7: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-08 05:45:17,958 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 05:45:17,958 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 05:45:17,958 INFO L272 TraceCheckUtils]: 4: Hoare triple {7227#true} call #t~ret6 := main(); {7227#true} is VALID [2022-04-08 05:45:17,958 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7227#true} {7227#true} #88#return; {7227#true} is VALID [2022-04-08 05:45:17,958 INFO L290 TraceCheckUtils]: 2: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-08 05:45:17,958 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 05:45:17,958 INFO L272 TraceCheckUtils]: 0: Hoare triple {7227#true} call ULTIMATE.init(); {7227#true} is VALID [2022-04-08 05:45:17,959 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 05:45:17,959 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:45:17,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1978205776] [2022-04-08 05:45:17,959 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:45:17,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [473828816] [2022-04-08 05:45:17,959 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [473828816] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:45:17,959 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:45:17,959 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 16 [2022-04-08 05:45:17,959 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:45:17,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2043688701] [2022-04-08 05:45:17,959 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2043688701] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:45:17,959 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:45:17,959 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:45:17,959 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1027692744] [2022-04-08 05:45:17,960 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:45:17,960 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 05:45:17,960 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:45:17,960 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 05:45:18,000 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 05:45:18,001 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:45:18,001 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:45:18,001 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:45:18,001 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:45:18,001 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 05:45:19,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:19,038 INFO L93 Difference]: Finished difference Result 166 states and 206 transitions. [2022-04-08 05:45:19,038 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 05:45:19,038 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 05:45:19,038 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:45:19,038 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 05:45:19,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2022-04-08 05:45:19,039 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 05:45:19,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2022-04-08 05:45:19,040 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 95 transitions. [2022-04-08 05:45:19,130 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 05:45:19,132 INFO L225 Difference]: With dead ends: 166 [2022-04-08 05:45:19,132 INFO L226 Difference]: Without dead ends: 164 [2022-04-08 05:45:19,132 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 131 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2022-04-08 05:45:19,133 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 18 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 385 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-08 05:45:19,133 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.4s Time] [2022-04-08 05:45:19,133 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-08 05:45:19,187 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 150. [2022-04-08 05:45:19,187 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:45:19,187 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 05:45:19,188 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 05:45:19,188 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 05:45:19,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:19,191 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-08 05:45:19,191 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-08 05:45:19,191 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:45:19,191 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:45:19,191 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 05:45:19,192 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 05:45:19,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:45:19,194 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-08 05:45:19,194 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-08 05:45:19,195 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:45:19,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:45:19,195 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:45:19,195 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:45:19,195 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 05:45:19,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 183 transitions. [2022-04-08 05:45:19,197 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 183 transitions. Word has length 74 [2022-04-08 05:45:19,199 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:45:19,199 INFO L478 AbstractCegarLoop]: Abstraction has 150 states and 183 transitions. [2022-04-08 05:45:19,199 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 05:45:19,200 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 150 states and 183 transitions. [2022-04-08 05:45:19,409 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 05:45:19,410 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 183 transitions. [2022-04-08 05:45:19,410 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-08 05:45:19,410 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:45:19,410 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 05:45:19,426 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 05:45:19,611 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 05:45:19,611 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:45:19,611 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:45:19,611 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 3 times [2022-04-08 05:45:19,611 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:45:19,611 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2129873112] [2022-04-08 05:45:19,611 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:45:19,612 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 4 times [2022-04-08 05:45:19,612 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:45:19,612 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2142777617] [2022-04-08 05:45:19,612 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:45:19,612 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:45:19,621 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:45:19,621 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [15849091] [2022-04-08 05:45:19,622 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:45:19,622 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:45:19,622 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:45:19,622 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 05:45:19,623 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 05:45:19,666 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:45:19,667 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:45:19,667 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 05:45:19,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:45:19,684 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:45:51,592 INFO L272 TraceCheckUtils]: 0: Hoare triple {8650#true} call ULTIMATE.init(); {8650#true} is VALID [2022-04-08 05:45:51,592 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 05:45:51,592 INFO L290 TraceCheckUtils]: 2: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 05:45:51,592 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8650#true} {8650#true} #88#return; {8650#true} is VALID [2022-04-08 05:45:51,592 INFO L272 TraceCheckUtils]: 4: Hoare triple {8650#true} call #t~ret6 := main(); {8650#true} is VALID [2022-04-08 05:45:51,593 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 05:45:51,593 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 05:45:51,593 INFO L290 TraceCheckUtils]: 7: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 05:45:51,593 INFO L290 TraceCheckUtils]: 8: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 05:45:51,593 INFO L290 TraceCheckUtils]: 9: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 05:45:51,593 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8650#true} {8650#true} #66#return; {8650#true} is VALID [2022-04-08 05:45:51,593 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 05:45:51,593 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 05:45:51,593 INFO L290 TraceCheckUtils]: 13: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 05:45:51,593 INFO L290 TraceCheckUtils]: 14: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 05:45:51,593 INFO L290 TraceCheckUtils]: 15: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 05:45:51,593 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8650#true} {8650#true} #68#return; {8650#true} is VALID [2022-04-08 05:45:51,593 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 05:45:51,593 INFO L290 TraceCheckUtils]: 18: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 05:45:51,593 INFO L290 TraceCheckUtils]: 19: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 05:45:51,593 INFO L290 TraceCheckUtils]: 20: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 05:45:51,593 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8650#true} {8650#true} #70#return; {8650#true} is VALID [2022-04-08 05:45:51,593 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 05:45:51,594 INFO L290 TraceCheckUtils]: 23: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 05:45:51,594 INFO L290 TraceCheckUtils]: 24: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 05:45:51,594 INFO L290 TraceCheckUtils]: 25: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 05:45:51,594 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8650#true} {8650#true} #72#return; {8650#true} is VALID [2022-04-08 05:45:51,594 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 05:45:51,594 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 05:45:51,594 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 05:45:51,594 INFO L290 TraceCheckUtils]: 30: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 05:45:51,595 INFO L290 TraceCheckUtils]: 31: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 05:45:51,595 INFO L290 TraceCheckUtils]: 32: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 05:45:51,595 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 05:45:51,595 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 05:45:51,595 INFO L290 TraceCheckUtils]: 35: Hoare triple {8650#true} ~cond := #in~cond; {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:45:51,596 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 05:45:51,596 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 05:45:51,596 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 05:45:51,597 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 05:45:51,597 INFO L290 TraceCheckUtils]: 40: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 05:45:51,597 INFO L290 TraceCheckUtils]: 41: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 05:45:51,597 INFO L290 TraceCheckUtils]: 42: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 05:45:51,597 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 05:45:51,598 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 05:45:51,598 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 05:45:51,599 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 05:45:51,599 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 05:45:51,599 INFO L290 TraceCheckUtils]: 48: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 05:45:51,599 INFO L290 TraceCheckUtils]: 49: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 05:45:51,599 INFO L290 TraceCheckUtils]: 50: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 05:45:51,600 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 05:45:51,600 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 05:45:51,600 INFO L290 TraceCheckUtils]: 53: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 05:45:51,600 INFO L290 TraceCheckUtils]: 54: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 05:45:51,600 INFO L290 TraceCheckUtils]: 55: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 05:45:51,600 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 05:45:51,600 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 05:45:51,601 INFO L290 TraceCheckUtils]: 58: Hoare triple {8650#true} ~cond := #in~cond; {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:45:51,601 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 05:45:51,601 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 05:45:51,602 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 05:45:51,602 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 05:45:51,604 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 05:45:51,605 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 05:45:51,605 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 05:45:51,605 INFO L290 TraceCheckUtils]: 66: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-08 05:45:51,605 INFO L290 TraceCheckUtils]: 67: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-08 05:45:51,605 INFO L290 TraceCheckUtils]: 68: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-08 05:45:51,605 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 05:45:51,606 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 05:45:51,607 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 05:45:51,607 INFO L290 TraceCheckUtils]: 72: Hoare triple {8876#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8651#false} is VALID [2022-04-08 05:45:51,607 INFO L290 TraceCheckUtils]: 73: Hoare triple {8651#false} assume !false; {8651#false} is VALID [2022-04-08 05:45:51,607 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 05:45:51,607 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:46:20,134 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:47:25,678 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:47:25,678 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2142777617] [2022-04-08 05:47:25,678 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:47:25,678 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [15849091] [2022-04-08 05:47:25,678 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [15849091] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 05:47:25,678 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:47:25,678 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-08 05:47:25,678 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:47:25,678 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2129873112] [2022-04-08 05:47:25,678 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2129873112] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:47:25,678 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:47:25,678 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 05:47:25,678 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1188622221] [2022-04-08 05:47:25,679 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:47:25,679 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 05:47:25,679 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:47:25,679 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 05:47:25,720 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 05:47:25,720 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 05:47:25,720 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:47:25,720 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 05:47:25,720 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=209, Unknown=0, NotChecked=0, Total=272 [2022-04-08 05:47:25,720 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 05:47:30,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:47:30,414 INFO L93 Difference]: Finished difference Result 184 states and 225 transitions. [2022-04-08 05:47:30,415 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 05:47:30,415 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 05:47:30,415 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:47:30,415 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 05:47:30,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 85 transitions. [2022-04-08 05:47:30,416 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 05:47:30,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 85 transitions. [2022-04-08 05:47:30,417 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 85 transitions. [2022-04-08 05:47:30,499 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 05:47:30,501 INFO L225 Difference]: With dead ends: 184 [2022-04-08 05:47:30,502 INFO L226 Difference]: Without dead ends: 182 [2022-04-08 05:47:30,502 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 88 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=76, Invalid=266, Unknown=0, NotChecked=0, Total=342 [2022-04-08 05:47:30,502 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 14 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 420 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 220 SdHoareTripleChecker+Invalid, 426 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 420 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.7s IncrementalHoareTripleChecker+Time [2022-04-08 05:47:30,502 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 220 Invalid, 426 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 420 Invalid, 0 Unknown, 0 Unchecked, 2.7s Time] [2022-04-08 05:47:30,503 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-08 05:47:30,589 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 168. [2022-04-08 05:47:30,589 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:47:30,589 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 05:47:30,589 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 05:47:30,590 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 05:47:30,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:47:30,593 INFO L93 Difference]: Finished difference Result 182 states and 223 transitions. [2022-04-08 05:47:30,593 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 223 transitions. [2022-04-08 05:47:30,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:47:30,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:47:30,593 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 05:47:30,594 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 05:47:30,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:47:30,596 INFO L93 Difference]: Finished difference Result 182 states and 223 transitions. [2022-04-08 05:47:30,596 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 223 transitions. [2022-04-08 05:47:30,597 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:47:30,597 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:47:30,597 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:47:30,597 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:47:30,597 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 05:47:30,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 168 states to 168 states and 202 transitions. [2022-04-08 05:47:30,600 INFO L78 Accepts]: Start accepts. Automaton has 168 states and 202 transitions. Word has length 74 [2022-04-08 05:47:30,600 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:47:30,600 INFO L478 AbstractCegarLoop]: Abstraction has 168 states and 202 transitions. [2022-04-08 05:47:30,600 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 05:47:30,600 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 168 states and 202 transitions. [2022-04-08 05:47:30,860 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 05:47:30,860 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 202 transitions. [2022-04-08 05:47:30,860 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 05:47:30,860 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:47:30,861 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 05:47:30,877 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 05:47:31,076 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 05:47:31,077 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:47:31,077 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:47:31,077 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 5 times [2022-04-08 05:47:31,077 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:47:31,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [138391112] [2022-04-08 05:47:31,077 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:47:31,077 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 6 times [2022-04-08 05:47:31,078 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:47:31,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1967207569] [2022-04-08 05:47:31,078 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:47:31,078 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:47:31,087 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:47:31,087 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1839017435] [2022-04-08 05:47:31,087 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:47:31,087 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:47:31,088 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:47:31,088 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 05:47:31,089 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 05:47:31,147 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 05:47:31,148 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:47:31,148 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 05:47:31,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:47:31,176 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:47:31,473 INFO L272 TraceCheckUtils]: 0: Hoare triple {10053#true} call ULTIMATE.init(); {10053#true} is VALID [2022-04-08 05:47:31,473 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 05:47:31,473 INFO L290 TraceCheckUtils]: 2: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:31,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10053#true} {10053#true} #88#return; {10053#true} is VALID [2022-04-08 05:47:31,473 INFO L272 TraceCheckUtils]: 4: Hoare triple {10053#true} call #t~ret6 := main(); {10053#true} is VALID [2022-04-08 05:47:31,473 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 05:47:31,473 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 05:47:31,473 INFO L290 TraceCheckUtils]: 7: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:31,473 INFO L290 TraceCheckUtils]: 8: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:31,473 INFO L290 TraceCheckUtils]: 9: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:31,473 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10053#true} {10053#true} #66#return; {10053#true} is VALID [2022-04-08 05:47:31,473 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 05:47:31,474 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 05:47:31,474 INFO L290 TraceCheckUtils]: 13: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:31,474 INFO L290 TraceCheckUtils]: 14: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:31,474 INFO L290 TraceCheckUtils]: 15: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:31,474 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10053#true} {10053#true} #68#return; {10053#true} is VALID [2022-04-08 05:47:31,474 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 05:47:31,474 INFO L290 TraceCheckUtils]: 18: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:31,474 INFO L290 TraceCheckUtils]: 19: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:31,474 INFO L290 TraceCheckUtils]: 20: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:31,474 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10053#true} {10053#true} #70#return; {10053#true} is VALID [2022-04-08 05:47:31,474 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 05:47:31,474 INFO L290 TraceCheckUtils]: 23: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:31,474 INFO L290 TraceCheckUtils]: 24: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:31,474 INFO L290 TraceCheckUtils]: 25: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:31,474 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10053#true} {10053#true} #72#return; {10053#true} is VALID [2022-04-08 05:47:31,475 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 05:47:31,475 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 05:47:31,475 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 05:47:31,475 INFO L290 TraceCheckUtils]: 30: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:31,475 INFO L290 TraceCheckUtils]: 31: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:31,475 INFO L290 TraceCheckUtils]: 32: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:31,476 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 05:47:31,476 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 05:47:31,476 INFO L290 TraceCheckUtils]: 35: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:31,476 INFO L290 TraceCheckUtils]: 36: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:31,476 INFO L290 TraceCheckUtils]: 37: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:31,477 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 05:47:31,477 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 05:47:31,477 INFO L290 TraceCheckUtils]: 40: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:31,477 INFO L290 TraceCheckUtils]: 41: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:31,477 INFO L290 TraceCheckUtils]: 42: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:31,477 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 05:47:31,478 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 05:47:31,478 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 05:47:31,478 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 05:47:31,478 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 05:47:31,478 INFO L290 TraceCheckUtils]: 48: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:31,478 INFO L290 TraceCheckUtils]: 49: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:31,479 INFO L290 TraceCheckUtils]: 50: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:31,479 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 05:47:31,479 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 05:47:31,479 INFO L290 TraceCheckUtils]: 53: Hoare triple {10053#true} ~cond := #in~cond; {10218#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:47:31,480 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 05:47:31,480 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 05:47:31,481 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 05:47:31,481 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 05:47:31,481 INFO L290 TraceCheckUtils]: 58: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:31,481 INFO L290 TraceCheckUtils]: 59: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:31,481 INFO L290 TraceCheckUtils]: 60: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:31,481 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 05:47:31,482 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 05:47:31,487 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 05:47:31,487 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 05:47:31,487 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 05:47:31,487 INFO L290 TraceCheckUtils]: 66: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:31,487 INFO L290 TraceCheckUtils]: 67: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:31,487 INFO L290 TraceCheckUtils]: 68: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:31,488 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 05:47:31,488 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 05:47:31,488 INFO L290 TraceCheckUtils]: 71: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:31,488 INFO L290 TraceCheckUtils]: 72: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:31,488 INFO L290 TraceCheckUtils]: 73: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:31,489 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 05:47:31,489 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 05:47:31,490 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 05:47:31,490 INFO L290 TraceCheckUtils]: 77: Hoare triple {10292#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10054#false} is VALID [2022-04-08 05:47:31,490 INFO L290 TraceCheckUtils]: 78: Hoare triple {10054#false} assume !false; {10054#false} is VALID [2022-04-08 05:47:31,490 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 05:47:31,490 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:47:46,654 INFO L290 TraceCheckUtils]: 78: Hoare triple {10054#false} assume !false; {10054#false} is VALID [2022-04-08 05:47:46,655 INFO L290 TraceCheckUtils]: 77: Hoare triple {10292#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10054#false} is VALID [2022-04-08 05:47:46,655 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 05:47:46,656 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 05:47:46,656 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 05:47:46,656 INFO L290 TraceCheckUtils]: 73: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:46,657 INFO L290 TraceCheckUtils]: 72: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:46,657 INFO L290 TraceCheckUtils]: 71: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:46,657 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 05:47:46,657 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 05:47:46,657 INFO L290 TraceCheckUtils]: 68: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:46,657 INFO L290 TraceCheckUtils]: 67: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:46,657 INFO L290 TraceCheckUtils]: 66: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:46,657 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 05:47:46,658 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 05:47:46,982 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 05:47:46,983 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 05:47:46,984 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 05:47:46,984 INFO L290 TraceCheckUtils]: 60: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:46,984 INFO L290 TraceCheckUtils]: 59: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:46,984 INFO L290 TraceCheckUtils]: 58: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:46,984 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 05:47:46,985 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 05:47:46,985 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 05:47:46,986 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 05:47:46,986 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 05:47:46,986 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 05:47:46,986 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 05:47:46,986 INFO L290 TraceCheckUtils]: 50: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:46,987 INFO L290 TraceCheckUtils]: 49: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:46,987 INFO L290 TraceCheckUtils]: 48: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:46,987 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 05:47:46,987 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 05:47:46,987 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 05:47:46,988 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 05:47:46,988 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 05:47:46,988 INFO L290 TraceCheckUtils]: 42: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:46,988 INFO L290 TraceCheckUtils]: 41: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:46,989 INFO L290 TraceCheckUtils]: 40: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:46,989 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 05:47:46,989 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 05:47:46,989 INFO L290 TraceCheckUtils]: 37: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:46,989 INFO L290 TraceCheckUtils]: 36: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:46,989 INFO L290 TraceCheckUtils]: 35: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:46,989 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 05:47:46,990 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 05:47:46,990 INFO L290 TraceCheckUtils]: 32: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:46,990 INFO L290 TraceCheckUtils]: 31: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:46,990 INFO L290 TraceCheckUtils]: 30: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:46,990 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 05:47:46,990 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 05:47:46,991 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 05:47:46,991 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10053#true} {10053#true} #72#return; {10053#true} is VALID [2022-04-08 05:47:46,991 INFO L290 TraceCheckUtils]: 25: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:46,991 INFO L290 TraceCheckUtils]: 24: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:46,991 INFO L290 TraceCheckUtils]: 23: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:46,991 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 05:47:46,991 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10053#true} {10053#true} #70#return; {10053#true} is VALID [2022-04-08 05:47:46,991 INFO L290 TraceCheckUtils]: 20: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:46,991 INFO L290 TraceCheckUtils]: 19: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:46,991 INFO L290 TraceCheckUtils]: 18: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:46,991 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 05:47:46,991 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10053#true} {10053#true} #68#return; {10053#true} is VALID [2022-04-08 05:47:46,991 INFO L290 TraceCheckUtils]: 15: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:46,991 INFO L290 TraceCheckUtils]: 14: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:46,992 INFO L290 TraceCheckUtils]: 13: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:46,992 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 05:47:46,992 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 05:47:46,992 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10053#true} {10053#true} #66#return; {10053#true} is VALID [2022-04-08 05:47:46,992 INFO L290 TraceCheckUtils]: 9: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:46,992 INFO L290 TraceCheckUtils]: 8: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-08 05:47:46,992 INFO L290 TraceCheckUtils]: 7: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-08 05:47:46,992 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 05:47:46,992 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 05:47:46,992 INFO L272 TraceCheckUtils]: 4: Hoare triple {10053#true} call #t~ret6 := main(); {10053#true} is VALID [2022-04-08 05:47:46,992 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10053#true} {10053#true} #88#return; {10053#true} is VALID [2022-04-08 05:47:46,992 INFO L290 TraceCheckUtils]: 2: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-08 05:47:46,992 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 05:47:46,992 INFO L272 TraceCheckUtils]: 0: Hoare triple {10053#true} call ULTIMATE.init(); {10053#true} is VALID [2022-04-08 05:47:46,992 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 05:47:46,993 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:47:46,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1967207569] [2022-04-08 05:47:46,993 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:47:46,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1839017435] [2022-04-08 05:47:46,993 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1839017435] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:47:46,993 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:47:46,993 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-08 05:47:46,993 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:47:46,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [138391112] [2022-04-08 05:47:46,993 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [138391112] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:47:46,993 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:47:46,993 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:47:46,993 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1633144788] [2022-04-08 05:47:46,993 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:47:46,994 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 05:47:46,994 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:47:46,994 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 05:47:47,042 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 05:47:47,043 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:47:47,043 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:47:47,043 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:47:47,043 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-08 05:47:47,043 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 05:47:47,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:47:47,603 INFO L93 Difference]: Finished difference Result 182 states and 221 transitions. [2022-04-08 05:47:47,603 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:47:47,603 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 79 [2022-04-08 05:47:47,604 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:47:47,604 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 05:47:47,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-08 05:47:47,604 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 05:47:47,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-08 05:47:47,605 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 64 transitions. [2022-04-08 05:47:47,680 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 05:47:47,682 INFO L225 Difference]: With dead ends: 182 [2022-04-08 05:47:47,682 INFO L226 Difference]: Without dead ends: 169 [2022-04-08 05:47:47,683 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 05:47:47,683 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 149 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 159 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 149 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 05:47:47,683 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.2s Time] [2022-04-08 05:47:47,683 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states. [2022-04-08 05:47:47,774 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 149. [2022-04-08 05:47:47,774 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:47:47,774 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 05:47:47,774 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 05:47:47,775 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 05:47:47,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:47:47,777 INFO L93 Difference]: Finished difference Result 169 states and 200 transitions. [2022-04-08 05:47:47,777 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 200 transitions. [2022-04-08 05:47:47,778 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:47:47,778 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:47:47,778 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 05:47:47,778 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 05:47:47,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:47:47,781 INFO L93 Difference]: Finished difference Result 169 states and 200 transitions. [2022-04-08 05:47:47,781 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 200 transitions. [2022-04-08 05:47:47,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:47:47,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:47:47,781 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:47:47,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:47:47,782 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 05:47:47,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 170 transitions. [2022-04-08 05:47:47,784 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 170 transitions. Word has length 79 [2022-04-08 05:47:47,784 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:47:47,784 INFO L478 AbstractCegarLoop]: Abstraction has 149 states and 170 transitions. [2022-04-08 05:47:47,784 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 05:47:47,784 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 149 states and 170 transitions. [2022-04-08 05:47:48,074 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 05:47:48,074 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 170 transitions. [2022-04-08 05:47:48,075 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 05:47:48,075 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:47:48,075 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 05:47:48,091 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-08 05:47:48,275 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 05:47:48,275 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:47:48,276 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:47:48,276 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 3 times [2022-04-08 05:47:48,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:47:48,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [51796981] [2022-04-08 05:47:48,276 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:47:48,276 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 4 times [2022-04-08 05:47:48,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:47:48,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [8646330] [2022-04-08 05:47:48,276 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:47:48,276 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:47:48,291 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:47:48,291 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [395007223] [2022-04-08 05:47:48,291 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:47:48,292 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:47:48,292 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:47:48,292 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 05:47:48,293 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 05:47:48,333 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:47:48,333 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:47:48,334 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-08 05:47:48,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:47:48,347 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:47:51,605 INFO L272 TraceCheckUtils]: 0: Hoare triple {11541#true} call ULTIMATE.init(); {11541#true} is VALID [2022-04-08 05:47:51,605 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 05:47:51,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:47:51,605 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11541#true} {11541#true} #88#return; {11541#true} is VALID [2022-04-08 05:47:51,605 INFO L272 TraceCheckUtils]: 4: Hoare triple {11541#true} call #t~ret6 := main(); {11541#true} is VALID [2022-04-08 05:47:51,605 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 05:47:51,605 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 05:47:51,606 INFO L290 TraceCheckUtils]: 7: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:47:51,606 INFO L290 TraceCheckUtils]: 8: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:47:51,606 INFO L290 TraceCheckUtils]: 9: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:47:51,606 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11541#true} {11541#true} #66#return; {11541#true} is VALID [2022-04-08 05:47:51,606 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 05:47:51,606 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 05:47:51,606 INFO L290 TraceCheckUtils]: 13: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:47:51,606 INFO L290 TraceCheckUtils]: 14: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:47:51,606 INFO L290 TraceCheckUtils]: 15: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:47:51,606 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11541#true} {11541#true} #68#return; {11541#true} is VALID [2022-04-08 05:47:51,606 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 05:47:51,606 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 05:47:51,607 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 05:47:51,607 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 05:47:51,607 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 05:47:51,607 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 05:47:51,607 INFO L290 TraceCheckUtils]: 23: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:47:51,607 INFO L290 TraceCheckUtils]: 24: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:47:51,608 INFO L290 TraceCheckUtils]: 25: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:47:51,608 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 05:47:51,608 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 05:47:51,609 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 05:47:51,609 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 05:47:51,609 INFO L290 TraceCheckUtils]: 30: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:47:51,609 INFO L290 TraceCheckUtils]: 31: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:47:51,609 INFO L290 TraceCheckUtils]: 32: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:47:51,609 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 05:47:51,610 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 05:47:51,610 INFO L290 TraceCheckUtils]: 35: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:47:51,610 INFO L290 TraceCheckUtils]: 36: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:47:51,610 INFO L290 TraceCheckUtils]: 37: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:47:51,610 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 05:47:51,610 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 05:47:51,610 INFO L290 TraceCheckUtils]: 40: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:47:51,610 INFO L290 TraceCheckUtils]: 41: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:47:51,610 INFO L290 TraceCheckUtils]: 42: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:47:51,611 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 05:47:51,611 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 05:47:51,612 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 05:47:51,612 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 05:47:51,612 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 05:47:51,612 INFO L290 TraceCheckUtils]: 48: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:47:51,612 INFO L290 TraceCheckUtils]: 49: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:47:51,612 INFO L290 TraceCheckUtils]: 50: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:47:51,613 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 05:47:51,613 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 05:47:51,613 INFO L290 TraceCheckUtils]: 53: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:47:51,613 INFO L290 TraceCheckUtils]: 54: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:47:51,613 INFO L290 TraceCheckUtils]: 55: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:47:51,614 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 05:47:51,614 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 05:47:51,614 INFO L290 TraceCheckUtils]: 58: Hoare triple {11541#true} ~cond := #in~cond; {11725#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:47:51,615 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 05:47:51,615 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 05:47:51,616 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 05:47:51,616 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 05:47:51,619 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 05:47:51,619 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 05:47:51,620 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 05:47:51,620 INFO L290 TraceCheckUtils]: 66: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:47:51,620 INFO L290 TraceCheckUtils]: 67: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:47:51,620 INFO L290 TraceCheckUtils]: 68: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:47:51,620 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 05:47:51,620 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 05:47:51,620 INFO L290 TraceCheckUtils]: 71: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:47:51,621 INFO L290 TraceCheckUtils]: 72: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:47:51,621 INFO L290 TraceCheckUtils]: 73: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:47:51,621 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 05:47:51,624 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 05:47:51,624 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 05:47:51,625 INFO L290 TraceCheckUtils]: 77: Hoare triple {11784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11542#false} is VALID [2022-04-08 05:47:51,625 INFO L290 TraceCheckUtils]: 78: Hoare triple {11542#false} assume !false; {11542#false} is VALID [2022-04-08 05:47:51,625 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 05:47:51,625 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:48:22,348 INFO L290 TraceCheckUtils]: 78: Hoare triple {11542#false} assume !false; {11542#false} is VALID [2022-04-08 05:48:22,348 INFO L290 TraceCheckUtils]: 77: Hoare triple {11784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11542#false} is VALID [2022-04-08 05:48:22,348 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 05:48:22,349 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 05:48:22,350 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 05:48:22,350 INFO L290 TraceCheckUtils]: 73: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:48:22,350 INFO L290 TraceCheckUtils]: 72: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:48:22,350 INFO L290 TraceCheckUtils]: 71: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:48:22,350 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 05:48:22,350 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 05:48:22,351 INFO L290 TraceCheckUtils]: 68: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:48:22,351 INFO L290 TraceCheckUtils]: 67: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:48:22,351 INFO L290 TraceCheckUtils]: 66: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:48:22,351 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 05:48:22,351 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 05:48:22,660 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 05:48:22,661 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 05:48:22,662 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 05:48:22,662 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 05:48:22,662 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 05:48:22,663 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 05:48:22,663 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 05:48:22,663 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 05:48:22,663 INFO L290 TraceCheckUtils]: 55: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:48:22,664 INFO L290 TraceCheckUtils]: 54: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:48:22,664 INFO L290 TraceCheckUtils]: 53: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:48:22,664 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 05:48:22,664 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 05:48:22,664 INFO L290 TraceCheckUtils]: 50: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:48:22,664 INFO L290 TraceCheckUtils]: 49: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:48:22,664 INFO L290 TraceCheckUtils]: 48: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:48:22,664 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 05:48:22,665 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 05:48:23,002 INFO L290 TraceCheckUtils]: 45: Hoare triple {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-08 05:48:23,003 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 05:48:23,004 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 05:48:23,004 INFO L290 TraceCheckUtils]: 42: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:48:23,004 INFO L290 TraceCheckUtils]: 41: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:48:23,004 INFO L290 TraceCheckUtils]: 40: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:48:23,004 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 05:48:23,004 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 05:48:23,005 INFO L290 TraceCheckUtils]: 37: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:48:23,005 INFO L290 TraceCheckUtils]: 36: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:48:23,005 INFO L290 TraceCheckUtils]: 35: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:48:23,005 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 05:48:23,005 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 05:48:23,005 INFO L290 TraceCheckUtils]: 32: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:48:23,005 INFO L290 TraceCheckUtils]: 31: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:48:23,005 INFO L290 TraceCheckUtils]: 30: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:48:23,005 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 05:48:23,006 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 05:48:23,006 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 05:48:23,006 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11541#true} {11541#true} #72#return; {11541#true} is VALID [2022-04-08 05:48:23,006 INFO L290 TraceCheckUtils]: 25: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:48:23,007 INFO L290 TraceCheckUtils]: 24: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:48:23,007 INFO L290 TraceCheckUtils]: 23: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:48:23,007 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 05:48:23,007 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11541#true} {11541#true} #70#return; {11541#true} is VALID [2022-04-08 05:48:23,007 INFO L290 TraceCheckUtils]: 20: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:48:23,007 INFO L290 TraceCheckUtils]: 19: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:48:23,007 INFO L290 TraceCheckUtils]: 18: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:48:23,007 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 05:48:23,007 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11541#true} {11541#true} #68#return; {11541#true} is VALID [2022-04-08 05:48:23,007 INFO L290 TraceCheckUtils]: 15: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:48:23,007 INFO L290 TraceCheckUtils]: 14: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:48:23,007 INFO L290 TraceCheckUtils]: 13: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:48:23,007 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 05:48:23,007 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 05:48:23,007 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11541#true} {11541#true} #66#return; {11541#true} is VALID [2022-04-08 05:48:23,007 INFO L290 TraceCheckUtils]: 9: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:48:23,007 INFO L290 TraceCheckUtils]: 8: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-08 05:48:23,007 INFO L290 TraceCheckUtils]: 7: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-08 05:48:23,008 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 05:48:23,008 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 05:48:23,008 INFO L272 TraceCheckUtils]: 4: Hoare triple {11541#true} call #t~ret6 := main(); {11541#true} is VALID [2022-04-08 05:48:23,008 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11541#true} {11541#true} #88#return; {11541#true} is VALID [2022-04-08 05:48:23,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-08 05:48:23,008 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 05:48:23,008 INFO L272 TraceCheckUtils]: 0: Hoare triple {11541#true} call ULTIMATE.init(); {11541#true} is VALID [2022-04-08 05:48:23,008 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 05:48:23,008 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:48:23,008 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [8646330] [2022-04-08 05:48:23,008 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:48:23,008 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [395007223] [2022-04-08 05:48:23,008 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [395007223] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:48:23,009 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:48:23,009 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-08 05:48:23,009 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:48:23,009 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [51796981] [2022-04-08 05:48:23,009 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [51796981] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:48:23,009 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:48:23,009 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 05:48:23,009 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1763382094] [2022-04-08 05:48:23,009 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:48:23,009 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 05:48:23,010 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:48:23,010 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 05:48:23,054 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 05:48:23,054 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 05:48:23,054 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:48:23,055 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 05:48:23,055 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-04-08 05:48:23,055 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 05:48:25,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:48:25,336 INFO L93 Difference]: Finished difference Result 171 states and 198 transitions. [2022-04-08 05:48:25,336 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 05:48:25,336 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 05:48:25,337 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:48:25,337 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 05:48:25,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 69 transitions. [2022-04-08 05:48:25,338 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 05:48:25,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 69 transitions. [2022-04-08 05:48:25,338 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 69 transitions. [2022-04-08 05:48:25,416 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 05:48:25,418 INFO L225 Difference]: With dead ends: 171 [2022-04-08 05:48:25,419 INFO L226 Difference]: Without dead ends: 169 [2022-04-08 05:48:25,419 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 140 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-08 05:48:25,420 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 21 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 342 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:48:25,420 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.0s Time] [2022-04-08 05:48:25,420 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states. [2022-04-08 05:48:25,534 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 159. [2022-04-08 05:48:25,535 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:48:25,535 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 05:48:25,535 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 05:48:25,536 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 05:48:25,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:48:25,538 INFO L93 Difference]: Finished difference Result 169 states and 196 transitions. [2022-04-08 05:48:25,538 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 196 transitions. [2022-04-08 05:48:25,538 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:48:25,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:48:25,539 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 05:48:25,539 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 05:48:25,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:48:25,542 INFO L93 Difference]: Finished difference Result 169 states and 196 transitions. [2022-04-08 05:48:25,542 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 196 transitions. [2022-04-08 05:48:25,542 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:48:25,542 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:48:25,542 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:48:25,542 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:48:25,542 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 05:48:25,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 159 states to 159 states and 183 transitions. [2022-04-08 05:48:25,545 INFO L78 Accepts]: Start accepts. Automaton has 159 states and 183 transitions. Word has length 79 [2022-04-08 05:48:25,545 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:48:25,545 INFO L478 AbstractCegarLoop]: Abstraction has 159 states and 183 transitions. [2022-04-08 05:48:25,545 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 05:48:25,545 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 159 states and 183 transitions. [2022-04-08 05:48:25,941 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 05:48:25,941 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 183 transitions. [2022-04-08 05:48:25,955 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-08 05:48:25,955 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:48:25,955 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 05:48:25,973 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 05:48:26,156 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 05:48:26,156 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:48:26,156 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:48:26,156 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 7 times [2022-04-08 05:48:26,156 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:48:26,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2040653936] [2022-04-08 05:48:26,157 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:48:26,157 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 8 times [2022-04-08 05:48:26,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:48:26,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1881502654] [2022-04-08 05:48:26,157 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:48:26,157 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:48:26,166 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:48:26,166 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2016030953] [2022-04-08 05:48:26,167 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:48:26,167 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:48:26,167 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:48:26,174 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 05:48:26,175 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 05:48:26,225 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:48:26,225 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:48:26,226 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-08 05:48:26,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:48:26,243 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:48:28,442 INFO L272 TraceCheckUtils]: 0: Hoare triple {13036#true} call ULTIMATE.init(); {13036#true} is VALID [2022-04-08 05:48:28,442 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 05:48:28,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:28,442 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13036#true} {13036#true} #88#return; {13036#true} is VALID [2022-04-08 05:48:28,443 INFO L272 TraceCheckUtils]: 4: Hoare triple {13036#true} call #t~ret6 := main(); {13036#true} is VALID [2022-04-08 05:48:28,443 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 05:48:28,443 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 05:48:28,443 INFO L290 TraceCheckUtils]: 7: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:28,443 INFO L290 TraceCheckUtils]: 8: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:28,443 INFO L290 TraceCheckUtils]: 9: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:28,443 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13036#true} {13036#true} #66#return; {13036#true} is VALID [2022-04-08 05:48:28,443 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 05:48:28,443 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 05:48:28,443 INFO L290 TraceCheckUtils]: 13: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:28,443 INFO L290 TraceCheckUtils]: 14: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:28,443 INFO L290 TraceCheckUtils]: 15: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:28,443 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13036#true} {13036#true} #68#return; {13036#true} is VALID [2022-04-08 05:48:28,443 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 05:48:28,444 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 05:48:28,444 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 05:48:28,444 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 05:48:28,445 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 05:48:28,445 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 05:48:28,445 INFO L290 TraceCheckUtils]: 23: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:28,445 INFO L290 TraceCheckUtils]: 24: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:28,445 INFO L290 TraceCheckUtils]: 25: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:28,445 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 05:48:28,446 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 05:48:28,446 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 05:48:28,446 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 05:48:28,446 INFO L290 TraceCheckUtils]: 30: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:28,446 INFO L290 TraceCheckUtils]: 31: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:28,446 INFO L290 TraceCheckUtils]: 32: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:28,447 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 05:48:28,447 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 05:48:28,447 INFO L290 TraceCheckUtils]: 35: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:28,447 INFO L290 TraceCheckUtils]: 36: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:28,447 INFO L290 TraceCheckUtils]: 37: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:28,448 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 05:48:28,448 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 05:48:28,448 INFO L290 TraceCheckUtils]: 40: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:28,448 INFO L290 TraceCheckUtils]: 41: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:28,448 INFO L290 TraceCheckUtils]: 42: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:28,448 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 05:48:28,449 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 05:48:28,449 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 05:48:28,450 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 05:48:28,450 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 05:48:28,450 INFO L290 TraceCheckUtils]: 48: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:28,450 INFO L290 TraceCheckUtils]: 49: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:28,450 INFO L290 TraceCheckUtils]: 50: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:28,451 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 05:48:28,451 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 05:48:28,451 INFO L290 TraceCheckUtils]: 53: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:28,451 INFO L290 TraceCheckUtils]: 54: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:28,451 INFO L290 TraceCheckUtils]: 55: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:28,451 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 05:48:28,451 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 05:48:28,451 INFO L290 TraceCheckUtils]: 58: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:28,452 INFO L290 TraceCheckUtils]: 59: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:28,452 INFO L290 TraceCheckUtils]: 60: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:28,452 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 05:48:28,453 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 05:48:28,454 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 05:48:28,454 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 05:48:28,454 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 05:48:28,454 INFO L290 TraceCheckUtils]: 66: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:28,455 INFO L290 TraceCheckUtils]: 67: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:28,455 INFO L290 TraceCheckUtils]: 68: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:28,455 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 05:48:28,455 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 05:48:28,455 INFO L290 TraceCheckUtils]: 71: Hoare triple {13036#true} ~cond := #in~cond; {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:48:28,456 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 05:48:28,456 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 05:48:28,457 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 05:48:28,457 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 05:48:28,457 INFO L290 TraceCheckUtils]: 76: Hoare triple {13036#true} ~cond := #in~cond; {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:48:28,458 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 05:48:28,458 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 05:48:28,458 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 05:48:28,459 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 05:48:28,464 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 05:48:28,465 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 05:48:28,465 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 05:48:28,465 INFO L290 TraceCheckUtils]: 84: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:28,465 INFO L290 TraceCheckUtils]: 85: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:28,465 INFO L290 TraceCheckUtils]: 86: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:28,466 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 05:48:28,469 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 05:48:28,469 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 05:48:28,469 INFO L290 TraceCheckUtils]: 90: Hoare triple {13319#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13037#false} is VALID [2022-04-08 05:48:28,470 INFO L290 TraceCheckUtils]: 91: Hoare triple {13037#false} assume !false; {13037#false} is VALID [2022-04-08 05:48:28,470 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 05:48:28,470 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:48:50,941 INFO L290 TraceCheckUtils]: 91: Hoare triple {13037#false} assume !false; {13037#false} is VALID [2022-04-08 05:48:50,942 INFO L290 TraceCheckUtils]: 90: Hoare triple {13319#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13037#false} is VALID [2022-04-08 05:48:50,942 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 05:48:50,942 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 05:48:50,943 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 05:48:50,943 INFO L290 TraceCheckUtils]: 86: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:50,943 INFO L290 TraceCheckUtils]: 85: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:50,943 INFO L290 TraceCheckUtils]: 84: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:50,943 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 05:48:50,944 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 05:48:51,617 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 05:48:51,618 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 05:48:51,619 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 05:48:51,619 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 05:48:51,619 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 05:48:51,620 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 05:48:51,620 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 05:48:51,621 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 05:48:51,621 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 05:48:51,621 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 05:48:51,621 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 05:48:51,621 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 05:48:51,621 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13036#true} {13036#true} #74#return; {13036#true} is VALID [2022-04-08 05:48:51,622 INFO L290 TraceCheckUtils]: 68: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:51,622 INFO L290 TraceCheckUtils]: 67: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:51,622 INFO L290 TraceCheckUtils]: 66: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:51,622 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 05:48:51,622 INFO L290 TraceCheckUtils]: 64: Hoare triple {13036#true} assume !false; {13036#true} is VALID [2022-04-08 05:48:51,622 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 05:48:51,622 INFO L290 TraceCheckUtils]: 62: Hoare triple {13036#true} assume !!(~a~0 != ~b~0); {13036#true} is VALID [2022-04-08 05:48:51,622 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13036#true} {13036#true} #78#return; {13036#true} is VALID [2022-04-08 05:48:51,622 INFO L290 TraceCheckUtils]: 60: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:51,622 INFO L290 TraceCheckUtils]: 59: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:51,622 INFO L290 TraceCheckUtils]: 58: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:51,622 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 05:48:51,622 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13036#true} {13036#true} #76#return; {13036#true} is VALID [2022-04-08 05:48:51,622 INFO L290 TraceCheckUtils]: 55: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:51,622 INFO L290 TraceCheckUtils]: 54: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:51,622 INFO L290 TraceCheckUtils]: 53: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:51,622 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 05:48:51,622 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13036#true} {13036#true} #74#return; {13036#true} is VALID [2022-04-08 05:48:51,622 INFO L290 TraceCheckUtils]: 50: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:51,623 INFO L290 TraceCheckUtils]: 49: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:51,623 INFO L290 TraceCheckUtils]: 48: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:51,623 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 05:48:51,623 INFO L290 TraceCheckUtils]: 46: Hoare triple {13036#true} assume !false; {13036#true} is VALID [2022-04-08 05:48:51,623 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 05:48:51,623 INFO L290 TraceCheckUtils]: 44: Hoare triple {13036#true} assume !!(~a~0 != ~b~0); {13036#true} is VALID [2022-04-08 05:48:51,623 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13036#true} {13036#true} #78#return; {13036#true} is VALID [2022-04-08 05:48:51,623 INFO L290 TraceCheckUtils]: 42: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:51,623 INFO L290 TraceCheckUtils]: 41: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:51,623 INFO L290 TraceCheckUtils]: 40: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:51,623 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 05:48:51,623 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13036#true} {13036#true} #76#return; {13036#true} is VALID [2022-04-08 05:48:51,623 INFO L290 TraceCheckUtils]: 37: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:51,623 INFO L290 TraceCheckUtils]: 36: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:51,623 INFO L290 TraceCheckUtils]: 35: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:51,623 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 05:48:51,623 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13036#true} {13036#true} #74#return; {13036#true} is VALID [2022-04-08 05:48:51,623 INFO L290 TraceCheckUtils]: 32: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:51,623 INFO L290 TraceCheckUtils]: 31: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:51,624 INFO L290 TraceCheckUtils]: 30: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:51,624 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 05:48:51,624 INFO L290 TraceCheckUtils]: 28: Hoare triple {13036#true} assume !false; {13036#true} is VALID [2022-04-08 05:48:51,624 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 05:48:51,624 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13036#true} {13036#true} #72#return; {13036#true} is VALID [2022-04-08 05:48:51,624 INFO L290 TraceCheckUtils]: 25: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:51,624 INFO L290 TraceCheckUtils]: 24: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:51,624 INFO L290 TraceCheckUtils]: 23: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:51,624 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 05:48:51,624 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13036#true} {13036#true} #70#return; {13036#true} is VALID [2022-04-08 05:48:51,624 INFO L290 TraceCheckUtils]: 20: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:51,624 INFO L290 TraceCheckUtils]: 19: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:51,624 INFO L290 TraceCheckUtils]: 18: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:51,624 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 05:48:51,624 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13036#true} {13036#true} #68#return; {13036#true} is VALID [2022-04-08 05:48:51,624 INFO L290 TraceCheckUtils]: 15: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:51,624 INFO L290 TraceCheckUtils]: 14: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:51,624 INFO L290 TraceCheckUtils]: 13: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:51,624 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 05:48:51,625 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 05:48:51,625 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13036#true} {13036#true} #66#return; {13036#true} is VALID [2022-04-08 05:48:51,625 INFO L290 TraceCheckUtils]: 9: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:51,625 INFO L290 TraceCheckUtils]: 8: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-08 05:48:51,625 INFO L290 TraceCheckUtils]: 7: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-08 05:48:51,625 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 05:48:51,625 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 05:48:51,625 INFO L272 TraceCheckUtils]: 4: Hoare triple {13036#true} call #t~ret6 := main(); {13036#true} is VALID [2022-04-08 05:48:51,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13036#true} {13036#true} #88#return; {13036#true} is VALID [2022-04-08 05:48:51,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 05:48:51,625 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 05:48:51,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {13036#true} call ULTIMATE.init(); {13036#true} is VALID [2022-04-08 05:48:51,625 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 05:48:51,625 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:48:51,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1881502654] [2022-04-08 05:48:51,626 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:48:51,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2016030953] [2022-04-08 05:48:51,626 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2016030953] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:48:51,626 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:48:51,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-08 05:48:51,626 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:48:51,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2040653936] [2022-04-08 05:48:51,626 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2040653936] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:48:51,626 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:48:51,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 05:48:51,626 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2075969431] [2022-04-08 05:48:51,626 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:48:51,627 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 05:48:51,627 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:48:51,627 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 05:48:51,684 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 05:48:51,684 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 05:48:51,684 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:48:51,685 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 05:48:51,685 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-04-08 05:48:51,685 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 05:48:59,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:48:59,566 INFO L93 Difference]: Finished difference Result 189 states and 221 transitions. [2022-04-08 05:48:59,566 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 05:48:59,566 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 05:48:59,566 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:48:59,567 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 05:48:59,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-08 05:48:59,568 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 05:48:59,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-08 05:48:59,568 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 79 transitions. [2022-04-08 05:48:59,672 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 05:48:59,675 INFO L225 Difference]: With dead ends: 189 [2022-04-08 05:48:59,675 INFO L226 Difference]: Without dead ends: 187 [2022-04-08 05:48:59,675 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 165 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 72 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-08 05:48:59,676 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 24 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 501 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.9s 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, 3.9s IncrementalHoareTripleChecker+Time [2022-04-08 05:48:59,676 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 181 Invalid, 524 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 501 Invalid, 0 Unknown, 0 Unchecked, 3.9s Time] [2022-04-08 05:48:59,676 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 187 states. [2022-04-08 05:48:59,863 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 187 to 187. [2022-04-08 05:48:59,863 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:48:59,863 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 05:48:59,863 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 05:48:59,864 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 05:48:59,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:48:59,866 INFO L93 Difference]: Finished difference Result 187 states and 219 transitions. [2022-04-08 05:48:59,866 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 219 transitions. [2022-04-08 05:48:59,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:48:59,867 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:48:59,867 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 05:48:59,867 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 05:48:59,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:48:59,870 INFO L93 Difference]: Finished difference Result 187 states and 219 transitions. [2022-04-08 05:48:59,870 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 219 transitions. [2022-04-08 05:48:59,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:48:59,870 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:48:59,870 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:48:59,870 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:48:59,871 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 05:48:59,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 187 states to 187 states and 219 transitions. [2022-04-08 05:48:59,873 INFO L78 Accepts]: Start accepts. Automaton has 187 states and 219 transitions. Word has length 92 [2022-04-08 05:48:59,874 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:48:59,874 INFO L478 AbstractCegarLoop]: Abstraction has 187 states and 219 transitions. [2022-04-08 05:48:59,874 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 05:48:59,874 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 187 states and 219 transitions. [2022-04-08 05:49:00,419 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 05:49:00,419 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 219 transitions. [2022-04-08 05:49:00,420 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-08 05:49:00,420 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:49:00,420 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 05:49:00,436 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-08 05:49:00,620 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 05:49:00,620 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:49:00,621 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:49:00,621 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 9 times [2022-04-08 05:49:00,621 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:49:00,621 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1882751606] [2022-04-08 05:49:00,621 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:49:00,621 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 10 times [2022-04-08 05:49:00,621 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:49:00,621 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1231753197] [2022-04-08 05:49:00,621 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:49:00,622 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:49:00,630 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:49:00,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1409044626] [2022-04-08 05:49:00,631 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:49:00,631 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:49:00,631 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:49:00,632 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 05:49:00,634 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 05:49:00,674 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:49:00,675 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:49:00,676 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 56 conjunts are in the unsatisfiable core [2022-04-08 05:49:00,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:49:00,691 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:49:02,532 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:49:02,610 INFO L272 TraceCheckUtils]: 0: Hoare triple {14737#true} call ULTIMATE.init(); {14737#true} is VALID [2022-04-08 05:49:02,611 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 05:49:02,611 INFO L290 TraceCheckUtils]: 2: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:02,611 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14737#true} {14737#true} #88#return; {14737#true} is VALID [2022-04-08 05:49:02,611 INFO L272 TraceCheckUtils]: 4: Hoare triple {14737#true} call #t~ret6 := main(); {14737#true} is VALID [2022-04-08 05:49:02,611 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 05:49:02,611 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 05:49:02,611 INFO L290 TraceCheckUtils]: 7: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:02,611 INFO L290 TraceCheckUtils]: 8: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:02,611 INFO L290 TraceCheckUtils]: 9: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:02,611 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14737#true} {14737#true} #66#return; {14737#true} is VALID [2022-04-08 05:49:02,611 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 05:49:02,611 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 05:49:02,611 INFO L290 TraceCheckUtils]: 13: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:02,611 INFO L290 TraceCheckUtils]: 14: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:02,611 INFO L290 TraceCheckUtils]: 15: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:02,611 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14737#true} {14737#true} #68#return; {14737#true} is VALID [2022-04-08 05:49:02,611 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 05:49:02,612 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 05:49:02,612 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 05:49:02,612 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 05:49:02,613 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 05:49:02,613 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 05:49:02,613 INFO L290 TraceCheckUtils]: 23: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:02,613 INFO L290 TraceCheckUtils]: 24: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:02,613 INFO L290 TraceCheckUtils]: 25: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:02,613 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 05:49:02,614 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 05:49:02,614 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 05:49:02,614 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 05:49:02,614 INFO L290 TraceCheckUtils]: 30: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:02,614 INFO L290 TraceCheckUtils]: 31: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:02,614 INFO L290 TraceCheckUtils]: 32: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:02,615 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 05:49:02,615 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 05:49:02,615 INFO L290 TraceCheckUtils]: 35: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:02,615 INFO L290 TraceCheckUtils]: 36: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:02,615 INFO L290 TraceCheckUtils]: 37: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:02,615 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 05:49:02,616 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 05:49:02,616 INFO L290 TraceCheckUtils]: 40: Hoare triple {14737#true} ~cond := #in~cond; {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:49:02,620 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 05:49:02,620 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 05:49:02,620 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 05:49:02,621 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 05:49:02,622 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 05:49:02,622 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 05:49:02,622 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 05:49:02,622 INFO L290 TraceCheckUtils]: 48: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:02,622 INFO L290 TraceCheckUtils]: 49: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:02,622 INFO L290 TraceCheckUtils]: 50: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:02,623 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 05:49:02,623 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 05:49:02,623 INFO L290 TraceCheckUtils]: 53: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:02,623 INFO L290 TraceCheckUtils]: 54: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:02,623 INFO L290 TraceCheckUtils]: 55: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:02,624 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 05:49:02,624 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 05:49:02,624 INFO L290 TraceCheckUtils]: 58: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:02,624 INFO L290 TraceCheckUtils]: 59: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:02,624 INFO L290 TraceCheckUtils]: 60: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:02,624 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 05:49:02,625 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 05:49:02,625 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 05:49:02,626 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 05:49:02,626 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 05:49:02,626 INFO L290 TraceCheckUtils]: 66: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:02,626 INFO L290 TraceCheckUtils]: 67: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:02,626 INFO L290 TraceCheckUtils]: 68: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:02,627 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 05:49:02,627 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 05:49:02,627 INFO L290 TraceCheckUtils]: 71: Hoare triple {14737#true} ~cond := #in~cond; {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:49:02,627 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 05:49:02,628 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 05:49:02,628 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 05:49:02,628 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 05:49:02,628 INFO L290 TraceCheckUtils]: 76: Hoare triple {14737#true} ~cond := #in~cond; {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:49:02,629 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 05:49:02,629 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 05:49:02,629 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 05:49:02,630 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 05:49:02,631 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 05:49:02,632 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 05:49:02,632 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 05:49:02,632 INFO L290 TraceCheckUtils]: 84: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:02,632 INFO L290 TraceCheckUtils]: 85: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:02,632 INFO L290 TraceCheckUtils]: 86: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:02,632 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 05:49:02,635 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 05:49:02,635 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 05:49:02,635 INFO L290 TraceCheckUtils]: 90: Hoare triple {15020#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14738#false} is VALID [2022-04-08 05:49:02,636 INFO L290 TraceCheckUtils]: 91: Hoare triple {14738#false} assume !false; {14738#false} is VALID [2022-04-08 05:49:02,636 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 05:49:02,636 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:49:42,591 INFO L290 TraceCheckUtils]: 91: Hoare triple {14738#false} assume !false; {14738#false} is VALID [2022-04-08 05:49:42,591 INFO L290 TraceCheckUtils]: 90: Hoare triple {15020#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14738#false} is VALID [2022-04-08 05:49:42,591 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 05:49:42,592 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 05:49:42,593 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 05:49:42,593 INFO L290 TraceCheckUtils]: 86: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:42,593 INFO L290 TraceCheckUtils]: 85: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:42,593 INFO L290 TraceCheckUtils]: 84: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:42,593 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 05:49:42,593 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 05:49:42,846 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 05:49:42,846 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 05:49:42,847 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 05:49:42,847 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 05:49:42,848 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 05:49:42,848 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 05:49:42,848 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 05:49:42,849 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 05:49:42,849 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 05:49:42,849 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 05:49:42,850 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 05:49:42,850 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 05:49:42,850 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14737#true} {14737#true} #74#return; {14737#true} is VALID [2022-04-08 05:49:42,850 INFO L290 TraceCheckUtils]: 68: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:42,850 INFO L290 TraceCheckUtils]: 67: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:42,850 INFO L290 TraceCheckUtils]: 66: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:42,850 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 05:49:42,850 INFO L290 TraceCheckUtils]: 64: Hoare triple {14737#true} assume !false; {14737#true} is VALID [2022-04-08 05:49:42,850 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 05:49:42,850 INFO L290 TraceCheckUtils]: 62: Hoare triple {14737#true} assume !!(~a~0 != ~b~0); {14737#true} is VALID [2022-04-08 05:49:42,850 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14737#true} {14737#true} #78#return; {14737#true} is VALID [2022-04-08 05:49:42,850 INFO L290 TraceCheckUtils]: 60: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:42,850 INFO L290 TraceCheckUtils]: 59: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:42,850 INFO L290 TraceCheckUtils]: 58: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:42,850 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 05:49:42,850 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14737#true} {14737#true} #76#return; {14737#true} is VALID [2022-04-08 05:49:42,850 INFO L290 TraceCheckUtils]: 55: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:42,850 INFO L290 TraceCheckUtils]: 54: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:42,851 INFO L290 TraceCheckUtils]: 53: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:42,851 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 05:49:42,851 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14737#true} {14737#true} #74#return; {14737#true} is VALID [2022-04-08 05:49:42,851 INFO L290 TraceCheckUtils]: 50: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:42,851 INFO L290 TraceCheckUtils]: 49: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:42,851 INFO L290 TraceCheckUtils]: 48: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:42,851 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 05:49:42,851 INFO L290 TraceCheckUtils]: 46: Hoare triple {14737#true} assume !false; {14737#true} is VALID [2022-04-08 05:49:42,851 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 05:49:42,851 INFO L290 TraceCheckUtils]: 44: Hoare triple {14737#true} assume !!(~a~0 != ~b~0); {14737#true} is VALID [2022-04-08 05:49:42,851 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {14737#true} {14737#true} #78#return; {14737#true} is VALID [2022-04-08 05:49:42,851 INFO L290 TraceCheckUtils]: 42: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:42,851 INFO L290 TraceCheckUtils]: 41: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:42,851 INFO L290 TraceCheckUtils]: 40: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:42,851 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 05:49:42,851 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14737#true} {14737#true} #76#return; {14737#true} is VALID [2022-04-08 05:49:42,851 INFO L290 TraceCheckUtils]: 37: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:42,851 INFO L290 TraceCheckUtils]: 36: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:42,851 INFO L290 TraceCheckUtils]: 35: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:42,851 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 05:49:42,852 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14737#true} {14737#true} #74#return; {14737#true} is VALID [2022-04-08 05:49:42,852 INFO L290 TraceCheckUtils]: 32: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:42,852 INFO L290 TraceCheckUtils]: 31: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:42,852 INFO L290 TraceCheckUtils]: 30: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:42,852 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 05:49:42,852 INFO L290 TraceCheckUtils]: 28: Hoare triple {14737#true} assume !false; {14737#true} is VALID [2022-04-08 05:49:42,852 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 05:49:42,852 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14737#true} {14737#true} #72#return; {14737#true} is VALID [2022-04-08 05:49:42,852 INFO L290 TraceCheckUtils]: 25: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:42,852 INFO L290 TraceCheckUtils]: 24: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:42,852 INFO L290 TraceCheckUtils]: 23: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:42,852 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 05:49:42,852 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14737#true} {14737#true} #70#return; {14737#true} is VALID [2022-04-08 05:49:42,852 INFO L290 TraceCheckUtils]: 20: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:42,852 INFO L290 TraceCheckUtils]: 19: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:42,852 INFO L290 TraceCheckUtils]: 18: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:42,852 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 05:49:42,852 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14737#true} {14737#true} #68#return; {14737#true} is VALID [2022-04-08 05:49:42,852 INFO L290 TraceCheckUtils]: 15: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:42,853 INFO L290 TraceCheckUtils]: 14: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:42,853 INFO L290 TraceCheckUtils]: 13: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:42,853 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 05:49:42,853 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 05:49:42,853 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14737#true} {14737#true} #66#return; {14737#true} is VALID [2022-04-08 05:49:42,853 INFO L290 TraceCheckUtils]: 9: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:42,853 INFO L290 TraceCheckUtils]: 8: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-08 05:49:42,853 INFO L290 TraceCheckUtils]: 7: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-08 05:49:42,853 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 05:49:42,853 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 05:49:42,853 INFO L272 TraceCheckUtils]: 4: Hoare triple {14737#true} call #t~ret6 := main(); {14737#true} is VALID [2022-04-08 05:49:42,853 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14737#true} {14737#true} #88#return; {14737#true} is VALID [2022-04-08 05:49:42,853 INFO L290 TraceCheckUtils]: 2: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-08 05:49:42,853 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 05:49:42,853 INFO L272 TraceCheckUtils]: 0: Hoare triple {14737#true} call ULTIMATE.init(); {14737#true} is VALID [2022-04-08 05:49:42,853 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 05:49:42,854 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:49:42,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1231753197] [2022-04-08 05:49:42,854 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:49:42,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1409044626] [2022-04-08 05:49:42,854 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1409044626] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:49:42,854 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:49:42,854 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-08 05:49:42,854 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:49:42,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1882751606] [2022-04-08 05:49:42,854 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1882751606] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:49:42,854 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:49:42,854 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 05:49:42,854 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [648835968] [2022-04-08 05:49:42,854 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:49:42,855 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 05:49:42,855 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:49:42,855 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 05:49:42,913 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 05:49:42,913 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 05:49:42,913 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:49:42,914 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 05:49:42,914 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=247, Unknown=0, NotChecked=0, Total=306 [2022-04-08 05:49:42,914 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 05:49:44,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:49:44,918 INFO L93 Difference]: Finished difference Result 224 states and 261 transitions. [2022-04-08 05:49:44,919 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 05:49:44,919 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 05:49:44,919 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:49:44,919 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 05:49:44,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-08 05:49:44,920 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 05:49:44,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-08 05:49:44,921 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 79 transitions. [2022-04-08 05:49:45,015 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 05:49:45,019 INFO L225 Difference]: With dead ends: 224 [2022-04-08 05:49:45,019 INFO L226 Difference]: Without dead ends: 222 [2022-04-08 05:49:45,019 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 164 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 75 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=76, Invalid=344, Unknown=0, NotChecked=0, Total=420 [2022-04-08 05:49:45,019 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 24 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 473 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:49:45,020 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.0s Time] [2022-04-08 05:49:45,020 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 222 states. [2022-04-08 05:49:45,232 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 222 to 222. [2022-04-08 05:49:45,232 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:49:45,233 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 05:49:45,233 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 05:49:45,233 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 05:49:45,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:49:45,237 INFO L93 Difference]: Finished difference Result 222 states and 259 transitions. [2022-04-08 05:49:45,237 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 259 transitions. [2022-04-08 05:49:45,237 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:49:45,237 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:49:45,237 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 05:49:45,238 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 05:49:45,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:49:45,241 INFO L93 Difference]: Finished difference Result 222 states and 259 transitions. [2022-04-08 05:49:45,241 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 259 transitions. [2022-04-08 05:49:45,242 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:49:45,242 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:49:45,242 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:49:45,242 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:49:45,242 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 05:49:45,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 259 transitions. [2022-04-08 05:49:45,246 INFO L78 Accepts]: Start accepts. Automaton has 222 states and 259 transitions. Word has length 92 [2022-04-08 05:49:45,246 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:49:45,246 INFO L478 AbstractCegarLoop]: Abstraction has 222 states and 259 transitions. [2022-04-08 05:49:45,246 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 05:49:45,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 222 states and 259 transitions. [2022-04-08 05:49:45,855 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 05:49:45,855 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 259 transitions. [2022-04-08 05:49:45,856 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-08 05:49:45,856 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:49:45,856 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 05:49:45,872 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-08 05:49:46,057 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 05:49:46,057 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:49:46,057 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:49:46,057 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 11 times [2022-04-08 05:49:46,057 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:49:46,057 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [641346847] [2022-04-08 05:49:46,058 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:49:46,058 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 12 times [2022-04-08 05:49:46,058 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:49:46,058 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2059640393] [2022-04-08 05:49:46,058 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:49:46,058 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:49:46,069 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:49:46,069 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1516915358] [2022-04-08 05:49:46,069 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:49:46,069 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:49:46,069 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:49:46,070 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 05:49:46,070 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 05:49:46,115 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 05:49:46,115 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:49:46,116 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-08 05:49:46,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:49:46,151 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:49:49,817 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:49:51,805 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:49:56,696 INFO L272 TraceCheckUtils]: 0: Hoare triple {16648#true} call ULTIMATE.init(); {16648#true} is VALID [2022-04-08 05:49:56,696 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 05:49:56,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 05:49:56,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16648#true} {16648#true} #88#return; {16648#true} is VALID [2022-04-08 05:49:56,696 INFO L272 TraceCheckUtils]: 4: Hoare triple {16648#true} call #t~ret6 := main(); {16648#true} is VALID [2022-04-08 05:49:56,696 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 05:49:56,696 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 05:49:56,696 INFO L290 TraceCheckUtils]: 7: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 05:49:56,696 INFO L290 TraceCheckUtils]: 8: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 05:49:56,696 INFO L290 TraceCheckUtils]: 9: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 05:49:56,696 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16648#true} {16648#true} #66#return; {16648#true} is VALID [2022-04-08 05:49:56,696 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 05:49:56,696 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 05:49:56,696 INFO L290 TraceCheckUtils]: 13: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 05:49:56,697 INFO L290 TraceCheckUtils]: 14: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 05:49:56,697 INFO L290 TraceCheckUtils]: 15: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 05:49:56,697 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16648#true} {16648#true} #68#return; {16648#true} is VALID [2022-04-08 05:49:56,697 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 05:49:56,697 INFO L290 TraceCheckUtils]: 18: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 05:49:56,697 INFO L290 TraceCheckUtils]: 19: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 05:49:56,697 INFO L290 TraceCheckUtils]: 20: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 05:49:56,697 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16648#true} {16648#true} #70#return; {16648#true} is VALID [2022-04-08 05:49:56,697 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 05:49:56,697 INFO L290 TraceCheckUtils]: 23: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 05:49:56,697 INFO L290 TraceCheckUtils]: 24: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 05:49:56,697 INFO L290 TraceCheckUtils]: 25: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 05:49:56,697 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16648#true} {16648#true} #72#return; {16648#true} is VALID [2022-04-08 05:49:56,697 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 05:49:56,698 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 05:49:56,698 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 05:49:56,698 INFO L290 TraceCheckUtils]: 30: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 05:49:56,698 INFO L290 TraceCheckUtils]: 31: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 05:49:56,698 INFO L290 TraceCheckUtils]: 32: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 05:49:56,698 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 05:49:56,699 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 05:49:56,699 INFO L290 TraceCheckUtils]: 35: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 05:49:56,699 INFO L290 TraceCheckUtils]: 36: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 05:49:56,699 INFO L290 TraceCheckUtils]: 37: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 05:49:56,699 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 05:49:56,699 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 05:49:56,699 INFO L290 TraceCheckUtils]: 40: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 05:49:56,699 INFO L290 TraceCheckUtils]: 41: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 05:49:56,699 INFO L290 TraceCheckUtils]: 42: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 05:49:56,700 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 05:49:56,700 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 05:49:56,701 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 05:49:56,701 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 05:49:56,701 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 05:49:56,701 INFO L290 TraceCheckUtils]: 48: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 05:49:56,701 INFO L290 TraceCheckUtils]: 49: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 05:49:56,701 INFO L290 TraceCheckUtils]: 50: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 05:49:56,702 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 05:49:56,702 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 05:49:56,702 INFO L290 TraceCheckUtils]: 53: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 05:49:56,702 INFO L290 TraceCheckUtils]: 54: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 05:49:56,702 INFO L290 TraceCheckUtils]: 55: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 05:49:56,702 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 05:49:56,702 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 05:49:56,702 INFO L290 TraceCheckUtils]: 58: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 05:49:56,702 INFO L290 TraceCheckUtils]: 59: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 05:49:56,702 INFO L290 TraceCheckUtils]: 60: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 05:49:56,703 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 05:49:56,703 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 05:49:56,704 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 05:49:56,704 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 05:49:56,704 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 05:49:56,704 INFO L290 TraceCheckUtils]: 66: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 05:49:56,704 INFO L290 TraceCheckUtils]: 67: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 05:49:56,704 INFO L290 TraceCheckUtils]: 68: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 05:49:56,705 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 05:49:56,705 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 05:49:56,705 INFO L290 TraceCheckUtils]: 71: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-08 05:49:56,705 INFO L290 TraceCheckUtils]: 72: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-08 05:49:56,705 INFO L290 TraceCheckUtils]: 73: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-08 05:49:56,705 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 05:49:56,705 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 05:49:56,706 INFO L290 TraceCheckUtils]: 76: Hoare triple {16648#true} ~cond := #in~cond; {16882#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:49:56,706 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 05:49:56,706 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 05:49:56,707 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 05:49:56,707 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 05:49:56,708 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 05:49:56,709 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 05:49:56,713 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 05:49:56,714 INFO L290 TraceCheckUtils]: 84: Hoare triple {16648#true} ~cond := #in~cond; {16882#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:49:56,714 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 05:49:56,715 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 05:49:58,717 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 05:49:58,725 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 05:49:58,726 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 05:49:58,726 INFO L290 TraceCheckUtils]: 90: Hoare triple {16927#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16649#false} is VALID [2022-04-08 05:49:58,726 INFO L290 TraceCheckUtils]: 91: Hoare triple {16649#false} assume !false; {16649#false} is VALID [2022-04-08 05:49:58,726 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 05:49:58,727 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:51:11,270 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 05:52:59,054 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 05:55:20,797 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 05:56:00,143 WARN L855 $PredicateComparison]: unable to prove that (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~q~0_BEFORE_CALL_129 Int) (v_main_~p~0_BEFORE_CALL_131 Int) (v_main_~s~0_BEFORE_CALL_123 Int) (v_main_~r~0_BEFORE_CALL_128 Int)) (let ((.cse0 (+ (* v_main_~r~0_BEFORE_CALL_128 v_main_~q~0_BEFORE_CALL_129) 1))) (or (not (= (+ (* (+ (* (- 1) v_main_~s~0_BEFORE_CALL_123) v_main_~r~0_BEFORE_CALL_128) v_main_~q~0_BEFORE_CALL_129) 1) (* (+ v_main_~p~0_BEFORE_CALL_131 (* (- 1) v_main_~q~0_BEFORE_CALL_129)) v_main_~s~0_BEFORE_CALL_123))) (= (mod .cse0 v_main_~p~0_BEFORE_CALL_131) 0) (= .cse0 0))))) is different from true [2022-04-08 05:56:16,078 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:56:16,078 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2059640393] [2022-04-08 05:56:16,078 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:56:16,078 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1516915358] [2022-04-08 05:56:16,078 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1516915358] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 05:56:16,078 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:56:16,078 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-08 05:56:16,079 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:56:16,079 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [641346847] [2022-04-08 05:56:16,079 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [641346847] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:56:16,079 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:56:16,079 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:56:16,079 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [27328850] [2022-04-08 05:56:16,079 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:56:16,079 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 3 states have call successors, (10) Word has length 92 [2022-04-08 05:56:16,079 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:56:16,079 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 05:56:18,121 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 05:56:18,122 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:56:18,122 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:56:18,122 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:56:18,122 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=189, Unknown=8, NotChecked=90, Total=342 [2022-04-08 05:56:18,122 INFO L87 Difference]: Start difference. First operand 222 states and 259 transitions. Second operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 05:56:54,382 WARN L232 SmtUtils]: Spent 29.95s on a formula simplification. DAG size of input: 47 DAG size of output: 44 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 05:56:58,647 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 05:56:58,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:56:58,832 INFO L93 Difference]: Finished difference Result 254 states and 300 transitions. [2022-04-08 05:56:58,832 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 05:56:58,832 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 3 states have call successors, (10) Word has length 92 [2022-04-08 05:56:58,832 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:56:58,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 05:56:58,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-08 05:56:58,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 05:56:58,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-08 05:56:58,834 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 76 transitions. [2022-04-08 05:57:00,941 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 75 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:00,946 INFO L225 Difference]: With dead ends: 254 [2022-04-08 05:57:00,946 INFO L226 Difference]: Without dead ends: 252 [2022-04-08 05:57:00,946 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 104 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 38 ImplicationChecksByTransitivity, 55.5s TimeCoverageRelationStatistics Valid=76, Invalid=270, Unknown=8, NotChecked=108, Total=462 [2022-04-08 05:57:00,946 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 16 mSDsluCounter, 145 mSDsCounter, 0 mSdLazyCounter, 240 mSolverCounterSat, 10 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 251 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 240 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.9s IncrementalHoareTripleChecker+Time [2022-04-08 05:57:00,946 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 178 Invalid, 251 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 240 Invalid, 1 Unknown, 0 Unchecked, 3.9s Time] [2022-04-08 05:57:00,947 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 252 states. [2022-04-08 05:57:01,179 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 252 to 226. [2022-04-08 05:57:01,180 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:57:01,180 INFO L82 GeneralOperation]: Start isEquivalent. First operand 252 states. Second operand has 226 states, 138 states have (on average 1.0942028985507246) internal successors, (151), 144 states have internal predecessors, (151), 56 states have call successors, (56), 32 states have call predecessors, (56), 31 states have return successors, (55), 49 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 05:57:01,180 INFO L74 IsIncluded]: Start isIncluded. First operand 252 states. Second operand has 226 states, 138 states have (on average 1.0942028985507246) internal successors, (151), 144 states have internal predecessors, (151), 56 states have call successors, (56), 32 states have call predecessors, (56), 31 states have return successors, (55), 49 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 05:57:01,181 INFO L87 Difference]: Start difference. First operand 252 states. Second operand has 226 states, 138 states have (on average 1.0942028985507246) internal successors, (151), 144 states have internal predecessors, (151), 56 states have call successors, (56), 32 states have call predecessors, (56), 31 states have return successors, (55), 49 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 05:57:01,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:01,187 INFO L93 Difference]: Finished difference Result 252 states and 298 transitions. [2022-04-08 05:57:01,187 INFO L276 IsEmpty]: Start isEmpty. Operand 252 states and 298 transitions. [2022-04-08 05:57:01,188 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:01,188 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:01,188 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 138 states have (on average 1.0942028985507246) internal successors, (151), 144 states have internal predecessors, (151), 56 states have call successors, (56), 32 states have call predecessors, (56), 31 states have return successors, (55), 49 states have call predecessors, (55), 55 states have call successors, (55) Second operand 252 states. [2022-04-08 05:57:01,188 INFO L87 Difference]: Start difference. First operand has 226 states, 138 states have (on average 1.0942028985507246) internal successors, (151), 144 states have internal predecessors, (151), 56 states have call successors, (56), 32 states have call predecessors, (56), 31 states have return successors, (55), 49 states have call predecessors, (55), 55 states have call successors, (55) Second operand 252 states. [2022-04-08 05:57:01,192 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:57:01,192 INFO L93 Difference]: Finished difference Result 252 states and 298 transitions. [2022-04-08 05:57:01,192 INFO L276 IsEmpty]: Start isEmpty. Operand 252 states and 298 transitions. [2022-04-08 05:57:01,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:57:01,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:57:01,193 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:57:01,193 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:57:01,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 138 states have (on average 1.0942028985507246) internal successors, (151), 144 states have internal predecessors, (151), 56 states have call successors, (56), 32 states have call predecessors, (56), 31 states have return successors, (55), 49 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 05:57:01,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 262 transitions. [2022-04-08 05:57:01,196 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 262 transitions. Word has length 92 [2022-04-08 05:57:01,197 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:57:01,197 INFO L478 AbstractCegarLoop]: Abstraction has 226 states and 262 transitions. [2022-04-08 05:57:01,197 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 4 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 05:57:01,197 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 262 transitions. [2022-04-08 05:57:03,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 262 edges. 262 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:57:03,392 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 262 transitions. [2022-04-08 05:57:03,392 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-08 05:57:03,392 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:57:03,393 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 4, 4, 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 05:57:03,409 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-08 05:57:03,593 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-08 05:57:03,593 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:57:03,593 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:57:03,593 INFO L85 PathProgramCache]: Analyzing trace with hash 1963826657, now seen corresponding path program 13 times [2022-04-08 05:57:03,593 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:57:03,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2140096019] [2022-04-08 05:57:03,594 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:57:03,594 INFO L85 PathProgramCache]: Analyzing trace with hash 1963826657, now seen corresponding path program 14 times [2022-04-08 05:57:03,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:57:03,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [764883677] [2022-04-08 05:57:03,594 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:57:03,594 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:57:03,602 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:57:03,603 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1524064372] [2022-04-08 05:57:03,603 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:57:03,603 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:57:03,603 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:57:03,604 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:57:03,604 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-08 05:57:03,652 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:57:03,653 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:57:03,654 INFO L263 TraceCheckSpWp]: Trace formula consists of 231 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 05:57:03,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:57:03,670 INFO L286 TraceCheckSpWp]: Computing forward predicates...