/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-e106359-m [2022-04-15 08:39:08,688 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 08:39:08,690 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 08:39:08,722 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 08:39:08,722 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 08:39:08,723 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 08:39:08,728 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 08:39:08,733 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 08:39:08,734 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 08:39:08,738 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 08:39:08,738 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 08:39:08,739 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 08:39:08,739 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 08:39:08,740 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 08:39:08,741 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 08:39:08,741 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 08:39:08,742 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 08:39:08,742 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 08:39:08,744 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 08:39:08,745 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 08:39:08,746 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 08:39:08,746 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 08:39:08,747 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 08:39:08,748 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 08:39:08,748 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 08:39:08,750 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 08:39:08,751 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 08:39:08,751 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 08:39:08,751 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 08:39:08,752 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 08:39:08,752 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 08:39:08,753 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 08:39:08,753 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 08:39:08,754 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 08:39:08,754 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 08:39:08,755 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 08:39:08,755 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 08:39:08,757 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 08:39:08,757 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 08:39:08,758 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 08:39:08,758 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 08:39:08,761 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 08:39:08,761 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 08:39:08,773 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 08:39:08,773 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 08:39:08,775 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 08:39:08,775 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 08:39:08,775 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 08:39:08,775 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 08:39:08,775 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 08:39:08,775 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 08:39:08,775 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 08:39:08,776 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 08:39:08,776 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 08:39:08,776 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 08:39:08,776 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 08:39:08,776 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 08:39:08,777 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 08:39:08,777 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 08:39:08,777 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 08:39:08,777 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 08:39:08,777 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 08:39:08,777 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 08:39:08,777 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 08:39:08,777 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 08:39:08,778 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 08:39:08,778 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 08:39:08,778 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 08:39:08,778 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 08:39:08,988 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 08:39:09,005 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 08:39:09,007 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 08:39:09,008 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 08:39:09,009 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 08:39:09,010 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-15 08:39:09,066 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a113aef56/02217b7f916846f48170c3c78ad39ebe/FLAG98f971d7f [2022-04-15 08:39:09,434 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 08:39:09,434 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound20.c [2022-04-15 08:39:09,441 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a113aef56/02217b7f916846f48170c3c78ad39ebe/FLAG98f971d7f [2022-04-15 08:39:09,854 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a113aef56/02217b7f916846f48170c3c78ad39ebe [2022-04-15 08:39:09,856 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 08:39:09,857 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 08:39:09,858 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 08:39:09,859 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 08:39:09,863 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 08:39:09,864 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 08:39:09" (1/1) ... [2022-04-15 08:39:09,865 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@24af5c36 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:39:09, skipping insertion in model container [2022-04-15 08:39:09,865 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 08:39:09" (1/1) ... [2022-04-15 08:39:09,871 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 08:39:09,882 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 08:39:10,005 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-15 08:39:10,034 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 08:39:10,040 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 08:39:10,050 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-15 08:39:10,060 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 08:39:10,070 INFO L208 MainTranslator]: Completed translation [2022-04-15 08:39:10,071 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:39:10 WrapperNode [2022-04-15 08:39:10,071 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 08:39:10,072 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 08:39:10,072 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 08:39:10,072 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 08:39:10,078 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:39:10" (1/1) ... [2022-04-15 08:39:10,078 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:39:10" (1/1) ... [2022-04-15 08:39:10,083 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:39:10" (1/1) ... [2022-04-15 08:39:10,083 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:39:10" (1/1) ... [2022-04-15 08:39:10,089 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:39:10" (1/1) ... [2022-04-15 08:39:10,092 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:39:10" (1/1) ... [2022-04-15 08:39:10,093 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:39:10" (1/1) ... [2022-04-15 08:39:10,094 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 08:39:10,095 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 08:39:10,095 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 08:39:10,095 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 08:39:10,096 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:39:10" (1/1) ... [2022-04-15 08:39:10,107 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 08:39:10,114 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:39:10,123 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 08:39:10,124 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 08:39:10,157 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 08:39:10,157 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 08:39:10,157 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 08:39:10,158 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 08:39:10,158 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 08:39:10,158 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 08:39:10,159 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 08:39:10,159 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 08:39:10,159 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 08:39:10,159 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 08:39:10,159 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 08:39:10,160 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 08:39:10,160 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 08:39:10,160 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 08:39:10,160 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 08:39:10,160 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 08:39:10,160 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 08:39:10,160 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 08:39:10,160 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 08:39:10,160 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 08:39:10,216 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 08:39:10,217 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 08:39:10,358 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 08:39:10,364 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 08:39:10,364 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 08:39:10,365 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 08:39:10 BoogieIcfgContainer [2022-04-15 08:39:10,366 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 08:39:10,367 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 08:39:10,367 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 08:39:10,370 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 08:39:10,370 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 08:39:09" (1/3) ... [2022-04-15 08:39:10,370 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@48835a76 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 08:39:10, skipping insertion in model container [2022-04-15 08:39:10,371 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:39:10" (2/3) ... [2022-04-15 08:39:10,371 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@48835a76 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 08:39:10, skipping insertion in model container [2022-04-15 08:39:10,371 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 08:39:10" (3/3) ... [2022-04-15 08:39:10,372 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound20.c [2022-04-15 08:39:10,376 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 08:39:10,376 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 08:39:10,414 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 08:39:10,419 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 08:39:10,420 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 08:39:10,436 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 08:39:10,443 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 08:39:10,443 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:39:10,444 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:39:10,444 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:39:10,448 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:39:10,449 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 1 times [2022-04-15 08:39:10,456 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:10,467 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [512549801] [2022-04-15 08:39:10,477 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:39:10,478 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 2 times [2022-04-15 08:39:10,480 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:39:10,481 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [589218927] [2022-04-15 08:39:10,481 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:39:10,482 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:39:10,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:10,707 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 08:39:10,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:10,740 INFO L290 TraceCheckUtils]: 0: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-15 08:39:10,741 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-15 08:39:10,741 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-15 08:39:10,742 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 08:39:10,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:10,770 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 08:39:10,771 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 08:39:10,771 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 08:39:10,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-15 08:39:10,772 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 08:39:10,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:10,781 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 08:39:10,782 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 08:39:10,783 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 08:39:10,783 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-15 08:39:10,784 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 08:39:10,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:10,799 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 08:39:10,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 08:39:10,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 08:39:10,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-15 08:39:10,801 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-15 08:39:10,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:10,818 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 08:39:10,818 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 08:39:10,819 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 08:39:10,819 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-15 08:39:10,820 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 08:39:10,820 INFO L290 TraceCheckUtils]: 1: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-15 08:39:10,821 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-15 08:39:10,822 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-15 08:39:10,822 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-15 08:39:10,822 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {40#true} is VALID [2022-04-15 08:39:10,822 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-15 08:39:10,823 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 08:39:10,826 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 08:39:10,826 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 08:39:10,826 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-15 08:39:10,826 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {41#false} is VALID [2022-04-15 08:39:10,827 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-15 08:39:10,827 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 08:39:10,828 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 08:39:10,828 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 08:39:10,828 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-15 08:39:10,829 INFO L272 TraceCheckUtils]: 17: Hoare triple {41#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-15 08:39:10,829 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 08:39:10,830 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 08:39:10,830 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 08:39:10,830 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-15 08:39:10,831 INFO L272 TraceCheckUtils]: 22: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-15 08:39:10,831 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 08:39:10,832 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 08:39:10,832 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 08:39:10,832 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-15 08:39:10,833 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41#false} is VALID [2022-04-15 08:39:10,834 INFO L290 TraceCheckUtils]: 28: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-15 08:39:10,837 INFO L272 TraceCheckUtils]: 29: Hoare triple {41#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {41#false} is VALID [2022-04-15 08:39:10,837 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-15 08:39:10,838 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-15 08:39:10,838 INFO L290 TraceCheckUtils]: 32: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-15 08:39:10,839 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 08:39:10,839 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:39:10,840 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [589218927] [2022-04-15 08:39:10,841 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [589218927] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:10,841 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:10,841 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 08:39:10,844 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:39:10,844 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [512549801] [2022-04-15 08:39:10,845 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [512549801] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:10,845 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:10,845 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 08:39:10,845 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [188806084] [2022-04-15 08:39:10,846 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:39:10,852 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 08:39:10,853 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:39:10,857 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:39:10,899 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:10,900 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 08:39:10,900 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:10,933 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 08:39:10,934 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 08:39:10,941 INFO L87 Difference]: Start difference. First operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:39:11,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:11,153 INFO L93 Difference]: Finished difference Result 67 states and 105 transitions. [2022-04-15 08:39:11,153 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 08:39:11,154 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 08:39:11,154 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:39:11,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:39:11,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-15 08:39:11,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:39:11,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-15 08:39:11,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 105 transitions. [2022-04-15 08:39:11,287 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:11,295 INFO L225 Difference]: With dead ends: 67 [2022-04-15 08:39:11,295 INFO L226 Difference]: Without dead ends: 32 [2022-04-15 08:39:11,299 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 08:39:11,303 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:39:11,304 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 39 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:39:11,319 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-15 08:39:11,342 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-15 08:39:11,342 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:39:11,343 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 08:39:11,344 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 08:39:11,345 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 08:39:11,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:11,349 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-15 08:39:11,349 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-15 08:39:11,350 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:11,350 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:11,350 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-15 08:39:11,351 INFO L87 Difference]: Start difference. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-15 08:39:11,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:11,355 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-15 08:39:11,355 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-15 08:39:11,356 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:11,356 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:11,356 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:39:11,356 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:39:11,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 08:39:11,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-15 08:39:11,361 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 33 [2022-04-15 08:39:11,361 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:39:11,361 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-15 08:39:11,361 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:39:11,362 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-15 08:39:11,408 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:11,409 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-15 08:39:11,409 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 08:39:11,410 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:39:11,410 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:39:11,410 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 08:39:11,410 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:39:11,411 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:39:11,411 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 1 times [2022-04-15 08:39:11,411 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:11,411 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1213725732] [2022-04-15 08:39:11,412 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:39:11,412 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 2 times [2022-04-15 08:39:11,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:39:11,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [637153269] [2022-04-15 08:39:11,413 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:39:11,413 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:39:11,479 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:39:11,480 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2015888792] [2022-04-15 08:39:11,480 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:39:11,480 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:11,480 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:39:11,487 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:39:11,492 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 08:39:11,538 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 08:39:11,538 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:39:11,540 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 08:39:11,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:11,568 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:39:11,794 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-15 08:39:11,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {326#true} is VALID [2022-04-15 08:39:11,795 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 08:39:11,795 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #88#return; {326#true} is VALID [2022-04-15 08:39:11,795 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-15 08:39:11,795 INFO L290 TraceCheckUtils]: 5: Hoare triple {326#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {326#true} is VALID [2022-04-15 08:39:11,797 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-15 08:39:11,798 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 08:39:11,798 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 08:39:11,799 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 08:39:11,799 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #66#return; {326#true} is VALID [2022-04-15 08:39:11,799 INFO L290 TraceCheckUtils]: 11: Hoare triple {326#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {326#true} is VALID [2022-04-15 08:39:11,799 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-15 08:39:11,799 INFO L290 TraceCheckUtils]: 13: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 08:39:11,800 INFO L290 TraceCheckUtils]: 14: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 08:39:11,800 INFO L290 TraceCheckUtils]: 15: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 08:39:11,800 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {326#true} {326#true} #68#return; {326#true} is VALID [2022-04-15 08:39:11,800 INFO L272 TraceCheckUtils]: 17: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-15 08:39:11,800 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 08:39:11,800 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 08:39:11,801 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 08:39:11,801 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {326#true} #70#return; {326#true} is VALID [2022-04-15 08:39:11,801 INFO L272 TraceCheckUtils]: 22: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-15 08:39:11,801 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 08:39:11,801 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 08:39:11,801 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 08:39:11,802 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {326#true} #72#return; {326#true} is VALID [2022-04-15 08:39:11,802 INFO L290 TraceCheckUtils]: 27: Hoare triple {326#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-15 08:39:11,803 INFO L290 TraceCheckUtils]: 28: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !false; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-15 08:39:11,804 INFO L272 TraceCheckUtils]: 29: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {419#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:39:11,805 INFO L290 TraceCheckUtils]: 30: Hoare triple {419#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {423#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:11,805 INFO L290 TraceCheckUtils]: 31: Hoare triple {423#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {327#false} is VALID [2022-04-15 08:39:11,805 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-15 08:39:11,806 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 08:39:11,806 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:39:11,806 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:39:11,806 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [637153269] [2022-04-15 08:39:11,806 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:39:11,807 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2015888792] [2022-04-15 08:39:11,808 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2015888792] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:11,808 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:11,808 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:39:11,809 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:39:11,809 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1213725732] [2022-04-15 08:39:11,809 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1213725732] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:11,809 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:11,809 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:39:11,809 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2130787970] [2022-04-15 08:39:11,810 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:39:11,811 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-15 08:39:11,811 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:39:11,813 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:39:11,837 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:11,837 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:39:11,843 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:11,844 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:39:11,844 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 08:39:11,844 INFO L87 Difference]: Start difference. First operand 32 states and 42 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:39:12,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:12,085 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-04-15 08:39:12,085 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:39:12,086 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-15 08:39:12,086 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:39:12,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:39:12,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:39:12,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:39:12,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:39:12,101 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 08:39:12,155 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:12,159 INFO L225 Difference]: With dead ends: 48 [2022-04-15 08:39:12,159 INFO L226 Difference]: Without dead ends: 46 [2022-04-15 08:39:12,160 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 08:39:12,162 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:39:12,165 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 143 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:39:12,167 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-15 08:39:12,183 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-04-15 08:39:12,183 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:39:12,184 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:39:12,184 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:39:12,185 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:39:12,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:12,194 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-15 08:39:12,194 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-15 08:39:12,200 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:12,200 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:12,202 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-15 08:39:12,203 INFO L87 Difference]: Start difference. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-15 08:39:12,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:12,211 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-15 08:39:12,211 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-15 08:39:12,212 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:12,212 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:12,212 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:39:12,213 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:39:12,214 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:39:12,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 62 transitions. [2022-04-15 08:39:12,218 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 62 transitions. Word has length 33 [2022-04-15 08:39:12,218 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:39:12,219 INFO L478 AbstractCegarLoop]: Abstraction has 45 states and 62 transitions. [2022-04-15 08:39:12,219 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 08:39:12,219 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 62 transitions. [2022-04-15 08:39:12,290 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:12,291 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-15 08:39:12,292 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-15 08:39:12,292 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:39:12,292 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:39:12,312 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-15 08:39:12,501 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:12,501 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:39:12,502 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:39:12,502 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 1 times [2022-04-15 08:39:12,502 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:12,502 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2063671852] [2022-04-15 08:39:12,502 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:39:12,503 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 2 times [2022-04-15 08:39:12,503 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:39:12,503 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [252813043] [2022-04-15 08:39:12,503 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:39:12,503 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:39:12,520 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:39:12,520 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [789542346] [2022-04-15 08:39:12,520 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:39:12,521 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:12,521 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:39:12,522 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:39:12,523 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 08:39:12,565 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:39:12,566 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:39:12,567 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 08:39:12,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:12,577 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:39:12,712 INFO L272 TraceCheckUtils]: 0: Hoare triple {709#true} call ULTIMATE.init(); {709#true} is VALID [2022-04-15 08:39:12,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {709#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {709#true} is VALID [2022-04-15 08:39:12,713 INFO L290 TraceCheckUtils]: 2: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 08:39:12,713 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {709#true} {709#true} #88#return; {709#true} is VALID [2022-04-15 08:39:12,713 INFO L272 TraceCheckUtils]: 4: Hoare triple {709#true} call #t~ret6 := main(); {709#true} is VALID [2022-04-15 08:39:12,713 INFO L290 TraceCheckUtils]: 5: Hoare triple {709#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {709#true} is VALID [2022-04-15 08:39:12,713 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-15 08:39:12,714 INFO L290 TraceCheckUtils]: 7: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 08:39:12,714 INFO L290 TraceCheckUtils]: 8: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 08:39:12,714 INFO L290 TraceCheckUtils]: 9: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 08:39:12,714 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {709#true} {709#true} #66#return; {709#true} is VALID [2022-04-15 08:39:12,714 INFO L290 TraceCheckUtils]: 11: Hoare triple {709#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {709#true} is VALID [2022-04-15 08:39:12,714 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-15 08:39:12,714 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 08:39:12,715 INFO L290 TraceCheckUtils]: 14: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 08:39:12,715 INFO L290 TraceCheckUtils]: 15: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 08:39:12,715 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {709#true} {709#true} #68#return; {709#true} is VALID [2022-04-15 08:39:12,715 INFO L272 TraceCheckUtils]: 17: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-15 08:39:12,715 INFO L290 TraceCheckUtils]: 18: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 08:39:12,715 INFO L290 TraceCheckUtils]: 19: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 08:39:12,716 INFO L290 TraceCheckUtils]: 20: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 08:39:12,716 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {709#true} {709#true} #70#return; {709#true} is VALID [2022-04-15 08:39:12,716 INFO L272 TraceCheckUtils]: 22: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-15 08:39:12,716 INFO L290 TraceCheckUtils]: 23: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 08:39:12,716 INFO L290 TraceCheckUtils]: 24: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 08:39:12,716 INFO L290 TraceCheckUtils]: 25: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 08:39:12,717 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {709#true} {709#true} #72#return; {709#true} is VALID [2022-04-15 08:39:12,717 INFO L290 TraceCheckUtils]: 27: Hoare triple {709#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:39:12,718 INFO L290 TraceCheckUtils]: 28: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:39:12,718 INFO L272 TraceCheckUtils]: 29: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {709#true} is VALID [2022-04-15 08:39:12,718 INFO L290 TraceCheckUtils]: 30: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 08:39:12,718 INFO L290 TraceCheckUtils]: 31: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 08:39:12,718 INFO L290 TraceCheckUtils]: 32: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 08:39:12,719 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {709#true} {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:39:12,721 INFO L272 TraceCheckUtils]: 34: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:39:12,721 INFO L290 TraceCheckUtils]: 35: Hoare triple {817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:12,722 INFO L290 TraceCheckUtils]: 36: Hoare triple {821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {710#false} is VALID [2022-04-15 08:39:12,722 INFO L290 TraceCheckUtils]: 37: Hoare triple {710#false} assume !false; {710#false} is VALID [2022-04-15 08:39:12,722 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 08:39:12,722 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:39:12,722 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:39:12,723 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [252813043] [2022-04-15 08:39:12,723 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:39:12,723 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [789542346] [2022-04-15 08:39:12,723 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [789542346] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:12,723 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:12,723 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:39:12,723 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:39:12,724 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2063671852] [2022-04-15 08:39:12,724 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2063671852] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:12,724 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:12,724 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:39:12,724 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1548939898] [2022-04-15 08:39:12,724 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:39:12,725 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-15 08:39:12,725 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:39:12,725 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 08:39:12,748 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:12,748 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:39:12,748 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:12,749 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:39:12,749 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 08:39:12,749 INFO L87 Difference]: Start difference. First operand 45 states and 62 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 08:39:12,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:12,954 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2022-04-15 08:39:12,954 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:39:12,954 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-15 08:39:12,956 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:39:12,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 08:39:12,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:39:12,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 08:39:12,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:39:12,962 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 08:39:13,043 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:13,046 INFO L225 Difference]: With dead ends: 52 [2022-04-15 08:39:13,046 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 08:39:13,046 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 34 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 08:39:13,055 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:39:13,056 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 140 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:39:13,058 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 08:39:13,076 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-15 08:39:13,077 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:39:13,077 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:39:13,079 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:39:13,080 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:39:13,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:13,085 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-15 08:39:13,085 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-15 08:39:13,086 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:13,086 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:13,086 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-15 08:39:13,087 INFO L87 Difference]: Start difference. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-15 08:39:13,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:13,092 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-15 08:39:13,092 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-15 08:39:13,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:13,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:13,093 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:39:13,093 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:39:13,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 08:39:13,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 65 transitions. [2022-04-15 08:39:13,096 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 65 transitions. Word has length 38 [2022-04-15 08:39:13,097 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:39:13,098 INFO L478 AbstractCegarLoop]: Abstraction has 49 states and 65 transitions. [2022-04-15 08:39:13,098 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 08:39:13,098 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 65 transitions. [2022-04-15 08:39:13,171 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:13,172 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-15 08:39:13,172 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 08:39:13,173 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:39:13,173 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:39:13,196 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 08:39:13,391 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 08:39:13,391 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:39:13,392 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:39:13,392 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 1 times [2022-04-15 08:39:13,392 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:13,392 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [172177779] [2022-04-15 08:39:13,392 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:39:13,393 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 2 times [2022-04-15 08:39:13,393 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:39:13,393 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1873528328] [2022-04-15 08:39:13,393 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:39:13,393 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:39:13,420 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:39:13,421 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [260752512] [2022-04-15 08:39:13,421 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:39:13,421 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:13,421 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:39:13,422 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:39:13,426 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 08:39:13,469 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:39:13,469 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:39:13,470 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 08:39:13,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:13,490 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:39:13,639 INFO L272 TraceCheckUtils]: 0: Hoare triple {1131#true} call ULTIMATE.init(); {1131#true} is VALID [2022-04-15 08:39:13,639 INFO L290 TraceCheckUtils]: 1: Hoare triple {1131#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1131#true} is VALID [2022-04-15 08:39:13,640 INFO L290 TraceCheckUtils]: 2: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 08:39:13,640 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1131#true} {1131#true} #88#return; {1131#true} is VALID [2022-04-15 08:39:13,640 INFO L272 TraceCheckUtils]: 4: Hoare triple {1131#true} call #t~ret6 := main(); {1131#true} is VALID [2022-04-15 08:39:13,640 INFO L290 TraceCheckUtils]: 5: Hoare triple {1131#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1131#true} is VALID [2022-04-15 08:39:13,640 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-15 08:39:13,640 INFO L290 TraceCheckUtils]: 7: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 08:39:13,640 INFO L290 TraceCheckUtils]: 8: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 08:39:13,641 INFO L290 TraceCheckUtils]: 9: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 08:39:13,641 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1131#true} {1131#true} #66#return; {1131#true} is VALID [2022-04-15 08:39:13,641 INFO L290 TraceCheckUtils]: 11: Hoare triple {1131#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1131#true} is VALID [2022-04-15 08:39:13,641 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-15 08:39:13,641 INFO L290 TraceCheckUtils]: 13: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 08:39:13,641 INFO L290 TraceCheckUtils]: 14: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 08:39:13,641 INFO L290 TraceCheckUtils]: 15: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 08:39:13,641 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1131#true} {1131#true} #68#return; {1131#true} is VALID [2022-04-15 08:39:13,642 INFO L272 TraceCheckUtils]: 17: Hoare triple {1131#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1131#true} is VALID [2022-04-15 08:39:13,642 INFO L290 TraceCheckUtils]: 18: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 08:39:13,642 INFO L290 TraceCheckUtils]: 19: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 08:39:13,642 INFO L290 TraceCheckUtils]: 20: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 08:39:13,642 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1131#true} {1131#true} #70#return; {1131#true} is VALID [2022-04-15 08:39:13,642 INFO L272 TraceCheckUtils]: 22: Hoare triple {1131#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1131#true} is VALID [2022-04-15 08:39:13,642 INFO L290 TraceCheckUtils]: 23: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 08:39:13,642 INFO L290 TraceCheckUtils]: 24: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 08:39:13,643 INFO L290 TraceCheckUtils]: 25: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 08:39:13,643 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1131#true} {1131#true} #72#return; {1131#true} is VALID [2022-04-15 08:39:13,643 INFO L290 TraceCheckUtils]: 27: Hoare triple {1131#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:39:13,644 INFO L290 TraceCheckUtils]: 28: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:39:13,644 INFO L272 TraceCheckUtils]: 29: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1131#true} is VALID [2022-04-15 08:39:13,644 INFO L290 TraceCheckUtils]: 30: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 08:39:13,644 INFO L290 TraceCheckUtils]: 31: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 08:39:13,644 INFO L290 TraceCheckUtils]: 32: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 08:39:13,645 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1131#true} {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:39:13,645 INFO L272 TraceCheckUtils]: 34: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1131#true} is VALID [2022-04-15 08:39:13,645 INFO L290 TraceCheckUtils]: 35: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 08:39:13,645 INFO L290 TraceCheckUtils]: 36: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 08:39:13,645 INFO L290 TraceCheckUtils]: 37: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 08:39:13,646 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1131#true} {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:39:13,647 INFO L272 TraceCheckUtils]: 39: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1254#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:39:13,647 INFO L290 TraceCheckUtils]: 40: Hoare triple {1254#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1258#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:13,647 INFO L290 TraceCheckUtils]: 41: Hoare triple {1258#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1132#false} is VALID [2022-04-15 08:39:13,647 INFO L290 TraceCheckUtils]: 42: Hoare triple {1132#false} assume !false; {1132#false} is VALID [2022-04-15 08:39:13,648 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 08:39:13,648 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:39:13,648 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:39:13,648 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1873528328] [2022-04-15 08:39:13,648 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:39:13,648 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [260752512] [2022-04-15 08:39:13,648 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [260752512] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:13,648 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:13,648 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:39:13,649 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:39:13,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [172177779] [2022-04-15 08:39:13,649 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [172177779] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:13,649 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:13,649 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:39:13,649 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1004482206] [2022-04-15 08:39:13,649 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:39:13,650 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-15 08:39:13,650 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:39:13,650 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 08:39:13,675 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:13,675 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:39:13,676 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:13,676 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:39:13,676 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 08:39:13,676 INFO L87 Difference]: Start difference. First operand 49 states and 65 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 08:39:13,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:13,898 INFO L93 Difference]: Finished difference Result 74 states and 105 transitions. [2022-04-15 08:39:13,899 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:39:13,899 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-15 08:39:13,899 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:39:13,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 08:39:13,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:39:13,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 08:39:13,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 08:39:13,902 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 08:39:13,964 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:13,966 INFO L225 Difference]: With dead ends: 74 [2022-04-15 08:39:13,966 INFO L226 Difference]: Without dead ends: 70 [2022-04-15 08:39:13,966 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 08:39:13,967 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:39:13,967 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 139 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:39:13,968 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-15 08:39:13,988 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-15 08:39:13,988 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:39:13,989 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 08:39:13,989 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 08:39:13,989 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 08:39:13,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:13,993 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-15 08:39:13,993 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-15 08:39:13,994 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:13,994 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:13,994 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-15 08:39:13,995 INFO L87 Difference]: Start difference. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-15 08:39:13,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:13,998 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-15 08:39:13,998 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-15 08:39:13,999 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:13,999 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:13,999 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:39:13,999 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:39:13,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 08:39:14,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 98 transitions. [2022-04-15 08:39:14,003 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 98 transitions. Word has length 43 [2022-04-15 08:39:14,003 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:39:14,003 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 98 transitions. [2022-04-15 08:39:14,003 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 08:39:14,003 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 98 transitions. [2022-04-15 08:39:14,108 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:14,109 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-15 08:39:14,109 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 08:39:14,109 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:39:14,110 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:39:14,135 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 08:39:14,323 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:14,324 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:39:14,324 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:39:14,324 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 1 times [2022-04-15 08:39:14,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:14,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1752166369] [2022-04-15 08:39:14,325 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:39:14,325 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 2 times [2022-04-15 08:39:14,325 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:39:14,325 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [768413834] [2022-04-15 08:39:14,325 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:39:14,325 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:39:14,340 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:39:14,341 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1270925655] [2022-04-15 08:39:14,341 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:39:14,341 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:14,341 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:39:14,342 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:39:14,363 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 08:39:14,392 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:39:14,392 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:39:14,393 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 08:39:14,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:14,405 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:39:14,519 INFO L272 TraceCheckUtils]: 0: Hoare triple {1694#true} call ULTIMATE.init(); {1694#true} is VALID [2022-04-15 08:39:14,519 INFO L290 TraceCheckUtils]: 1: Hoare triple {1694#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1694#true} is VALID [2022-04-15 08:39:14,520 INFO L290 TraceCheckUtils]: 2: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 08:39:14,520 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1694#true} {1694#true} #88#return; {1694#true} is VALID [2022-04-15 08:39:14,520 INFO L272 TraceCheckUtils]: 4: Hoare triple {1694#true} call #t~ret6 := main(); {1694#true} is VALID [2022-04-15 08:39:14,520 INFO L290 TraceCheckUtils]: 5: Hoare triple {1694#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1694#true} is VALID [2022-04-15 08:39:14,520 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-15 08:39:14,520 INFO L290 TraceCheckUtils]: 7: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 08:39:14,520 INFO L290 TraceCheckUtils]: 8: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 08:39:14,520 INFO L290 TraceCheckUtils]: 9: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 08:39:14,521 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1694#true} {1694#true} #66#return; {1694#true} is VALID [2022-04-15 08:39:14,521 INFO L290 TraceCheckUtils]: 11: Hoare triple {1694#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1694#true} is VALID [2022-04-15 08:39:14,521 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-15 08:39:14,521 INFO L290 TraceCheckUtils]: 13: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 08:39:14,521 INFO L290 TraceCheckUtils]: 14: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 08:39:14,521 INFO L290 TraceCheckUtils]: 15: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 08:39:14,521 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1694#true} {1694#true} #68#return; {1694#true} is VALID [2022-04-15 08:39:14,522 INFO L272 TraceCheckUtils]: 17: Hoare triple {1694#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1694#true} is VALID [2022-04-15 08:39:14,522 INFO L290 TraceCheckUtils]: 18: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 08:39:14,522 INFO L290 TraceCheckUtils]: 19: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 08:39:14,522 INFO L290 TraceCheckUtils]: 20: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 08:39:14,522 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1694#true} {1694#true} #70#return; {1694#true} is VALID [2022-04-15 08:39:14,522 INFO L272 TraceCheckUtils]: 22: Hoare triple {1694#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1694#true} is VALID [2022-04-15 08:39:14,522 INFO L290 TraceCheckUtils]: 23: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 08:39:14,522 INFO L290 TraceCheckUtils]: 24: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 08:39:14,522 INFO L290 TraceCheckUtils]: 25: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 08:39:14,523 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1694#true} {1694#true} #72#return; {1694#true} is VALID [2022-04-15 08:39:14,523 INFO L290 TraceCheckUtils]: 27: Hoare triple {1694#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1694#true} is VALID [2022-04-15 08:39:14,523 INFO L290 TraceCheckUtils]: 28: Hoare triple {1694#true} assume !false; {1694#true} is VALID [2022-04-15 08:39:14,523 INFO L272 TraceCheckUtils]: 29: Hoare triple {1694#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1694#true} is VALID [2022-04-15 08:39:14,523 INFO L290 TraceCheckUtils]: 30: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 08:39:14,523 INFO L290 TraceCheckUtils]: 31: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 08:39:14,523 INFO L290 TraceCheckUtils]: 32: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 08:39:14,523 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1694#true} {1694#true} #74#return; {1694#true} is VALID [2022-04-15 08:39:14,524 INFO L272 TraceCheckUtils]: 34: Hoare triple {1694#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1694#true} is VALID [2022-04-15 08:39:14,524 INFO L290 TraceCheckUtils]: 35: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 08:39:14,524 INFO L290 TraceCheckUtils]: 36: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 08:39:14,524 INFO L290 TraceCheckUtils]: 37: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 08:39:14,524 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1694#true} {1694#true} #76#return; {1694#true} is VALID [2022-04-15 08:39:14,524 INFO L272 TraceCheckUtils]: 39: Hoare triple {1694#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1694#true} is VALID [2022-04-15 08:39:14,524 INFO L290 TraceCheckUtils]: 40: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 08:39:14,524 INFO L290 TraceCheckUtils]: 41: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 08:39:14,524 INFO L290 TraceCheckUtils]: 42: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 08:39:14,525 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1694#true} {1694#true} #78#return; {1694#true} is VALID [2022-04-15 08:39:14,525 INFO L290 TraceCheckUtils]: 44: Hoare triple {1694#true} assume !(~a~0 != ~b~0); {1831#(= main_~b~0 main_~a~0)} is VALID [2022-04-15 08:39:14,526 INFO L272 TraceCheckUtils]: 45: Hoare triple {1831#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {1835#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:39:14,526 INFO L290 TraceCheckUtils]: 46: Hoare triple {1835#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1839#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:14,527 INFO L290 TraceCheckUtils]: 47: Hoare triple {1839#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1695#false} is VALID [2022-04-15 08:39:14,527 INFO L290 TraceCheckUtils]: 48: Hoare triple {1695#false} assume !false; {1695#false} is VALID [2022-04-15 08:39:14,527 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 08:39:14,527 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:39:14,527 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:39:14,527 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [768413834] [2022-04-15 08:39:14,528 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:39:14,528 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1270925655] [2022-04-15 08:39:14,528 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1270925655] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:14,528 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:14,528 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:39:14,528 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:39:14,528 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1752166369] [2022-04-15 08:39:14,528 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1752166369] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:14,528 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:14,528 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:39:14,528 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [730558170] [2022-04-15 08:39:14,529 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:39:14,529 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-15 08:39:14,529 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:39:14,530 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-15 08:39:14,554 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:14,554 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:39:14,554 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:14,555 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:39:14,555 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 08:39:14,555 INFO L87 Difference]: Start difference. First operand 70 states and 98 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-15 08:39:14,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:14,736 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-15 08:39:14,736 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:39:14,737 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-15 08:39:14,737 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:39:14,737 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-15 08:39:14,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-15 08:39:14,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-15 08:39:14,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-15 08:39:14,740 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-15 08:39:14,773 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:14,775 INFO L225 Difference]: With dead ends: 76 [2022-04-15 08:39:14,776 INFO L226 Difference]: Without dead ends: 74 [2022-04-15 08:39:14,776 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 08:39:14,777 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 5 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:39:14,777 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 139 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:39:14,777 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-15 08:39:14,800 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-15 08:39:14,800 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:39:14,801 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 08:39:14,801 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 08:39:14,801 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 08:39:14,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:14,804 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-15 08:39:14,805 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-15 08:39:14,805 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:14,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:14,805 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-15 08:39:14,806 INFO L87 Difference]: Start difference. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-15 08:39:14,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:14,809 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-15 08:39:14,809 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-15 08:39:14,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:14,809 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:14,809 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:39:14,809 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:39:14,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 08:39:14,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 101 transitions. [2022-04-15 08:39:14,813 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 101 transitions. Word has length 49 [2022-04-15 08:39:14,813 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:39:14,813 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 101 transitions. [2022-04-15 08:39:14,813 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-15 08:39:14,814 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 101 transitions. [2022-04-15 08:39:14,927 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:14,927 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-15 08:39:14,928 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-15 08:39:14,928 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:39:14,928 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:39:14,951 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 08:39:15,151 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:15,152 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:39:15,152 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:39:15,152 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 1 times [2022-04-15 08:39:15,152 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:15,152 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [223782504] [2022-04-15 08:39:15,153 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:39:15,153 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 2 times [2022-04-15 08:39:15,153 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:39:15,153 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1776077627] [2022-04-15 08:39:15,153 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:39:15,153 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:39:15,170 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:39:15,170 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1643700649] [2022-04-15 08:39:15,170 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:39:15,170 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:15,171 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:39:15,173 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:39:15,174 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 08:39:15,223 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:39:15,223 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:39:15,224 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 08:39:15,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:15,242 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:39:15,431 INFO L272 TraceCheckUtils]: 0: Hoare triple {2295#true} call ULTIMATE.init(); {2295#true} is VALID [2022-04-15 08:39:15,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {2295#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2295#true} is VALID [2022-04-15 08:39:15,431 INFO L290 TraceCheckUtils]: 2: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 08:39:15,432 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2295#true} {2295#true} #88#return; {2295#true} is VALID [2022-04-15 08:39:15,432 INFO L272 TraceCheckUtils]: 4: Hoare triple {2295#true} call #t~ret6 := main(); {2295#true} is VALID [2022-04-15 08:39:15,432 INFO L290 TraceCheckUtils]: 5: Hoare triple {2295#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2295#true} is VALID [2022-04-15 08:39:15,432 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-15 08:39:15,432 INFO L290 TraceCheckUtils]: 7: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 08:39:15,432 INFO L290 TraceCheckUtils]: 8: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 08:39:15,432 INFO L290 TraceCheckUtils]: 9: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 08:39:15,432 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2295#true} {2295#true} #66#return; {2295#true} is VALID [2022-04-15 08:39:15,433 INFO L290 TraceCheckUtils]: 11: Hoare triple {2295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2295#true} is VALID [2022-04-15 08:39:15,433 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-15 08:39:15,433 INFO L290 TraceCheckUtils]: 13: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 08:39:15,433 INFO L290 TraceCheckUtils]: 14: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 08:39:15,433 INFO L290 TraceCheckUtils]: 15: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 08:39:15,433 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2295#true} {2295#true} #68#return; {2295#true} is VALID [2022-04-15 08:39:15,433 INFO L272 TraceCheckUtils]: 17: Hoare triple {2295#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2295#true} is VALID [2022-04-15 08:39:15,433 INFO L290 TraceCheckUtils]: 18: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 08:39:15,434 INFO L290 TraceCheckUtils]: 19: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 08:39:15,434 INFO L290 TraceCheckUtils]: 20: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 08:39:15,434 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2295#true} {2295#true} #70#return; {2295#true} is VALID [2022-04-15 08:39:15,434 INFO L272 TraceCheckUtils]: 22: Hoare triple {2295#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2295#true} is VALID [2022-04-15 08:39:15,434 INFO L290 TraceCheckUtils]: 23: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 08:39:15,434 INFO L290 TraceCheckUtils]: 24: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 08:39:15,434 INFO L290 TraceCheckUtils]: 25: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 08:39:15,434 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2295#true} {2295#true} #72#return; {2295#true} is VALID [2022-04-15 08:39:15,435 INFO L290 TraceCheckUtils]: 27: Hoare triple {2295#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:39:15,435 INFO L290 TraceCheckUtils]: 28: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:39:15,436 INFO L272 TraceCheckUtils]: 29: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2295#true} is VALID [2022-04-15 08:39:15,436 INFO L290 TraceCheckUtils]: 30: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 08:39:15,436 INFO L290 TraceCheckUtils]: 31: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 08:39:15,436 INFO L290 TraceCheckUtils]: 32: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 08:39:15,436 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:39:15,437 INFO L272 TraceCheckUtils]: 34: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2295#true} is VALID [2022-04-15 08:39:15,437 INFO L290 TraceCheckUtils]: 35: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 08:39:15,437 INFO L290 TraceCheckUtils]: 36: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 08:39:15,437 INFO L290 TraceCheckUtils]: 37: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 08:39:15,439 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:39:15,439 INFO L272 TraceCheckUtils]: 39: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2295#true} is VALID [2022-04-15 08:39:15,439 INFO L290 TraceCheckUtils]: 40: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 08:39:15,439 INFO L290 TraceCheckUtils]: 41: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 08:39:15,439 INFO L290 TraceCheckUtils]: 42: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 08:39:15,446 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:39:15,447 INFO L290 TraceCheckUtils]: 44: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:39:15,447 INFO L290 TraceCheckUtils]: 45: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:39:15,448 INFO L290 TraceCheckUtils]: 46: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:39:15,448 INFO L272 TraceCheckUtils]: 47: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2442#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:39:15,449 INFO L290 TraceCheckUtils]: 48: Hoare triple {2442#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2446#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:15,449 INFO L290 TraceCheckUtils]: 49: Hoare triple {2446#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2296#false} is VALID [2022-04-15 08:39:15,449 INFO L290 TraceCheckUtils]: 50: Hoare triple {2296#false} assume !false; {2296#false} is VALID [2022-04-15 08:39:15,450 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-15 08:39:15,450 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:39:15,450 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:39:15,450 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1776077627] [2022-04-15 08:39:15,450 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:39:15,450 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1643700649] [2022-04-15 08:39:15,450 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1643700649] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:15,450 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:15,450 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:39:15,451 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:39:15,451 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [223782504] [2022-04-15 08:39:15,451 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [223782504] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:15,451 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:15,451 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:39:15,451 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [856995087] [2022-04-15 08:39:15,451 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:39:15,451 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-15 08:39:15,452 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:39:15,452 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:39:15,478 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:15,479 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:39:15,479 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:15,479 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:39:15,479 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 08:39:15,479 INFO L87 Difference]: Start difference. First operand 74 states and 101 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:39:15,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:15,678 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-04-15 08:39:15,678 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:39:15,679 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-15 08:39:15,679 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:39:15,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:39:15,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-15 08:39:15,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:39:15,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-15 08:39:15,682 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-15 08:39:15,733 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:15,735 INFO L225 Difference]: With dead ends: 84 [2022-04-15 08:39:15,735 INFO L226 Difference]: Without dead ends: 81 [2022-04-15 08:39:15,736 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 08:39:15,736 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 6 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:39:15,737 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 146 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:39:15,737 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-15 08:39:15,765 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2022-04-15 08:39:15,766 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:39:15,766 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 08:39:15,766 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 08:39:15,766 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 08:39:15,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:15,770 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-15 08:39:15,770 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-15 08:39:15,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:15,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:15,771 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-15 08:39:15,771 INFO L87 Difference]: Start difference. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-15 08:39:15,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:15,774 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-15 08:39:15,774 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-15 08:39:15,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:15,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:15,775 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:39:15,775 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:39:15,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 08:39:15,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 102 transitions. [2022-04-15 08:39:15,778 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 102 transitions. Word has length 51 [2022-04-15 08:39:15,779 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:39:15,779 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 102 transitions. [2022-04-15 08:39:15,779 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:39:15,779 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 102 transitions. [2022-04-15 08:39:15,885 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:15,885 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-15 08:39:15,885 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-15 08:39:15,885 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:39:15,886 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:39:15,903 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-15 08:39:16,087 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:16,088 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:39:16,088 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:39:16,089 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 1 times [2022-04-15 08:39:16,089 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:16,089 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2040430649] [2022-04-15 08:39:16,090 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:39:16,091 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 2 times [2022-04-15 08:39:16,091 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:39:16,091 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1584392949] [2022-04-15 08:39:16,091 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:39:16,091 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:39:16,105 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:39:16,106 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [558266547] [2022-04-15 08:39:16,106 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:39:16,106 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:16,106 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:39:16,107 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:39:16,133 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 08:39:16,158 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:39:16,158 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:39:16,159 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 08:39:16,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:16,171 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:39:16,345 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-15 08:39:16,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {2942#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2942#true} is VALID [2022-04-15 08:39:16,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:16,346 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-15 08:39:16,346 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-15 08:39:16,346 INFO L290 TraceCheckUtils]: 5: Hoare triple {2942#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2942#true} is VALID [2022-04-15 08:39:16,346 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-15 08:39:16,346 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 08:39:16,346 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 08:39:16,347 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:16,347 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-15 08:39:16,347 INFO L290 TraceCheckUtils]: 11: Hoare triple {2942#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2942#true} is VALID [2022-04-15 08:39:16,347 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-15 08:39:16,347 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 08:39:16,347 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 08:39:16,347 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:16,347 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-15 08:39:16,347 INFO L272 TraceCheckUtils]: 17: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-15 08:39:16,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 08:39:16,348 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 08:39:16,348 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:16,348 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-15 08:39:16,348 INFO L272 TraceCheckUtils]: 22: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-15 08:39:16,348 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 08:39:16,348 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 08:39:16,348 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:16,348 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-15 08:39:16,348 INFO L290 TraceCheckUtils]: 27: Hoare triple {2942#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2942#true} is VALID [2022-04-15 08:39:16,349 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-15 08:39:16,349 INFO L272 TraceCheckUtils]: 29: Hoare triple {2942#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 08:39:16,349 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 08:39:16,349 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 08:39:16,349 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:16,349 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-15 08:39:16,349 INFO L272 TraceCheckUtils]: 34: Hoare triple {2942#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 08:39:16,350 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:16,350 INFO L290 TraceCheckUtils]: 36: Hoare triple {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:39:16,351 INFO L290 TraceCheckUtils]: 37: Hoare triple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:39:16,353 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} {2942#true} #76#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:39:16,353 INFO L272 TraceCheckUtils]: 39: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 08:39:16,353 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 08:39:16,353 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 08:39:16,353 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:16,358 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2942#true} {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:39:16,359 INFO L290 TraceCheckUtils]: 44: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:39:16,359 INFO L272 TraceCheckUtils]: 45: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 08:39:16,359 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 08:39:16,359 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 08:39:16,359 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:16,360 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2942#true} {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:39:16,360 INFO L272 TraceCheckUtils]: 50: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:39:16,361 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:16,361 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-15 08:39:16,361 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-15 08:39:16,362 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-15 08:39:16,362 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:39:33,784 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-15 08:39:33,786 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-15 08:39:33,786 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:33,787 INFO L272 TraceCheckUtils]: 50: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:39:33,788 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2942#true} {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:39:33,788 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:33,789 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 08:39:33,789 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 08:39:33,789 INFO L272 TraceCheckUtils]: 45: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 08:39:33,789 INFO L290 TraceCheckUtils]: 44: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:39:33,790 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2942#true} {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:39:33,791 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:33,791 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 08:39:33,791 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 08:39:33,791 INFO L272 TraceCheckUtils]: 39: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 08:39:33,792 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} {2942#true} #76#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:39:33,793 INFO L290 TraceCheckUtils]: 37: Hoare triple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:39:33,793 INFO L290 TraceCheckUtils]: 36: Hoare triple {3166#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:39:33,793 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3166#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:39:33,794 INFO L272 TraceCheckUtils]: 34: Hoare triple {2942#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 08:39:33,794 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-15 08:39:33,794 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:33,794 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 08:39:33,794 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 08:39:33,794 INFO L272 TraceCheckUtils]: 29: Hoare triple {2942#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 08:39:33,794 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-15 08:39:33,795 INFO L290 TraceCheckUtils]: 27: Hoare triple {2942#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2942#true} is VALID [2022-04-15 08:39:33,795 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-15 08:39:33,795 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:33,795 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 08:39:33,795 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 08:39:33,795 INFO L272 TraceCheckUtils]: 22: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-15 08:39:33,795 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-15 08:39:33,796 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:33,796 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 08:39:33,796 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 08:39:33,796 INFO L272 TraceCheckUtils]: 17: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-15 08:39:33,796 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-15 08:39:33,796 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:33,796 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 08:39:33,797 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 08:39:33,797 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-15 08:39:33,797 INFO L290 TraceCheckUtils]: 11: Hoare triple {2942#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2942#true} is VALID [2022-04-15 08:39:33,797 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-15 08:39:33,797 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:33,797 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 08:39:33,797 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 08:39:33,798 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-15 08:39:33,798 INFO L290 TraceCheckUtils]: 5: Hoare triple {2942#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2942#true} is VALID [2022-04-15 08:39:33,798 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-15 08:39:33,798 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-15 08:39:33,798 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 08:39:33,798 INFO L290 TraceCheckUtils]: 1: Hoare triple {2942#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2942#true} is VALID [2022-04-15 08:39:33,798 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-15 08:39:33,799 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-15 08:39:33,799 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:39:33,799 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1584392949] [2022-04-15 08:39:33,799 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:39:33,799 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [558266547] [2022-04-15 08:39:33,799 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [558266547] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:39:33,800 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:39:33,800 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 08:39:33,800 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:39:33,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2040430649] [2022-04-15 08:39:33,800 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2040430649] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:33,800 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:33,800 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 08:39:33,801 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1451232374] [2022-04-15 08:39:33,801 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:39:33,801 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-15 08:39:33,801 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:39:33,802 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:39:33,831 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:33,831 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 08:39:33,832 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:33,832 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 08:39:33,832 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-15 08:39:33,832 INFO L87 Difference]: Start difference. First operand 79 states and 102 transitions. Second operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:39:34,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:34,407 INFO L93 Difference]: Finished difference Result 88 states and 112 transitions. [2022-04-15 08:39:34,407 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 08:39:34,408 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-15 08:39:34,408 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:39:34,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:39:34,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-15 08:39:34,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:39:34,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-15 08:39:34,411 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 52 transitions. [2022-04-15 08:39:34,458 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:34,460 INFO L225 Difference]: With dead ends: 88 [2022-04-15 08:39:34,460 INFO L226 Difference]: Without dead ends: 84 [2022-04-15 08:39:34,460 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-15 08:39:34,461 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-15 08:39:34,461 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.3s Time] [2022-04-15 08:39:34,462 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-15 08:39:34,498 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-15 08:39:34,498 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:39:34,498 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 08:39:34,499 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 08:39:34,499 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 08:39:34,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:34,503 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-15 08:39:34,503 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-15 08:39:34,503 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:34,503 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:34,504 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-15 08:39:34,504 INFO L87 Difference]: Start difference. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-15 08:39:34,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:34,507 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-15 08:39:34,507 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-15 08:39:34,508 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:34,508 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:34,508 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:39:34,508 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:39:34,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 08:39:34,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 105 transitions. [2022-04-15 08:39:34,512 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 105 transitions. Word has length 54 [2022-04-15 08:39:34,512 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:39:34,512 INFO L478 AbstractCegarLoop]: Abstraction has 84 states and 105 transitions. [2022-04-15 08:39:34,512 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:39:34,512 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 105 transitions. [2022-04-15 08:39:34,637 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:34,637 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-15 08:39:34,638 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-15 08:39:34,638 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:39:34,638 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:39:34,655 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 08:39:34,843 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:34,844 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:39:34,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:39:34,844 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 3 times [2022-04-15 08:39:34,844 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:34,844 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1428806445] [2022-04-15 08:39:34,844 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:39:34,844 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 4 times [2022-04-15 08:39:34,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:39:34,845 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1589517418] [2022-04-15 08:39:34,845 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:39:34,845 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:39:34,863 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:39:34,863 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [637563634] [2022-04-15 08:39:34,863 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:39:34,863 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:34,864 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:39:34,864 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:39:34,869 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 08:39:34,912 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:39:34,913 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:39:34,914 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-15 08:39:34,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:34,931 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:39:35,241 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-15 08:39:35,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {3792#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3792#true} is VALID [2022-04-15 08:39:35,241 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-15 08:39:35,241 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-15 08:39:35,241 INFO L290 TraceCheckUtils]: 5: Hoare triple {3792#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3792#true} is VALID [2022-04-15 08:39:35,241 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-15 08:39:35,241 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,242 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,242 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,242 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-15 08:39:35,242 INFO L290 TraceCheckUtils]: 11: Hoare triple {3792#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3792#true} is VALID [2022-04-15 08:39:35,242 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-15 08:39:35,242 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,242 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,242 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,242 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-15 08:39:35,243 INFO L272 TraceCheckUtils]: 17: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-15 08:39:35,243 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,243 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,243 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,245 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-15 08:39:35,245 INFO L272 TraceCheckUtils]: 22: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-15 08:39:35,245 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,245 INFO L290 TraceCheckUtils]: 24: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,245 INFO L290 TraceCheckUtils]: 25: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,245 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3792#true} {3792#true} #72#return; {3792#true} is VALID [2022-04-15 08:39:35,252 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-15 08:39:35,252 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-15 08:39:35,252 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-15 08:39:35,252 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,252 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,253 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,253 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-15 08:39:35,254 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-15 08:39:35,254 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,254 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,254 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,255 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-15 08:39:35,255 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-15 08:39:35,255 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,255 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,255 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,256 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-15 08:39:35,256 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-15 08:39:35,257 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-15 08:39:35,257 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-15 08:39:35,257 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-15 08:39:35,257 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,258 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,258 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,258 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-15 08:39:35,259 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-15 08:39:35,259 INFO L290 TraceCheckUtils]: 53: Hoare triple {3955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:35,260 INFO L290 TraceCheckUtils]: 54: Hoare triple {3959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-15 08:39:35,260 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-15 08:39:35,260 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-15 08:39:35,260 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:39:35,491 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-15 08:39:35,491 INFO L290 TraceCheckUtils]: 54: Hoare triple {3959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-15 08:39:35,492 INFO L290 TraceCheckUtils]: 53: Hoare triple {3955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:35,493 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-15 08:39:35,493 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-15 08:39:35,494 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,494 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,494 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,494 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-15 08:39:35,494 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-15 08:39:35,652 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-15 08:39:35,653 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-15 08:39:35,653 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-15 08:39:35,654 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,654 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,654 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,654 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-15 08:39:35,654 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-15 08:39:35,655 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,655 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,655 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,655 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-15 08:39:35,655 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-15 08:39:35,655 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,656 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,656 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,656 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-15 08:39:35,656 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-15 08:39:35,657 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-15 08:39:35,657 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3792#true} {3792#true} #72#return; {3792#true} is VALID [2022-04-15 08:39:35,657 INFO L290 TraceCheckUtils]: 25: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,657 INFO L290 TraceCheckUtils]: 24: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,657 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,657 INFO L272 TraceCheckUtils]: 22: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-15 08:39:35,657 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-15 08:39:35,657 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,657 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,657 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,657 INFO L272 TraceCheckUtils]: 17: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-15 08:39:35,657 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-15 08:39:35,658 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,658 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,658 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,658 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-15 08:39:35,672 INFO L290 TraceCheckUtils]: 11: Hoare triple {3792#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3792#true} is VALID [2022-04-15 08:39:35,672 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-15 08:39:35,672 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,672 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 08:39:35,673 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 08:39:35,673 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-15 08:39:35,673 INFO L290 TraceCheckUtils]: 5: Hoare triple {3792#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3792#true} is VALID [2022-04-15 08:39:35,673 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-15 08:39:35,673 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-15 08:39:35,673 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 08:39:35,673 INFO L290 TraceCheckUtils]: 1: Hoare triple {3792#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3792#true} is VALID [2022-04-15 08:39:35,673 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-15 08:39:35,674 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-15 08:39:35,674 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:39:35,674 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1589517418] [2022-04-15 08:39:35,674 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:39:35,674 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [637563634] [2022-04-15 08:39:35,674 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [637563634] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:39:35,674 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:39:35,674 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-15 08:39:35,674 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:39:35,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1428806445] [2022-04-15 08:39:35,675 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1428806445] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:35,675 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:35,675 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 08:39:35,675 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1561682718] [2022-04-15 08:39:35,675 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:39:35,675 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-15 08:39:35,676 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:39:35,676 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-15 08:39:35,714 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-15 08:39:35,715 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 08:39:35,715 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:35,715 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 08:39:35,715 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-15 08:39:35,716 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-15 08:39:36,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:36,188 INFO L93 Difference]: Finished difference Result 118 states and 147 transitions. [2022-04-15 08:39:36,188 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 08:39:36,188 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-15 08:39:36,189 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:39:36,189 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-15 08:39:36,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 08:39:36,191 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-15 08:39:36,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 08:39:36,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-15 08:39:36,273 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:36,276 INFO L225 Difference]: With dead ends: 118 [2022-04-15 08:39:36,276 INFO L226 Difference]: Without dead ends: 116 [2022-04-15 08:39:36,276 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-15 08:39:36,277 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-15 08:39:36,277 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-15 08:39:36,277 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-15 08:39:36,333 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 112. [2022-04-15 08:39:36,333 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:39:36,334 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-15 08:39:36,335 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-15 08:39:36,335 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-15 08:39:36,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:36,340 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-15 08:39:36,340 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-15 08:39:36,340 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:36,340 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:36,341 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-15 08:39:36,341 INFO L87 Difference]: Start difference. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-15 08:39:36,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:36,345 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-15 08:39:36,345 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-15 08:39:36,346 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:36,346 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:36,346 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:39:36,346 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:39:36,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-15 08:39:36,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 138 transitions. [2022-04-15 08:39:36,352 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 138 transitions. Word has length 56 [2022-04-15 08:39:36,352 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:39:36,352 INFO L478 AbstractCegarLoop]: Abstraction has 112 states and 138 transitions. [2022-04-15 08:39:36,352 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-15 08:39:36,352 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 138 transitions. [2022-04-15 08:39:36,527 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:36,528 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 138 transitions. [2022-04-15 08:39:36,528 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 08:39:36,528 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:39:36,528 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:39:36,554 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-15 08:39:36,729 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:36,729 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:39:36,729 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:39:36,729 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 1 times [2022-04-15 08:39:36,730 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:36,730 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1993428562] [2022-04-15 08:39:36,730 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:39:36,730 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 2 times [2022-04-15 08:39:36,730 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:39:36,730 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1121046033] [2022-04-15 08:39:36,730 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:39:36,730 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:39:36,748 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:39:36,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [521558577] [2022-04-15 08:39:36,749 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:39:36,749 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:36,749 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:39:36,766 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:39:36,768 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 08:39:36,807 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:39:36,808 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:39:36,809 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 08:39:36,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:36,830 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:39:37,175 INFO L272 TraceCheckUtils]: 0: Hoare triple {4829#true} call ULTIMATE.init(); {4829#true} is VALID [2022-04-15 08:39:37,175 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-15 08:39:37,175 INFO L290 TraceCheckUtils]: 2: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,175 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4829#true} {4829#true} #88#return; {4829#true} is VALID [2022-04-15 08:39:37,176 INFO L272 TraceCheckUtils]: 4: Hoare triple {4829#true} call #t~ret6 := main(); {4829#true} is VALID [2022-04-15 08:39:37,176 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-15 08:39:37,176 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-15 08:39:37,176 INFO L290 TraceCheckUtils]: 7: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,176 INFO L290 TraceCheckUtils]: 8: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,176 INFO L290 TraceCheckUtils]: 9: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,176 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4829#true} {4829#true} #66#return; {4829#true} is VALID [2022-04-15 08:39:37,176 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-15 08:39:37,176 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-15 08:39:37,176 INFO L290 TraceCheckUtils]: 13: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,176 INFO L290 TraceCheckUtils]: 14: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,177 INFO L290 TraceCheckUtils]: 15: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,177 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4829#true} {4829#true} #68#return; {4829#true} is VALID [2022-04-15 08:39:37,177 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-15 08:39:37,177 INFO L290 TraceCheckUtils]: 18: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,177 INFO L290 TraceCheckUtils]: 19: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,177 INFO L290 TraceCheckUtils]: 20: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,177 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4829#true} {4829#true} #70#return; {4829#true} is VALID [2022-04-15 08:39:37,177 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-15 08:39:37,178 INFO L290 TraceCheckUtils]: 23: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,178 INFO L290 TraceCheckUtils]: 24: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,178 INFO L290 TraceCheckUtils]: 25: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,178 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4829#true} {4829#true} #72#return; {4829#true} is VALID [2022-04-15 08:39:37,185 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-15 08:39:37,186 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-15 08:39:37,186 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-15 08:39:37,186 INFO L290 TraceCheckUtils]: 30: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,186 INFO L290 TraceCheckUtils]: 31: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,186 INFO L290 TraceCheckUtils]: 32: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,187 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-15 08:39:37,187 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-15 08:39:37,187 INFO L290 TraceCheckUtils]: 35: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,187 INFO L290 TraceCheckUtils]: 36: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,188 INFO L290 TraceCheckUtils]: 37: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,188 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-15 08:39:37,188 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-15 08:39:37,189 INFO L290 TraceCheckUtils]: 40: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,189 INFO L290 TraceCheckUtils]: 41: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,189 INFO L290 TraceCheckUtils]: 42: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,190 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-15 08:39:37,190 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-15 08:39:37,191 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-15 08:39:37,191 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-15 08:39:37,191 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-15 08:39:37,191 INFO L290 TraceCheckUtils]: 48: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,191 INFO L290 TraceCheckUtils]: 49: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,192 INFO L290 TraceCheckUtils]: 50: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,192 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-15 08:39:37,192 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-15 08:39:37,192 INFO L290 TraceCheckUtils]: 53: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,192 INFO L290 TraceCheckUtils]: 54: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,193 INFO L290 TraceCheckUtils]: 55: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,193 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-15 08:39:37,194 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-15 08:39:37,194 INFO L290 TraceCheckUtils]: 58: Hoare triple {5007#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5011#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:37,195 INFO L290 TraceCheckUtils]: 59: Hoare triple {5011#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4830#false} is VALID [2022-04-15 08:39:37,195 INFO L290 TraceCheckUtils]: 60: Hoare triple {4830#false} assume !false; {4830#false} is VALID [2022-04-15 08:39:37,195 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-15 08:39:37,195 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:39:37,427 INFO L290 TraceCheckUtils]: 60: Hoare triple {4830#false} assume !false; {4830#false} is VALID [2022-04-15 08:39:37,428 INFO L290 TraceCheckUtils]: 59: Hoare triple {5011#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4830#false} is VALID [2022-04-15 08:39:37,428 INFO L290 TraceCheckUtils]: 58: Hoare triple {5007#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5011#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:37,429 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-15 08:39:37,430 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-15 08:39:37,430 INFO L290 TraceCheckUtils]: 55: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,430 INFO L290 TraceCheckUtils]: 54: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,430 INFO L290 TraceCheckUtils]: 53: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,430 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-15 08:39:37,431 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-15 08:39:37,431 INFO L290 TraceCheckUtils]: 50: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,431 INFO L290 TraceCheckUtils]: 49: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,431 INFO L290 TraceCheckUtils]: 48: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,431 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-15 08:39:37,432 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-15 08:39:37,681 INFO L290 TraceCheckUtils]: 45: Hoare triple {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:39:37,682 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-15 08:39:37,683 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-15 08:39:37,683 INFO L290 TraceCheckUtils]: 42: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,683 INFO L290 TraceCheckUtils]: 41: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,683 INFO L290 TraceCheckUtils]: 40: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,683 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-15 08:39:37,684 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-15 08:39:37,684 INFO L290 TraceCheckUtils]: 37: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,684 INFO L290 TraceCheckUtils]: 36: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,684 INFO L290 TraceCheckUtils]: 35: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,684 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-15 08:39:37,685 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-15 08:39:37,685 INFO L290 TraceCheckUtils]: 32: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,685 INFO L290 TraceCheckUtils]: 31: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,685 INFO L290 TraceCheckUtils]: 30: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,685 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-15 08:39:37,685 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-15 08:39:37,686 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-15 08:39:37,686 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4829#true} {4829#true} #72#return; {4829#true} is VALID [2022-04-15 08:39:37,686 INFO L290 TraceCheckUtils]: 25: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,686 INFO L290 TraceCheckUtils]: 24: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,686 INFO L290 TraceCheckUtils]: 23: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,686 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-15 08:39:37,686 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4829#true} {4829#true} #70#return; {4829#true} is VALID [2022-04-15 08:39:37,686 INFO L290 TraceCheckUtils]: 20: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,686 INFO L290 TraceCheckUtils]: 19: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,686 INFO L290 TraceCheckUtils]: 18: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,687 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-15 08:39:37,687 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4829#true} {4829#true} #68#return; {4829#true} is VALID [2022-04-15 08:39:37,687 INFO L290 TraceCheckUtils]: 15: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,687 INFO L290 TraceCheckUtils]: 14: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,687 INFO L290 TraceCheckUtils]: 13: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,687 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-15 08:39:37,687 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-15 08:39:37,687 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4829#true} {4829#true} #66#return; {4829#true} is VALID [2022-04-15 08:39:37,687 INFO L290 TraceCheckUtils]: 9: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,687 INFO L290 TraceCheckUtils]: 8: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 08:39:37,687 INFO L290 TraceCheckUtils]: 7: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 08:39:37,687 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-15 08:39:37,688 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-15 08:39:37,688 INFO L272 TraceCheckUtils]: 4: Hoare triple {4829#true} call #t~ret6 := main(); {4829#true} is VALID [2022-04-15 08:39:37,688 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4829#true} {4829#true} #88#return; {4829#true} is VALID [2022-04-15 08:39:37,688 INFO L290 TraceCheckUtils]: 2: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 08:39:37,688 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-15 08:39:37,688 INFO L272 TraceCheckUtils]: 0: Hoare triple {4829#true} call ULTIMATE.init(); {4829#true} is VALID [2022-04-15 08:39:37,688 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-15 08:39:37,688 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:39:37,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1121046033] [2022-04-15 08:39:37,689 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:39:37,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [521558577] [2022-04-15 08:39:37,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [521558577] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:39:37,689 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:39:37,689 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-15 08:39:37,689 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:39:37,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1993428562] [2022-04-15 08:39:37,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1993428562] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:37,689 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:37,689 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 08:39:37,690 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1832188332] [2022-04-15 08:39:37,690 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:39:37,690 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-15 08:39:37,690 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:39:37,690 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-15 08:39:37,728 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:37,728 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 08:39:37,728 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:37,729 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 08:39:37,729 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-15 08:39:37,729 INFO L87 Difference]: Start difference. First operand 112 states and 138 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-15 08:39:38,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:38,203 INFO L93 Difference]: Finished difference Result 137 states and 178 transitions. [2022-04-15 08:39:38,203 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 08:39:38,204 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-15 08:39:38,204 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:39:38,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-15 08:39:38,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 08:39:38,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-15 08:39:38,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 08:39:38,208 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-15 08:39:38,279 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:38,282 INFO L225 Difference]: With dead ends: 137 [2022-04-15 08:39:38,282 INFO L226 Difference]: Without dead ends: 131 [2022-04-15 08:39:38,283 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-15 08:39:38,283 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 120 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 08:39:38,284 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 160 Invalid, 120 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 08:39:38,284 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-15 08:39:38,339 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-15 08:39:38,340 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:39:38,340 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-15 08:39:38,341 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-15 08:39:38,341 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-15 08:39:38,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:38,346 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-15 08:39:38,346 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-15 08:39:38,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:38,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:38,347 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-15 08:39:38,347 INFO L87 Difference]: Start difference. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-15 08:39:38,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:38,352 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-15 08:39:38,352 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-15 08:39:38,352 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:38,352 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:38,352 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:39:38,352 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:39:38,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-15 08:39:38,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 167 transitions. [2022-04-15 08:39:38,356 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 167 transitions. Word has length 61 [2022-04-15 08:39:38,357 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:39:38,357 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 167 transitions. [2022-04-15 08:39:38,357 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-15 08:39:38,357 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 167 transitions. [2022-04-15 08:39:38,561 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:38,562 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-15 08:39:38,562 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-15 08:39:38,562 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:39:38,562 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:39:38,580 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-15 08:39:38,767 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 08:39:38,768 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:39:38,768 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:39:38,768 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 1 times [2022-04-15 08:39:38,768 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:38,768 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1181225231] [2022-04-15 08:39:38,768 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:39:38,768 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 2 times [2022-04-15 08:39:38,768 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:39:38,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1806432726] [2022-04-15 08:39:38,769 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:39:38,769 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:39:38,787 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:39:38,788 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1821523252] [2022-04-15 08:39:38,788 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:39:38,788 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:38,788 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:39:38,789 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:39:38,790 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 08:39:38,839 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:39:38,839 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:39:38,840 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-15 08:39:38,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:38,853 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:39:39,221 INFO L272 TraceCheckUtils]: 0: Hoare triple {6002#true} call ULTIMATE.init(); {6002#true} is VALID [2022-04-15 08:39:39,221 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-15 08:39:39,221 INFO L290 TraceCheckUtils]: 2: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,221 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6002#true} {6002#true} #88#return; {6002#true} is VALID [2022-04-15 08:39:39,221 INFO L272 TraceCheckUtils]: 4: Hoare triple {6002#true} call #t~ret6 := main(); {6002#true} is VALID [2022-04-15 08:39:39,221 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-15 08:39:39,221 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-15 08:39:39,222 INFO L290 TraceCheckUtils]: 7: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,222 INFO L290 TraceCheckUtils]: 8: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,222 INFO L290 TraceCheckUtils]: 9: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,222 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6002#true} {6002#true} #66#return; {6002#true} is VALID [2022-04-15 08:39:39,222 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-15 08:39:39,222 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-15 08:39:39,222 INFO L290 TraceCheckUtils]: 13: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,222 INFO L290 TraceCheckUtils]: 14: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,222 INFO L290 TraceCheckUtils]: 15: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,222 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6002#true} {6002#true} #68#return; {6002#true} is VALID [2022-04-15 08:39:39,222 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-15 08:39:39,223 INFO L290 TraceCheckUtils]: 18: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,223 INFO L290 TraceCheckUtils]: 19: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,223 INFO L290 TraceCheckUtils]: 20: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,223 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6002#true} {6002#true} #70#return; {6002#true} is VALID [2022-04-15 08:39:39,223 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-15 08:39:39,223 INFO L290 TraceCheckUtils]: 23: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,223 INFO L290 TraceCheckUtils]: 24: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,223 INFO L290 TraceCheckUtils]: 25: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,223 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6002#true} {6002#true} #72#return; {6002#true} is VALID [2022-04-15 08:39:39,224 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-15 08:39:39,225 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-15 08:39:39,225 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-15 08:39:39,225 INFO L290 TraceCheckUtils]: 30: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,225 INFO L290 TraceCheckUtils]: 31: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,225 INFO L290 TraceCheckUtils]: 32: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,232 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-15 08:39:39,232 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-15 08:39:39,232 INFO L290 TraceCheckUtils]: 35: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,233 INFO L290 TraceCheckUtils]: 36: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,233 INFO L290 TraceCheckUtils]: 37: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,234 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-15 08:39:39,234 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-15 08:39:39,234 INFO L290 TraceCheckUtils]: 40: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,234 INFO L290 TraceCheckUtils]: 41: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,234 INFO L290 TraceCheckUtils]: 42: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,235 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-15 08:39:39,235 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-15 08:39:39,236 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-15 08:39:39,236 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-15 08:39:39,236 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-15 08:39:39,236 INFO L290 TraceCheckUtils]: 48: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,237 INFO L290 TraceCheckUtils]: 49: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,237 INFO L290 TraceCheckUtils]: 50: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,237 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-15 08:39:39,237 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-15 08:39:39,237 INFO L290 TraceCheckUtils]: 53: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,237 INFO L290 TraceCheckUtils]: 54: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,240 INFO L290 TraceCheckUtils]: 55: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,241 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-15 08:39:39,241 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-15 08:39:39,241 INFO L290 TraceCheckUtils]: 58: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,241 INFO L290 TraceCheckUtils]: 59: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,241 INFO L290 TraceCheckUtils]: 60: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,242 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-15 08:39:39,243 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-15 08:39:39,243 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-15 08:39:39,244 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-15 08:39:39,244 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-15 08:39:39,245 INFO L290 TraceCheckUtils]: 66: Hoare triple {6205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:39,245 INFO L290 TraceCheckUtils]: 67: Hoare triple {6209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6003#false} is VALID [2022-04-15 08:39:39,245 INFO L290 TraceCheckUtils]: 68: Hoare triple {6003#false} assume !false; {6003#false} is VALID [2022-04-15 08:39:39,245 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-15 08:39:39,246 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:39:39,518 INFO L290 TraceCheckUtils]: 68: Hoare triple {6003#false} assume !false; {6003#false} is VALID [2022-04-15 08:39:39,519 INFO L290 TraceCheckUtils]: 67: Hoare triple {6209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6003#false} is VALID [2022-04-15 08:39:39,519 INFO L290 TraceCheckUtils]: 66: Hoare triple {6205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:39,520 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-15 08:39:39,521 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-15 08:39:39,524 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-15 08:39:39,524 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-15 08:39:39,525 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-15 08:39:39,525 INFO L290 TraceCheckUtils]: 60: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,526 INFO L290 TraceCheckUtils]: 59: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,526 INFO L290 TraceCheckUtils]: 58: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,526 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-15 08:39:39,527 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-15 08:39:39,527 INFO L290 TraceCheckUtils]: 55: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,527 INFO L290 TraceCheckUtils]: 54: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,527 INFO L290 TraceCheckUtils]: 53: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,527 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-15 08:39:39,528 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-15 08:39:39,528 INFO L290 TraceCheckUtils]: 50: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,528 INFO L290 TraceCheckUtils]: 49: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,528 INFO L290 TraceCheckUtils]: 48: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,528 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-15 08:39:39,528 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-15 08:39:39,531 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-15 08:39:39,532 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-15 08:39:39,533 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-15 08:39:39,533 INFO L290 TraceCheckUtils]: 42: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,533 INFO L290 TraceCheckUtils]: 41: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,533 INFO L290 TraceCheckUtils]: 40: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,533 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-15 08:39:39,534 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-15 08:39:39,534 INFO L290 TraceCheckUtils]: 37: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,534 INFO L290 TraceCheckUtils]: 36: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,534 INFO L290 TraceCheckUtils]: 35: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,535 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-15 08:39:39,535 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-15 08:39:39,535 INFO L290 TraceCheckUtils]: 32: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,535 INFO L290 TraceCheckUtils]: 31: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,536 INFO L290 TraceCheckUtils]: 30: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,536 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-15 08:39:39,536 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-15 08:39:39,537 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-15 08:39:39,537 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6002#true} {6002#true} #72#return; {6002#true} is VALID [2022-04-15 08:39:39,537 INFO L290 TraceCheckUtils]: 25: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,537 INFO L290 TraceCheckUtils]: 24: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,537 INFO L290 TraceCheckUtils]: 23: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,537 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-15 08:39:39,537 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6002#true} {6002#true} #70#return; {6002#true} is VALID [2022-04-15 08:39:39,537 INFO L290 TraceCheckUtils]: 20: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,537 INFO L290 TraceCheckUtils]: 19: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,537 INFO L290 TraceCheckUtils]: 18: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,537 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-15 08:39:39,538 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6002#true} {6002#true} #68#return; {6002#true} is VALID [2022-04-15 08:39:39,538 INFO L290 TraceCheckUtils]: 15: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,538 INFO L290 TraceCheckUtils]: 14: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,538 INFO L290 TraceCheckUtils]: 13: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,538 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-15 08:39:39,538 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-15 08:39:39,538 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6002#true} {6002#true} #66#return; {6002#true} is VALID [2022-04-15 08:39:39,538 INFO L290 TraceCheckUtils]: 9: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,538 INFO L290 TraceCheckUtils]: 8: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 08:39:39,538 INFO L290 TraceCheckUtils]: 7: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 08:39:39,538 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-15 08:39:39,538 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-15 08:39:39,539 INFO L272 TraceCheckUtils]: 4: Hoare triple {6002#true} call #t~ret6 := main(); {6002#true} is VALID [2022-04-15 08:39:39,539 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6002#true} {6002#true} #88#return; {6002#true} is VALID [2022-04-15 08:39:39,539 INFO L290 TraceCheckUtils]: 2: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 08:39:39,539 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-15 08:39:39,539 INFO L272 TraceCheckUtils]: 0: Hoare triple {6002#true} call ULTIMATE.init(); {6002#true} is VALID [2022-04-15 08:39:39,539 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 94 trivial. 0 not checked. [2022-04-15 08:39:39,539 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:39:39,539 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1806432726] [2022-04-15 08:39:39,539 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:39:39,540 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1821523252] [2022-04-15 08:39:39,540 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1821523252] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 08:39:39,540 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 08:39:39,540 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-15 08:39:39,540 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:39:39,540 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1181225231] [2022-04-15 08:39:39,540 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1181225231] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:39,540 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:39,540 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:39:39,540 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1441405302] [2022-04-15 08:39:39,540 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:39:39,541 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 69 [2022-04-15 08:39:39,541 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:39:39,541 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:39:39,572 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:39,572 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:39:39,572 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:39,572 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:39:39,572 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-15 08:39:39,573 INFO L87 Difference]: Start difference. First operand 131 states and 167 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:39:39,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:39,814 INFO L93 Difference]: Finished difference Result 137 states and 172 transitions. [2022-04-15 08:39:39,814 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:39:39,814 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 69 [2022-04-15 08:39:39,814 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:39:39,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:39:39,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-15 08:39:39,815 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:39:39,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-15 08:39:39,816 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-15 08:39:39,859 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:39,861 INFO L225 Difference]: With dead ends: 137 [2022-04-15 08:39:39,861 INFO L226 Difference]: Without dead ends: 132 [2022-04-15 08:39:39,862 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 128 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-15 08:39:39,862 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 6 mSDsluCounter, 80 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:39:39,862 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 116 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:39:39,863 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-15 08:39:39,919 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-15 08:39:39,919 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:39:39,919 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:39:39,920 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:39:39,920 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:39:39,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:39,924 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-15 08:39:39,924 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-15 08:39:39,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:39,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:39,925 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 132 states. [2022-04-15 08:39:39,925 INFO L87 Difference]: Start difference. First operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 132 states. [2022-04-15 08:39:39,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:39:39,928 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-15 08:39:39,929 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-15 08:39:39,929 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:39:39,929 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:39:39,929 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:39:39,929 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:39:39,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 08:39:39,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 164 transitions. [2022-04-15 08:39:39,933 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 164 transitions. Word has length 69 [2022-04-15 08:39:39,933 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:39:39,933 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 164 transitions. [2022-04-15 08:39:39,934 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 08:39:39,934 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 164 transitions. [2022-04-15 08:39:40,156 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:40,156 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-15 08:39:40,157 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-15 08:39:40,157 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:39:40,157 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:39:40,176 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-15 08:39:40,368 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 08:39:40,368 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:39:40,368 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:39:40,368 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 5 times [2022-04-15 08:39:40,369 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:40,369 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1181656424] [2022-04-15 08:39:40,369 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:39:40,369 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 6 times [2022-04-15 08:39:40,369 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:39:40,369 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [134331234] [2022-04-15 08:39:40,369 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:39:40,369 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:39:40,398 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:39:40,399 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1973439355] [2022-04-15 08:39:40,399 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 08:39:40,399 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:39:40,399 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:39:40,403 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:39:40,415 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 08:39:40,469 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 08:39:40,470 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:39:40,471 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-15 08:39:40,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:39:40,485 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:39:40,970 INFO L272 TraceCheckUtils]: 0: Hoare triple {7227#true} call ULTIMATE.init(); {7227#true} is VALID [2022-04-15 08:39:40,971 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-15 08:39:40,971 INFO L290 TraceCheckUtils]: 2: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:39:40,971 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7227#true} {7227#true} #88#return; {7227#true} is VALID [2022-04-15 08:39:40,971 INFO L272 TraceCheckUtils]: 4: Hoare triple {7227#true} call #t~ret6 := main(); {7227#true} is VALID [2022-04-15 08:39:40,971 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-15 08:39:40,971 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-15 08:39:40,971 INFO L290 TraceCheckUtils]: 7: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:39:40,971 INFO L290 TraceCheckUtils]: 8: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:39:40,971 INFO L290 TraceCheckUtils]: 9: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:39:40,971 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7227#true} {7227#true} #66#return; {7227#true} is VALID [2022-04-15 08:39:40,971 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-15 08:39:40,971 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-15 08:39:40,971 INFO L290 TraceCheckUtils]: 13: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:39:40,971 INFO L290 TraceCheckUtils]: 14: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:39:40,971 INFO L290 TraceCheckUtils]: 15: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:39:40,972 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7227#true} {7227#true} #68#return; {7227#true} is VALID [2022-04-15 08:39:40,972 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-15 08:39:40,972 INFO L290 TraceCheckUtils]: 18: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:39:40,972 INFO L290 TraceCheckUtils]: 19: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:39:40,972 INFO L290 TraceCheckUtils]: 20: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:39:40,972 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7227#true} {7227#true} #70#return; {7227#true} is VALID [2022-04-15 08:39:40,972 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-15 08:39:40,972 INFO L290 TraceCheckUtils]: 23: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:39:40,972 INFO L290 TraceCheckUtils]: 24: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:39:40,972 INFO L290 TraceCheckUtils]: 25: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:39:40,972 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7227#true} {7227#true} #72#return; {7227#true} is VALID [2022-04-15 08:39:40,972 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-15 08:39:40,973 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-15 08:39:40,973 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-15 08:39:40,973 INFO L290 TraceCheckUtils]: 30: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:39:40,973 INFO L290 TraceCheckUtils]: 31: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:39:40,973 INFO L290 TraceCheckUtils]: 32: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:39:40,974 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-15 08:39:40,974 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-15 08:39:40,974 INFO L290 TraceCheckUtils]: 35: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:39:40,974 INFO L290 TraceCheckUtils]: 36: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:39:40,974 INFO L290 TraceCheckUtils]: 37: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:39:40,975 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-15 08:39:40,975 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-15 08:39:40,975 INFO L290 TraceCheckUtils]: 40: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:39:40,975 INFO L290 TraceCheckUtils]: 41: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:39:40,975 INFO L290 TraceCheckUtils]: 42: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:39:40,975 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-15 08:39:40,976 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-15 08:39:40,976 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-15 08:39:40,977 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-15 08:39:40,977 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-15 08:39:40,977 INFO L290 TraceCheckUtils]: 48: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:39:40,977 INFO L290 TraceCheckUtils]: 49: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:39:40,977 INFO L290 TraceCheckUtils]: 50: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:39:40,978 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-15 08:39:40,978 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-15 08:39:40,978 INFO L290 TraceCheckUtils]: 53: Hoare triple {7227#true} ~cond := #in~cond; {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:40,978 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-15 08:39:40,979 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-15 08:39:40,979 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-15 08:39:40,979 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-15 08:39:40,979 INFO L290 TraceCheckUtils]: 58: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:39:40,979 INFO L290 TraceCheckUtils]: 59: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:39:40,979 INFO L290 TraceCheckUtils]: 60: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:39:40,980 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-15 08:39:40,980 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-15 08:39:40,981 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-15 08:39:40,982 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-15 08:39:40,982 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-15 08:39:40,982 INFO L290 TraceCheckUtils]: 66: Hoare triple {7227#true} ~cond := #in~cond; {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:40,982 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-15 08:39:40,983 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-15 08:39:40,983 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-15 08:39:40,984 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-15 08:39:40,984 INFO L290 TraceCheckUtils]: 71: Hoare triple {7448#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7452#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:40,985 INFO L290 TraceCheckUtils]: 72: Hoare triple {7452#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7228#false} is VALID [2022-04-15 08:39:40,985 INFO L290 TraceCheckUtils]: 73: Hoare triple {7228#false} assume !false; {7228#false} is VALID [2022-04-15 08:39:40,985 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 39 proven. 17 refuted. 0 times theorem prover too weak. 78 trivial. 0 not checked. [2022-04-15 08:39:40,985 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:41:55,482 INFO L290 TraceCheckUtils]: 73: Hoare triple {7228#false} assume !false; {7228#false} is VALID [2022-04-15 08:41:55,483 INFO L290 TraceCheckUtils]: 72: Hoare triple {7452#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7228#false} is VALID [2022-04-15 08:41:55,484 INFO L290 TraceCheckUtils]: 71: Hoare triple {7448#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7452#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:41:55,484 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-15 08:41:55,485 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-15 08:41:55,485 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-15 08:41:55,486 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-15 08:41:55,486 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-15 08:41:55,486 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-15 08:41:55,486 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-15 08:41:55,670 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-15 08:41:55,671 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-15 08:41:55,671 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-15 08:41:55,671 INFO L290 TraceCheckUtils]: 60: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:41:55,671 INFO L290 TraceCheckUtils]: 59: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:41:55,671 INFO L290 TraceCheckUtils]: 58: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:41:55,672 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-15 08:41:55,672 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-15 08:41:55,673 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-15 08:41:55,673 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-15 08:41:55,673 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-15 08:41:55,673 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-15 08:41:55,674 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-15 08:41:55,674 INFO L290 TraceCheckUtils]: 50: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:41:55,674 INFO L290 TraceCheckUtils]: 49: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:41:55,674 INFO L290 TraceCheckUtils]: 48: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:41:55,674 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-15 08:41:55,675 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-15 08:41:57,610 INFO 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 VALID [2022-04-15 08:41:57,611 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-15 08:41:57,612 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-15 08:41:57,612 INFO L290 TraceCheckUtils]: 42: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:41:57,612 INFO L290 TraceCheckUtils]: 41: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:41:57,612 INFO L290 TraceCheckUtils]: 40: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:41:57,612 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-15 08:41:57,613 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-15 08:41:57,613 INFO L290 TraceCheckUtils]: 37: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:41:57,613 INFO L290 TraceCheckUtils]: 36: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:41:57,613 INFO L290 TraceCheckUtils]: 35: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:41:57,613 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-15 08:41:57,613 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-15 08:41:57,613 INFO L290 TraceCheckUtils]: 32: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:41:57,614 INFO L290 TraceCheckUtils]: 31: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:41:57,614 INFO L290 TraceCheckUtils]: 30: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:41:57,614 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-15 08:41:57,614 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-15 08:41:57,615 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-15 08:41:57,615 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7227#true} {7227#true} #72#return; {7227#true} is VALID [2022-04-15 08:41:57,615 INFO L290 TraceCheckUtils]: 25: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:41:57,615 INFO L290 TraceCheckUtils]: 24: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:41:57,615 INFO L290 TraceCheckUtils]: 23: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:41:57,615 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-15 08:41:57,615 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7227#true} {7227#true} #70#return; {7227#true} is VALID [2022-04-15 08:41:57,615 INFO L290 TraceCheckUtils]: 20: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:41:57,615 INFO L290 TraceCheckUtils]: 19: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:41:57,615 INFO L290 TraceCheckUtils]: 18: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:41:57,615 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-15 08:41:57,615 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7227#true} {7227#true} #68#return; {7227#true} is VALID [2022-04-15 08:41:57,615 INFO L290 TraceCheckUtils]: 15: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:41:57,615 INFO L290 TraceCheckUtils]: 14: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:41:57,616 INFO L290 TraceCheckUtils]: 13: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:41:57,616 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-15 08:41:57,616 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-15 08:41:57,616 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7227#true} {7227#true} #66#return; {7227#true} is VALID [2022-04-15 08:41:57,616 INFO L290 TraceCheckUtils]: 9: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:41:57,616 INFO L290 TraceCheckUtils]: 8: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 08:41:57,616 INFO L290 TraceCheckUtils]: 7: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 08:41:57,616 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-15 08:41:57,616 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-15 08:41:57,616 INFO L272 TraceCheckUtils]: 4: Hoare triple {7227#true} call #t~ret6 := main(); {7227#true} is VALID [2022-04-15 08:41:57,617 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7227#true} {7227#true} #88#return; {7227#true} is VALID [2022-04-15 08:41:57,617 INFO L290 TraceCheckUtils]: 2: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 08:41:57,617 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-15 08:41:57,617 INFO L272 TraceCheckUtils]: 0: Hoare triple {7227#true} call ULTIMATE.init(); {7227#true} is VALID [2022-04-15 08:41:57,617 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 42 proven. 14 refuted. 0 times theorem prover too weak. 78 trivial. 0 not checked. [2022-04-15 08:41:57,617 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:41:57,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [134331234] [2022-04-15 08:41:57,618 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:41:57,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1973439355] [2022-04-15 08:41:57,618 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1973439355] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:41:57,618 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:41:57,618 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 16 [2022-04-15 08:41:57,618 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:41:57,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1181656424] [2022-04-15 08:41:57,618 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1181656424] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:41:57,619 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:41:57,619 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 08:41:57,620 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1173792905] [2022-04-15 08:41:57,620 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:41:57,623 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-15 08:41:57,623 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:41:57,623 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 08:41:57,673 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:41:57,673 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 08:41:57,673 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:41:57,673 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 08:41:57,674 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-15 08:41:57,674 INFO L87 Difference]: Start difference. First operand 132 states and 164 transitions. Second operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 08:41:58,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:41:58,744 INFO L93 Difference]: Finished difference Result 166 states and 206 transitions. [2022-04-15 08:41:58,744 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 08:41:58,744 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-15 08:41:58,745 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:41:58,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 08:41:58,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2022-04-15 08:41:58,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 08:41:58,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2022-04-15 08:41:58,748 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 95 transitions. [2022-04-15 08:41:58,862 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:41:58,865 INFO L225 Difference]: With dead ends: 166 [2022-04-15 08:41:58,865 INFO L226 Difference]: Without dead ends: 164 [2022-04-15 08:41:58,866 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 131 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2022-04-15 08:41:58,866 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 18 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 385 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 403 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 385 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 08:41:58,866 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.5s Time] [2022-04-15 08:41:58,867 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-15 08:41:58,933 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 150. [2022-04-15 08:41:58,933 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:41:58,934 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 08:41:58,934 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 08:41:58,934 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 08:41:58,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:41:58,939 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-15 08:41:58,939 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-15 08:41:58,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:41:58,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:41:58,940 INFO L74 IsIncluded]: Start isIncluded. First operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) Second operand 164 states. [2022-04-15 08:41:58,940 INFO L87 Difference]: Start difference. First operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) Second operand 164 states. [2022-04-15 08:41:58,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:41:58,945 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-15 08:41:58,945 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-15 08:41:58,945 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:41:58,945 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:41:58,945 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:41:58,946 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:41:58,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 08:41:58,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 183 transitions. [2022-04-15 08:41:58,950 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 183 transitions. Word has length 74 [2022-04-15 08:41:58,950 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:41:58,950 INFO L478 AbstractCegarLoop]: Abstraction has 150 states and 183 transitions. [2022-04-15 08:41:58,950 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 08:41:58,950 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 150 states and 183 transitions. [2022-04-15 08:41:59,193 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:41:59,193 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 183 transitions. [2022-04-15 08:41:59,193 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-15 08:41:59,193 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:41:59,194 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:41:59,211 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-15 08:41:59,394 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 08:41:59,394 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:41:59,395 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:41:59,395 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 3 times [2022-04-15 08:41:59,395 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:41:59,395 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1974300063] [2022-04-15 08:41:59,395 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:41:59,395 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 4 times [2022-04-15 08:41:59,395 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:41:59,395 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1006632346] [2022-04-15 08:41:59,395 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:41:59,395 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:41:59,416 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:41:59,416 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [953057602] [2022-04-15 08:41:59,416 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:41:59,416 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:41:59,417 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:41:59,417 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:41:59,420 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 08:41:59,462 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:41:59,462 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:41:59,463 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 08:41:59,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:41:59,478 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:42:29,002 INFO L272 TraceCheckUtils]: 0: Hoare triple {8650#true} call ULTIMATE.init(); {8650#true} is VALID [2022-04-15 08:42:29,002 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-15 08:42:29,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 08:42:29,002 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8650#true} {8650#true} #88#return; {8650#true} is VALID [2022-04-15 08:42:29,002 INFO L272 TraceCheckUtils]: 4: Hoare triple {8650#true} call #t~ret6 := main(); {8650#true} is VALID [2022-04-15 08:42:29,002 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-15 08:42:29,002 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-15 08:42:29,003 INFO L290 TraceCheckUtils]: 7: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 08:42:29,003 INFO L290 TraceCheckUtils]: 8: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 08:42:29,003 INFO L290 TraceCheckUtils]: 9: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 08:42:29,003 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8650#true} {8650#true} #66#return; {8650#true} is VALID [2022-04-15 08:42:29,003 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-15 08:42:29,003 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-15 08:42:29,003 INFO L290 TraceCheckUtils]: 13: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 08:42:29,003 INFO L290 TraceCheckUtils]: 14: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 08:42:29,003 INFO L290 TraceCheckUtils]: 15: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 08:42:29,003 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8650#true} {8650#true} #68#return; {8650#true} is VALID [2022-04-15 08:42:29,003 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-15 08:42:29,003 INFO L290 TraceCheckUtils]: 18: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 08:42:29,003 INFO L290 TraceCheckUtils]: 19: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 08:42:29,003 INFO L290 TraceCheckUtils]: 20: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 08:42:29,003 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8650#true} {8650#true} #70#return; {8650#true} is VALID [2022-04-15 08:42:29,003 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-15 08:42:29,004 INFO L290 TraceCheckUtils]: 23: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 08:42:29,004 INFO L290 TraceCheckUtils]: 24: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 08:42:29,004 INFO L290 TraceCheckUtils]: 25: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 08:42:29,004 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8650#true} {8650#true} #72#return; {8650#true} is VALID [2022-04-15 08:42:29,004 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-15 08:42:29,004 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-15 08:42:29,004 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-15 08:42:29,005 INFO L290 TraceCheckUtils]: 30: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 08:42:29,005 INFO L290 TraceCheckUtils]: 31: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 08:42:29,005 INFO L290 TraceCheckUtils]: 32: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 08:42:29,005 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-15 08:42:29,005 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-15 08:42:29,006 INFO L290 TraceCheckUtils]: 35: Hoare triple {8650#true} ~cond := #in~cond; {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:42:29,006 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-15 08:42:29,006 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-15 08:42:29,007 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-15 08:42:29,007 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-15 08:42:29,007 INFO L290 TraceCheckUtils]: 40: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 08:42:29,007 INFO L290 TraceCheckUtils]: 41: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 08:42:29,007 INFO L290 TraceCheckUtils]: 42: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 08:42:29,008 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-15 08:42:29,008 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-15 08:42:29,009 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-15 08:42:29,009 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-15 08:42:29,009 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-15 08:42:29,009 INFO L290 TraceCheckUtils]: 48: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 08:42:29,009 INFO L290 TraceCheckUtils]: 49: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 08:42:29,010 INFO L290 TraceCheckUtils]: 50: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 08:42:29,010 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-15 08:42:29,011 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-15 08:42:29,011 INFO L290 TraceCheckUtils]: 53: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 08:42:29,011 INFO L290 TraceCheckUtils]: 54: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 08:42:29,011 INFO L290 TraceCheckUtils]: 55: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 08:42:29,012 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-15 08:42:29,012 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-15 08:42:29,012 INFO L290 TraceCheckUtils]: 58: Hoare triple {8650#true} ~cond := #in~cond; {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:42:29,012 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-15 08:42:29,013 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-15 08:42:29,014 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-15 08:42:29,014 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-15 08:42:29,016 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-15 08:42:29,017 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-15 08:42:29,017 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-15 08:42:29,017 INFO L290 TraceCheckUtils]: 66: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 08:42:29,017 INFO L290 TraceCheckUtils]: 67: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 08:42:29,017 INFO L290 TraceCheckUtils]: 68: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 08:42:29,018 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-15 08:42:29,019 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-15 08:42:29,019 INFO L290 TraceCheckUtils]: 71: Hoare triple {8872#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8876#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:42:29,019 INFO L290 TraceCheckUtils]: 72: Hoare triple {8876#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8651#false} is VALID [2022-04-15 08:42:29,019 INFO L290 TraceCheckUtils]: 73: Hoare triple {8651#false} assume !false; {8651#false} is VALID [2022-04-15 08:42:29,020 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-15 08:42:29,020 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:42:48,652 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 08:43:58,462 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:43:58,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1006632346] [2022-04-15 08:43:58,463 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:43:58,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [953057602] [2022-04-15 08:43:58,463 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [953057602] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 08:43:58,463 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 08:43:58,463 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-15 08:43:58,463 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:43:58,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1974300063] [2022-04-15 08:43:58,463 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1974300063] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:43:58,463 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:43:58,463 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 08:43:58,463 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1148240453] [2022-04-15 08:43:58,463 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:43:58,464 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-15 08:43:58,464 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:43:58,464 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-15 08:43:58,520 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:43:58,521 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 08:43:58,521 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:43:58,521 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 08:43:58,521 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=209, Unknown=0, NotChecked=0, Total=272 [2022-04-15 08:43:58,521 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-15 08:44:04,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:44:04,184 INFO L93 Difference]: Finished difference Result 184 states and 225 transitions. [2022-04-15 08:44:04,184 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 08:44:04,184 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-15 08:44:04,185 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:44:04,185 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-15 08:44:04,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 85 transitions. [2022-04-15 08:44:04,187 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-15 08:44:04,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 85 transitions. [2022-04-15 08:44:04,189 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 85 transitions. [2022-04-15 08:44:04,280 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:44:04,284 INFO L225 Difference]: With dead ends: 184 [2022-04-15 08:44:04,284 INFO L226 Difference]: Without dead ends: 182 [2022-04-15 08:44:04,284 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 88 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=76, Invalid=266, Unknown=0, NotChecked=0, Total=342 [2022-04-15 08:44:04,284 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 14 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 420 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s 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, 3.4s IncrementalHoareTripleChecker+Time [2022-04-15 08:44:04,285 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 220 Invalid, 426 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 420 Invalid, 0 Unknown, 0 Unchecked, 3.4s Time] [2022-04-15 08:44:04,285 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-15 08:44:04,413 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 168. [2022-04-15 08:44:04,413 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:44:04,413 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-15 08:44:04,414 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-15 08:44:04,414 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-15 08:44:04,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:44:04,419 INFO L93 Difference]: Finished difference Result 182 states and 223 transitions. [2022-04-15 08:44:04,419 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 223 transitions. [2022-04-15 08:44:04,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:44:04,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:44:04,420 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-15 08:44:04,420 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-15 08:44:04,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:44:04,424 INFO L93 Difference]: Finished difference Result 182 states and 223 transitions. [2022-04-15 08:44:04,425 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 223 transitions. [2022-04-15 08:44:04,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:44:04,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:44:04,425 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:44:04,425 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:44:04,425 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-15 08:44:04,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 168 states to 168 states and 202 transitions. [2022-04-15 08:44:04,430 INFO L78 Accepts]: Start accepts. Automaton has 168 states and 202 transitions. Word has length 74 [2022-04-15 08:44:04,430 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:44:04,430 INFO L478 AbstractCegarLoop]: Abstraction has 168 states and 202 transitions. [2022-04-15 08:44:04,430 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-15 08:44:04,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 168 states and 202 transitions. [2022-04-15 08:44:04,759 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-15 08:44:04,759 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 202 transitions. [2022-04-15 08:44:04,760 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-15 08:44:04,760 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:44:04,760 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:44:04,778 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-15 08:44:04,960 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-15 08:44:04,960 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:44:04,961 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:44:04,961 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 5 times [2022-04-15 08:44:04,961 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:44:04,961 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [422808527] [2022-04-15 08:44:04,961 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:44:04,961 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 6 times [2022-04-15 08:44:04,961 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:44:04,961 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1778257550] [2022-04-15 08:44:04,961 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:44:04,962 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:44:04,974 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:44:04,974 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [156132494] [2022-04-15 08:44:04,974 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 08:44:04,974 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:44:04,974 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:44:04,975 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:44:04,995 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-15 08:44:05,055 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 08:44:05,055 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:44:05,056 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 08:44:05,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:44:05,083 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:44:05,379 INFO L272 TraceCheckUtils]: 0: Hoare triple {10053#true} call ULTIMATE.init(); {10053#true} is VALID [2022-04-15 08:44:05,379 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-15 08:44:05,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:05,379 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10053#true} {10053#true} #88#return; {10053#true} is VALID [2022-04-15 08:44:05,379 INFO L272 TraceCheckUtils]: 4: Hoare triple {10053#true} call #t~ret6 := main(); {10053#true} is VALID [2022-04-15 08:44:05,379 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-15 08:44:05,379 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-15 08:44:05,379 INFO L290 TraceCheckUtils]: 7: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:05,379 INFO L290 TraceCheckUtils]: 8: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:05,379 INFO L290 TraceCheckUtils]: 9: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:05,380 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10053#true} {10053#true} #66#return; {10053#true} is VALID [2022-04-15 08:44:05,380 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-15 08:44:05,380 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-15 08:44:05,380 INFO L290 TraceCheckUtils]: 13: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:05,380 INFO L290 TraceCheckUtils]: 14: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:05,380 INFO L290 TraceCheckUtils]: 15: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:05,380 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10053#true} {10053#true} #68#return; {10053#true} is VALID [2022-04-15 08:44:05,380 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-15 08:44:05,380 INFO L290 TraceCheckUtils]: 18: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:05,380 INFO L290 TraceCheckUtils]: 19: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:05,380 INFO L290 TraceCheckUtils]: 20: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:05,380 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10053#true} {10053#true} #70#return; {10053#true} is VALID [2022-04-15 08:44:05,380 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-15 08:44:05,380 INFO L290 TraceCheckUtils]: 23: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:05,380 INFO L290 TraceCheckUtils]: 24: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:05,380 INFO L290 TraceCheckUtils]: 25: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:05,380 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10053#true} {10053#true} #72#return; {10053#true} is VALID [2022-04-15 08:44:05,381 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-15 08:44:05,381 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-15 08:44:05,381 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-15 08:44:05,381 INFO L290 TraceCheckUtils]: 30: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:05,381 INFO L290 TraceCheckUtils]: 31: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:05,381 INFO L290 TraceCheckUtils]: 32: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:05,383 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-15 08:44:05,384 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-15 08:44:05,384 INFO L290 TraceCheckUtils]: 35: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:05,384 INFO L290 TraceCheckUtils]: 36: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:05,384 INFO L290 TraceCheckUtils]: 37: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:05,385 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-15 08:44:05,385 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-15 08:44:05,385 INFO L290 TraceCheckUtils]: 40: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:05,385 INFO L290 TraceCheckUtils]: 41: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:05,385 INFO L290 TraceCheckUtils]: 42: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:05,386 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-15 08:44:05,386 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-15 08:44:05,387 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-15 08:44:05,387 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-15 08:44:05,387 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-15 08:44:05,387 INFO L290 TraceCheckUtils]: 48: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:05,387 INFO L290 TraceCheckUtils]: 49: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:05,387 INFO L290 TraceCheckUtils]: 50: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:05,388 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-15 08:44:05,388 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-15 08:44:05,389 INFO L290 TraceCheckUtils]: 53: Hoare triple {10053#true} ~cond := #in~cond; {10218#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:44:05,389 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-15 08:44:05,389 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-15 08:44:05,390 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-15 08:44:05,390 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-15 08:44:05,390 INFO L290 TraceCheckUtils]: 58: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:05,391 INFO L290 TraceCheckUtils]: 59: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:05,391 INFO L290 TraceCheckUtils]: 60: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:05,391 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-15 08:44:05,392 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-15 08:44:05,409 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-15 08:44:05,410 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-15 08:44:05,410 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-15 08:44:05,410 INFO L290 TraceCheckUtils]: 66: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:05,410 INFO L290 TraceCheckUtils]: 67: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:05,410 INFO L290 TraceCheckUtils]: 68: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:05,411 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-15 08:44:05,411 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-15 08:44:05,411 INFO L290 TraceCheckUtils]: 71: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:05,411 INFO L290 TraceCheckUtils]: 72: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:05,411 INFO L290 TraceCheckUtils]: 73: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:05,412 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-15 08:44:05,413 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-15 08:44:05,413 INFO L290 TraceCheckUtils]: 76: Hoare triple {10288#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10292#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:44:05,414 INFO L290 TraceCheckUtils]: 77: Hoare triple {10292#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10054#false} is VALID [2022-04-15 08:44:05,414 INFO L290 TraceCheckUtils]: 78: Hoare triple {10054#false} assume !false; {10054#false} is VALID [2022-04-15 08:44:05,414 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 30 proven. 18 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-15 08:44:05,414 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:44:19,609 INFO L290 TraceCheckUtils]: 78: Hoare triple {10054#false} assume !false; {10054#false} is VALID [2022-04-15 08:44:19,609 INFO L290 TraceCheckUtils]: 77: Hoare triple {10292#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10054#false} is VALID [2022-04-15 08:44:19,609 INFO L290 TraceCheckUtils]: 76: Hoare triple {10288#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10292#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:44:19,610 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-15 08:44:19,611 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-15 08:44:19,611 INFO L290 TraceCheckUtils]: 73: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:19,611 INFO L290 TraceCheckUtils]: 72: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:19,611 INFO L290 TraceCheckUtils]: 71: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:19,611 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-15 08:44:19,612 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-15 08:44:19,612 INFO L290 TraceCheckUtils]: 68: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:19,612 INFO L290 TraceCheckUtils]: 67: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:19,612 INFO L290 TraceCheckUtils]: 66: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:19,612 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-15 08:44:19,612 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-15 08:44:20,131 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-15 08:44:20,133 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-15 08:44:20,134 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-15 08:44:20,134 INFO L290 TraceCheckUtils]: 60: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:20,134 INFO L290 TraceCheckUtils]: 59: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:20,134 INFO L290 TraceCheckUtils]: 58: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:20,134 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-15 08:44:20,135 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-15 08:44:20,135 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-15 08:44:20,136 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-15 08:44:20,136 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-15 08:44:20,136 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-15 08:44:20,137 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-15 08:44:20,137 INFO L290 TraceCheckUtils]: 50: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:20,137 INFO L290 TraceCheckUtils]: 49: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:20,137 INFO L290 TraceCheckUtils]: 48: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:20,137 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-15 08:44:20,137 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-15 08:44:20,138 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-15 08:44:20,139 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-15 08:44:20,139 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-15 08:44:20,139 INFO L290 TraceCheckUtils]: 42: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:20,139 INFO L290 TraceCheckUtils]: 41: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:20,139 INFO L290 TraceCheckUtils]: 40: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:20,139 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-15 08:44:20,140 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-15 08:44:20,140 INFO L290 TraceCheckUtils]: 37: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:20,140 INFO L290 TraceCheckUtils]: 36: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:20,140 INFO L290 TraceCheckUtils]: 35: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:20,140 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-15 08:44:20,141 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-15 08:44:20,141 INFO L290 TraceCheckUtils]: 32: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:20,141 INFO L290 TraceCheckUtils]: 31: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:20,141 INFO L290 TraceCheckUtils]: 30: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:20,141 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-15 08:44:20,141 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-15 08:44:20,142 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-15 08:44:20,142 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10053#true} {10053#true} #72#return; {10053#true} is VALID [2022-04-15 08:44:20,142 INFO L290 TraceCheckUtils]: 25: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:20,142 INFO L290 TraceCheckUtils]: 24: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:20,142 INFO L290 TraceCheckUtils]: 23: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:20,142 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-15 08:44:20,143 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10053#true} {10053#true} #70#return; {10053#true} is VALID [2022-04-15 08:44:20,143 INFO L290 TraceCheckUtils]: 20: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:20,143 INFO L290 TraceCheckUtils]: 19: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:20,164 INFO L290 TraceCheckUtils]: 18: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:20,164 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-15 08:44:20,164 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10053#true} {10053#true} #68#return; {10053#true} is VALID [2022-04-15 08:44:20,164 INFO L290 TraceCheckUtils]: 15: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:20,164 INFO L290 TraceCheckUtils]: 14: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:20,164 INFO L290 TraceCheckUtils]: 13: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:20,165 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-15 08:44:20,165 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-15 08:44:20,165 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10053#true} {10053#true} #66#return; {10053#true} is VALID [2022-04-15 08:44:20,165 INFO L290 TraceCheckUtils]: 9: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:20,165 INFO L290 TraceCheckUtils]: 8: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 08:44:20,165 INFO L290 TraceCheckUtils]: 7: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 08:44:20,165 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-15 08:44:20,165 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-15 08:44:20,165 INFO L272 TraceCheckUtils]: 4: Hoare triple {10053#true} call #t~ret6 := main(); {10053#true} is VALID [2022-04-15 08:44:20,165 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10053#true} {10053#true} #88#return; {10053#true} is VALID [2022-04-15 08:44:20,165 INFO L290 TraceCheckUtils]: 2: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 08:44:20,165 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-15 08:44:20,166 INFO L272 TraceCheckUtils]: 0: Hoare triple {10053#true} call ULTIMATE.init(); {10053#true} is VALID [2022-04-15 08:44:20,166 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 27 proven. 14 refuted. 0 times theorem prover too weak. 125 trivial. 0 not checked. [2022-04-15 08:44:20,166 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:44:20,166 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1778257550] [2022-04-15 08:44:20,166 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:44:20,166 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [156132494] [2022-04-15 08:44:20,167 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [156132494] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:44:20,167 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:44:20,167 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-15 08:44:20,167 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:44:20,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [422808527] [2022-04-15 08:44:20,167 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [422808527] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:44:20,167 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:44:20,167 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 08:44:20,169 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [473934847] [2022-04-15 08:44:20,169 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:44:20,170 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 79 [2022-04-15 08:44:20,171 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:44:20,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 08:44:20,214 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:44:20,214 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 08:44:20,214 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:44:20,215 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 08:44:20,215 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-15 08:44:20,215 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-15 08:44:20,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:44:20,823 INFO L93 Difference]: Finished difference Result 182 states and 221 transitions. [2022-04-15 08:44:20,823 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 08:44:20,823 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 79 [2022-04-15 08:44:20,824 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:44:20,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 08:44:20,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-15 08:44:20,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 08:44:20,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-15 08:44:20,826 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 64 transitions. [2022-04-15 08:44:20,920 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:44:20,925 INFO L225 Difference]: With dead ends: 182 [2022-04-15 08:44:20,925 INFO L226 Difference]: Without dead ends: 169 [2022-04-15 08:44:20,926 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 159 GetRequests, 145 SyntacticMatches, 3 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=116, Unknown=0, NotChecked=0, Total=156 [2022-04-15 08:44:20,926 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-15 08:44:20,926 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-15 08:44:20,927 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states. [2022-04-15 08:44:21,030 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 149. [2022-04-15 08:44:21,030 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:44:21,031 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-15 08:44:21,031 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-15 08:44:21,031 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-15 08:44:21,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:44:21,036 INFO L93 Difference]: Finished difference Result 169 states and 200 transitions. [2022-04-15 08:44:21,036 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 200 transitions. [2022-04-15 08:44:21,037 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:44:21,037 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:44:21,037 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-15 08:44:21,037 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-15 08:44:21,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:44:21,042 INFO L93 Difference]: Finished difference Result 169 states and 200 transitions. [2022-04-15 08:44:21,042 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 200 transitions. [2022-04-15 08:44:21,042 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:44:21,042 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:44:21,042 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:44:21,042 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:44:21,043 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-15 08:44:21,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 170 transitions. [2022-04-15 08:44:21,047 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 170 transitions. Word has length 79 [2022-04-15 08:44:21,047 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:44:21,047 INFO L478 AbstractCegarLoop]: Abstraction has 149 states and 170 transitions. [2022-04-15 08:44:21,047 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 08:44:21,047 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 149 states and 170 transitions. [2022-04-15 08:44:21,446 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-15 08:44:21,446 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 170 transitions. [2022-04-15 08:44:21,447 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-15 08:44:21,447 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:44:21,447 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:44:21,464 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-15 08:44:21,651 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-15 08:44:21,651 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:44:21,652 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:44:21,652 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 3 times [2022-04-15 08:44:21,652 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:44:21,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1653739552] [2022-04-15 08:44:21,652 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:44:21,652 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 4 times [2022-04-15 08:44:21,652 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:44:21,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [988574832] [2022-04-15 08:44:21,652 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:44:21,653 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:44:21,663 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:44:21,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1165877765] [2022-04-15 08:44:21,664 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:44:21,664 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:44:21,664 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:44:21,665 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:44:21,668 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-15 08:44:21,726 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:44:21,726 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:44:21,728 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-15 08:44:21,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:44:21,744 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:44:27,049 INFO L272 TraceCheckUtils]: 0: Hoare triple {11541#true} call ULTIMATE.init(); {11541#true} is VALID [2022-04-15 08:44:27,049 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-15 08:44:27,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:27,049 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11541#true} {11541#true} #88#return; {11541#true} is VALID [2022-04-15 08:44:27,049 INFO L272 TraceCheckUtils]: 4: Hoare triple {11541#true} call #t~ret6 := main(); {11541#true} is VALID [2022-04-15 08:44:27,049 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-15 08:44:27,049 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-15 08:44:27,049 INFO L290 TraceCheckUtils]: 7: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:27,049 INFO L290 TraceCheckUtils]: 8: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:27,050 INFO L290 TraceCheckUtils]: 9: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:27,050 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11541#true} {11541#true} #66#return; {11541#true} is VALID [2022-04-15 08:44:27,050 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-15 08:44:27,050 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-15 08:44:27,050 INFO L290 TraceCheckUtils]: 13: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:27,050 INFO L290 TraceCheckUtils]: 14: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:27,050 INFO L290 TraceCheckUtils]: 15: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:27,050 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11541#true} {11541#true} #68#return; {11541#true} is VALID [2022-04-15 08:44:27,050 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-15 08:44:27,051 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-15 08:44:27,051 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-15 08:44:27,051 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-15 08:44:27,052 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-15 08:44:27,052 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-15 08:44:27,052 INFO L290 TraceCheckUtils]: 23: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:27,052 INFO L290 TraceCheckUtils]: 24: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:27,052 INFO L290 TraceCheckUtils]: 25: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:27,053 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11541#true} {11611#(<= 1 main_~x~0)} #72#return; {11611#(<= 1 main_~x~0)} is VALID [2022-04-15 08:44:27,053 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-15 08:44:27,054 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-15 08:44:27,054 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-15 08:44:27,054 INFO L290 TraceCheckUtils]: 30: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:27,054 INFO L290 TraceCheckUtils]: 31: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:27,054 INFO L290 TraceCheckUtils]: 32: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:27,055 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-15 08:44:27,055 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-15 08:44:27,055 INFO L290 TraceCheckUtils]: 35: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:27,055 INFO L290 TraceCheckUtils]: 36: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:27,055 INFO L290 TraceCheckUtils]: 37: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:27,056 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-15 08:44:27,056 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-15 08:44:27,056 INFO L290 TraceCheckUtils]: 40: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:27,056 INFO L290 TraceCheckUtils]: 41: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:27,056 INFO L290 TraceCheckUtils]: 42: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:27,057 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-15 08:44:27,057 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-15 08:44:27,058 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-15 08:44:27,059 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-15 08:44:27,059 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-15 08:44:27,059 INFO L290 TraceCheckUtils]: 48: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:27,059 INFO L290 TraceCheckUtils]: 49: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:27,059 INFO L290 TraceCheckUtils]: 50: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:27,060 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-15 08:44:27,060 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-15 08:44:27,060 INFO L290 TraceCheckUtils]: 53: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:27,060 INFO L290 TraceCheckUtils]: 54: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:27,060 INFO L290 TraceCheckUtils]: 55: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:27,061 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-15 08:44:27,061 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-15 08:44:27,061 INFO L290 TraceCheckUtils]: 58: Hoare triple {11541#true} ~cond := #in~cond; {11725#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:44:27,062 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-15 08:44:27,062 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-15 08:44:27,063 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-15 08:44:27,064 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-15 08:44:27,067 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-15 08:44:27,067 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-15 08:44:27,068 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-15 08:44:27,068 INFO L290 TraceCheckUtils]: 66: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:27,068 INFO L290 TraceCheckUtils]: 67: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:27,068 INFO L290 TraceCheckUtils]: 68: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:27,069 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-15 08:44:27,069 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-15 08:44:27,069 INFO L290 TraceCheckUtils]: 71: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:27,069 INFO L290 TraceCheckUtils]: 72: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:27,069 INFO L290 TraceCheckUtils]: 73: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:27,070 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-15 08:44:27,073 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-15 08:44:27,073 INFO L290 TraceCheckUtils]: 76: Hoare triple {11780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:44:27,074 INFO L290 TraceCheckUtils]: 77: Hoare triple {11784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11542#false} is VALID [2022-04-15 08:44:27,074 INFO L290 TraceCheckUtils]: 78: Hoare triple {11542#false} assume !false; {11542#false} is VALID [2022-04-15 08:44:27,074 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-15 08:44:27,074 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:44:55,206 INFO L290 TraceCheckUtils]: 78: Hoare triple {11542#false} assume !false; {11542#false} is VALID [2022-04-15 08:44:55,207 INFO L290 TraceCheckUtils]: 77: Hoare triple {11784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11542#false} is VALID [2022-04-15 08:44:55,207 INFO L290 TraceCheckUtils]: 76: Hoare triple {11780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:44:55,208 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-15 08:44:55,208 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-15 08:44:55,208 INFO L290 TraceCheckUtils]: 73: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:55,208 INFO L290 TraceCheckUtils]: 72: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:55,208 INFO L290 TraceCheckUtils]: 71: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:55,208 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-15 08:44:55,209 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-15 08:44:55,209 INFO L290 TraceCheckUtils]: 68: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:55,209 INFO L290 TraceCheckUtils]: 67: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:55,209 INFO L290 TraceCheckUtils]: 66: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:55,209 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-15 08:44:55,210 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-15 08:44:55,333 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-15 08:44:55,334 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-15 08:44:55,335 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-15 08:44:55,335 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-15 08:44:55,335 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-15 08:44:55,336 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-15 08:44:55,336 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-15 08:44:55,336 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-15 08:44:55,336 INFO L290 TraceCheckUtils]: 55: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:55,336 INFO L290 TraceCheckUtils]: 54: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:55,336 INFO L290 TraceCheckUtils]: 53: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:55,337 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-15 08:44:55,337 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-15 08:44:55,337 INFO L290 TraceCheckUtils]: 50: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:55,337 INFO L290 TraceCheckUtils]: 49: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:55,337 INFO L290 TraceCheckUtils]: 48: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:55,337 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-15 08:44:55,338 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-15 08:44:57,339 WARN L290 TraceCheckUtils]: 45: Hoare triple {11894#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is UNKNOWN [2022-04-15 08:44:57,340 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-15 08:44:57,341 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-15 08:44:57,341 INFO L290 TraceCheckUtils]: 42: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:57,341 INFO L290 TraceCheckUtils]: 41: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:57,341 INFO L290 TraceCheckUtils]: 40: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:57,341 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-15 08:44:57,342 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-15 08:44:57,342 INFO L290 TraceCheckUtils]: 37: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:57,342 INFO L290 TraceCheckUtils]: 36: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:57,342 INFO L290 TraceCheckUtils]: 35: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:57,342 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-15 08:44:57,343 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-15 08:44:57,343 INFO L290 TraceCheckUtils]: 32: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:57,343 INFO L290 TraceCheckUtils]: 31: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:57,343 INFO L290 TraceCheckUtils]: 30: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:57,343 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-15 08:44:57,343 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-15 08:44:57,344 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-15 08:44:57,344 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11541#true} {11541#true} #72#return; {11541#true} is VALID [2022-04-15 08:44:57,344 INFO L290 TraceCheckUtils]: 25: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:57,344 INFO L290 TraceCheckUtils]: 24: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:57,344 INFO L290 TraceCheckUtils]: 23: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:57,344 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-15 08:44:57,344 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11541#true} {11541#true} #70#return; {11541#true} is VALID [2022-04-15 08:44:57,344 INFO L290 TraceCheckUtils]: 20: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:57,344 INFO L290 TraceCheckUtils]: 19: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:57,344 INFO L290 TraceCheckUtils]: 18: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:57,344 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-15 08:44:57,344 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11541#true} {11541#true} #68#return; {11541#true} is VALID [2022-04-15 08:44:57,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:57,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:57,345 INFO L290 TraceCheckUtils]: 13: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:57,345 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-15 08:44:57,345 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-15 08:44:57,345 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11541#true} {11541#true} #66#return; {11541#true} is VALID [2022-04-15 08:44:57,345 INFO L290 TraceCheckUtils]: 9: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:57,345 INFO L290 TraceCheckUtils]: 8: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 08:44:57,345 INFO L290 TraceCheckUtils]: 7: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 08:44:57,345 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-15 08:44:57,345 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-15 08:44:57,345 INFO L272 TraceCheckUtils]: 4: Hoare triple {11541#true} call #t~ret6 := main(); {11541#true} is VALID [2022-04-15 08:44:57,345 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11541#true} {11541#true} #88#return; {11541#true} is VALID [2022-04-15 08:44:57,345 INFO L290 TraceCheckUtils]: 2: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 08:44:57,345 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-15 08:44:57,345 INFO L272 TraceCheckUtils]: 0: Hoare triple {11541#true} call ULTIMATE.init(); {11541#true} is VALID [2022-04-15 08:44:57,346 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-15 08:44:57,346 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:44:57,346 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [988574832] [2022-04-15 08:44:57,346 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:44:57,346 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1165877765] [2022-04-15 08:44:57,346 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1165877765] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:44:57,346 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:44:57,346 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-15 08:44:57,346 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:44:57,346 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1653739552] [2022-04-15 08:44:57,346 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1653739552] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:44:57,346 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:44:57,346 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 08:44:57,346 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [931998912] [2022-04-15 08:44:57,346 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:44:57,347 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-15 08:44:57,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:44:57,347 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:44:57,398 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:44:57,398 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 08:44:57,398 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:44:57,399 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 08:44:57,399 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-04-15 08:44:57,399 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-15 08:44:59,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:44:59,626 INFO L93 Difference]: Finished difference Result 171 states and 198 transitions. [2022-04-15 08:44:59,626 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 08:44:59,626 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-15 08:44:59,626 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:44:59,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:44:59,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 69 transitions. [2022-04-15 08:44:59,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:44:59,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 69 transitions. [2022-04-15 08:44:59,629 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 69 transitions. [2022-04-15 08:44:59,717 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:44:59,721 INFO L225 Difference]: With dead ends: 171 [2022-04-15 08:44:59,721 INFO L226 Difference]: Without dead ends: 169 [2022-04-15 08:44:59,721 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 140 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-15 08:44:59,722 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 21 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 342 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 359 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 342 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-15 08:44:59,722 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 148 Invalid, 359 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 342 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 08:44:59,722 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states. [2022-04-15 08:44:59,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 159. [2022-04-15 08:44:59,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:44:59,872 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-15 08:44:59,873 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-15 08:44:59,873 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-15 08:44:59,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:44:59,877 INFO L93 Difference]: Finished difference Result 169 states and 196 transitions. [2022-04-15 08:44:59,877 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 196 transitions. [2022-04-15 08:44:59,877 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:44:59,878 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:44:59,878 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-15 08:44:59,878 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-15 08:44:59,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:44:59,882 INFO L93 Difference]: Finished difference Result 169 states and 196 transitions. [2022-04-15 08:44:59,882 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 196 transitions. [2022-04-15 08:44:59,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:44:59,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:44:59,883 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:44:59,883 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:44:59,883 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-15 08:44:59,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 159 states to 159 states and 183 transitions. [2022-04-15 08:44:59,887 INFO L78 Accepts]: Start accepts. Automaton has 159 states and 183 transitions. Word has length 79 [2022-04-15 08:44:59,887 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:44:59,887 INFO L478 AbstractCegarLoop]: Abstraction has 159 states and 183 transitions. [2022-04-15 08:44:59,888 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:44:59,888 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 159 states and 183 transitions. [2022-04-15 08:45:00,326 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:45:00,326 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 183 transitions. [2022-04-15 08:45:00,327 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-15 08:45:00,327 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:45:00,327 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:45:00,349 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-15 08:45:00,543 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-15 08:45:00,543 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:45:00,544 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:45:00,544 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 7 times [2022-04-15 08:45:00,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:45:00,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2110847360] [2022-04-15 08:45:00,544 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:45:00,544 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 8 times [2022-04-15 08:45:00,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:45:00,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1952148835] [2022-04-15 08:45:00,545 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:45:00,545 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:45:00,561 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:45:00,561 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [247036043] [2022-04-15 08:45:00,561 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:45:00,561 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:45:00,561 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:45:00,564 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:45:00,565 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-15 08:45:00,621 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:45:00,621 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:45:00,623 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-15 08:45:00,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:45:00,643 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:45:02,948 INFO L272 TraceCheckUtils]: 0: Hoare triple {13036#true} call ULTIMATE.init(); {13036#true} is VALID [2022-04-15 08:45:02,948 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-15 08:45:02,948 INFO L290 TraceCheckUtils]: 2: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:02,948 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13036#true} {13036#true} #88#return; {13036#true} is VALID [2022-04-15 08:45:02,948 INFO L272 TraceCheckUtils]: 4: Hoare triple {13036#true} call #t~ret6 := main(); {13036#true} is VALID [2022-04-15 08:45:02,948 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-15 08:45:02,948 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-15 08:45:02,948 INFO L290 TraceCheckUtils]: 7: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:02,949 INFO L290 TraceCheckUtils]: 8: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:02,949 INFO L290 TraceCheckUtils]: 9: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:02,949 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13036#true} {13036#true} #66#return; {13036#true} is VALID [2022-04-15 08:45:02,949 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-15 08:45:02,949 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-15 08:45:02,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:02,949 INFO L290 TraceCheckUtils]: 14: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:02,949 INFO L290 TraceCheckUtils]: 15: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:02,949 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13036#true} {13036#true} #68#return; {13036#true} is VALID [2022-04-15 08:45:02,949 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-15 08:45:02,950 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-15 08:45:02,950 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-15 08:45:02,950 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-15 08:45:02,951 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-15 08:45:02,951 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-15 08:45:02,951 INFO L290 TraceCheckUtils]: 23: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:02,951 INFO L290 TraceCheckUtils]: 24: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:02,951 INFO L290 TraceCheckUtils]: 25: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:02,952 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13036#true} {13106#(<= 1 main_~x~0)} #72#return; {13106#(<= 1 main_~x~0)} is VALID [2022-04-15 08:45:02,952 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-15 08:45:02,953 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-15 08:45:02,953 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-15 08:45:02,953 INFO L290 TraceCheckUtils]: 30: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:02,953 INFO L290 TraceCheckUtils]: 31: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:02,953 INFO L290 TraceCheckUtils]: 32: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:02,954 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-15 08:45:02,954 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-15 08:45:02,954 INFO L290 TraceCheckUtils]: 35: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:02,954 INFO L290 TraceCheckUtils]: 36: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:02,954 INFO L290 TraceCheckUtils]: 37: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:02,955 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-15 08:45:02,955 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-15 08:45:02,955 INFO L290 TraceCheckUtils]: 40: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:02,955 INFO L290 TraceCheckUtils]: 41: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:02,955 INFO L290 TraceCheckUtils]: 42: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:02,956 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-15 08:45:02,957 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-15 08:45:02,958 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-15 08:45:02,958 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-15 08:45:02,958 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-15 08:45:02,958 INFO L290 TraceCheckUtils]: 48: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:02,958 INFO L290 TraceCheckUtils]: 49: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:02,959 INFO L290 TraceCheckUtils]: 50: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:02,959 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-15 08:45:02,959 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-15 08:45:02,959 INFO L290 TraceCheckUtils]: 53: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:02,960 INFO L290 TraceCheckUtils]: 54: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:02,960 INFO L290 TraceCheckUtils]: 55: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:02,960 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-15 08:45:02,960 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-15 08:45:02,961 INFO L290 TraceCheckUtils]: 58: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:02,961 INFO L290 TraceCheckUtils]: 59: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:02,961 INFO L290 TraceCheckUtils]: 60: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:02,961 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-15 08:45:02,962 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-15 08:45:02,963 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-15 08:45:02,964 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-15 08:45:02,964 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-15 08:45:02,964 INFO L290 TraceCheckUtils]: 66: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:02,964 INFO L290 TraceCheckUtils]: 67: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:02,964 INFO L290 TraceCheckUtils]: 68: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:02,965 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-15 08:45:02,965 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-15 08:45:02,966 INFO L290 TraceCheckUtils]: 71: Hoare triple {13036#true} ~cond := #in~cond; {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:45:02,966 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-15 08:45:02,966 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-15 08:45:02,967 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-15 08:45:02,967 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-15 08:45:02,968 INFO L290 TraceCheckUtils]: 76: Hoare triple {13036#true} ~cond := #in~cond; {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:45:02,968 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-15 08:45:02,968 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-15 08:45:02,969 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-15 08:45:02,970 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-15 08:45:02,976 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-15 08:45:02,977 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-15 08:45:02,977 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-15 08:45:02,977 INFO L290 TraceCheckUtils]: 84: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:02,977 INFO L290 TraceCheckUtils]: 85: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:02,977 INFO L290 TraceCheckUtils]: 86: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:02,978 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-15 08:45:02,982 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-15 08:45:02,982 INFO L290 TraceCheckUtils]: 89: Hoare triple {13315#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13319#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:45:02,982 INFO L290 TraceCheckUtils]: 90: Hoare triple {13319#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13037#false} is VALID [2022-04-15 08:45:02,982 INFO L290 TraceCheckUtils]: 91: Hoare triple {13037#false} assume !false; {13037#false} is VALID [2022-04-15 08:45:02,983 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 66 proven. 38 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2022-04-15 08:45:02,983 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:45:27,849 INFO L290 TraceCheckUtils]: 91: Hoare triple {13037#false} assume !false; {13037#false} is VALID [2022-04-15 08:45:27,849 INFO L290 TraceCheckUtils]: 90: Hoare triple {13319#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13037#false} is VALID [2022-04-15 08:45:27,850 INFO L290 TraceCheckUtils]: 89: Hoare triple {13315#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13319#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:45:27,850 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-15 08:45:27,851 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-15 08:45:27,851 INFO L290 TraceCheckUtils]: 86: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:27,851 INFO L290 TraceCheckUtils]: 85: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:27,851 INFO L290 TraceCheckUtils]: 84: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:27,851 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-15 08:45:27,852 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-15 08:45:28,268 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-15 08:45:28,268 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-15 08:45:28,269 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-15 08:45:28,270 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-15 08:45:28,270 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-15 08:45:28,270 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-15 08:45:28,270 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-15 08:45:28,271 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-15 08:45:28,272 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-15 08:45:28,272 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-15 08:45:28,272 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-15 08:45:28,272 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-15 08:45:28,272 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13036#true} {13036#true} #74#return; {13036#true} is VALID [2022-04-15 08:45:28,272 INFO L290 TraceCheckUtils]: 68: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:28,272 INFO L290 TraceCheckUtils]: 67: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:28,272 INFO L290 TraceCheckUtils]: 66: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:28,273 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-15 08:45:28,273 INFO L290 TraceCheckUtils]: 64: Hoare triple {13036#true} assume !false; {13036#true} is VALID [2022-04-15 08:45:28,273 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-15 08:45:28,273 INFO L290 TraceCheckUtils]: 62: Hoare triple {13036#true} assume !!(~a~0 != ~b~0); {13036#true} is VALID [2022-04-15 08:45:28,273 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13036#true} {13036#true} #78#return; {13036#true} is VALID [2022-04-15 08:45:28,273 INFO L290 TraceCheckUtils]: 60: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:28,273 INFO L290 TraceCheckUtils]: 59: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:28,273 INFO L290 TraceCheckUtils]: 58: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:28,273 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-15 08:45:28,273 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13036#true} {13036#true} #76#return; {13036#true} is VALID [2022-04-15 08:45:28,273 INFO L290 TraceCheckUtils]: 55: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:28,273 INFO L290 TraceCheckUtils]: 54: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:28,273 INFO L290 TraceCheckUtils]: 53: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:28,273 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-15 08:45:28,273 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13036#true} {13036#true} #74#return; {13036#true} is VALID [2022-04-15 08:45:28,273 INFO L290 TraceCheckUtils]: 50: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:28,273 INFO L290 TraceCheckUtils]: 49: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:28,273 INFO L290 TraceCheckUtils]: 48: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:28,274 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-15 08:45:28,274 INFO L290 TraceCheckUtils]: 46: Hoare triple {13036#true} assume !false; {13036#true} is VALID [2022-04-15 08:45:28,274 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-15 08:45:28,274 INFO L290 TraceCheckUtils]: 44: Hoare triple {13036#true} assume !!(~a~0 != ~b~0); {13036#true} is VALID [2022-04-15 08:45:28,274 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13036#true} {13036#true} #78#return; {13036#true} is VALID [2022-04-15 08:45:28,274 INFO L290 TraceCheckUtils]: 42: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:28,274 INFO L290 TraceCheckUtils]: 41: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:28,274 INFO L290 TraceCheckUtils]: 40: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:28,274 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-15 08:45:28,274 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13036#true} {13036#true} #76#return; {13036#true} is VALID [2022-04-15 08:45:28,274 INFO L290 TraceCheckUtils]: 37: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:28,274 INFO L290 TraceCheckUtils]: 36: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:28,275 INFO L290 TraceCheckUtils]: 35: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:28,275 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-15 08:45:28,275 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13036#true} {13036#true} #74#return; {13036#true} is VALID [2022-04-15 08:45:28,275 INFO L290 TraceCheckUtils]: 32: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:28,275 INFO L290 TraceCheckUtils]: 31: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:28,275 INFO L290 TraceCheckUtils]: 30: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:28,275 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-15 08:45:28,275 INFO L290 TraceCheckUtils]: 28: Hoare triple {13036#true} assume !false; {13036#true} is VALID [2022-04-15 08:45:28,275 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-15 08:45:28,275 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13036#true} {13036#true} #72#return; {13036#true} is VALID [2022-04-15 08:45:28,276 INFO L290 TraceCheckUtils]: 25: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:28,276 INFO L290 TraceCheckUtils]: 24: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:28,276 INFO L290 TraceCheckUtils]: 23: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:28,276 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-15 08:45:28,276 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13036#true} {13036#true} #70#return; {13036#true} is VALID [2022-04-15 08:45:28,276 INFO L290 TraceCheckUtils]: 20: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:28,276 INFO L290 TraceCheckUtils]: 19: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:28,276 INFO L290 TraceCheckUtils]: 18: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:28,276 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-15 08:45:28,276 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13036#true} {13036#true} #68#return; {13036#true} is VALID [2022-04-15 08:45:28,276 INFO L290 TraceCheckUtils]: 15: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:28,276 INFO L290 TraceCheckUtils]: 14: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:28,276 INFO L290 TraceCheckUtils]: 13: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:28,277 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-15 08:45:28,277 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-15 08:45:28,277 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13036#true} {13036#true} #66#return; {13036#true} is VALID [2022-04-15 08:45:28,277 INFO L290 TraceCheckUtils]: 9: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:28,277 INFO L290 TraceCheckUtils]: 8: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 08:45:28,277 INFO L290 TraceCheckUtils]: 7: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 08:45:28,277 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-15 08:45:28,277 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-15 08:45:28,277 INFO L272 TraceCheckUtils]: 4: Hoare triple {13036#true} call #t~ret6 := main(); {13036#true} is VALID [2022-04-15 08:45:28,277 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13036#true} {13036#true} #88#return; {13036#true} is VALID [2022-04-15 08:45:28,277 INFO L290 TraceCheckUtils]: 2: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 08:45:28,277 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-15 08:45:28,278 INFO L272 TraceCheckUtils]: 0: Hoare triple {13036#true} call ULTIMATE.init(); {13036#true} is VALID [2022-04-15 08:45:28,278 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 75 proven. 8 refuted. 0 times theorem prover too weak. 168 trivial. 0 not checked. [2022-04-15 08:45:28,278 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:45:28,278 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1952148835] [2022-04-15 08:45:28,278 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:45:28,278 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [247036043] [2022-04-15 08:45:28,278 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [247036043] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:45:28,278 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:45:28,279 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-15 08:45:28,279 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:45:28,279 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2110847360] [2022-04-15 08:45:28,279 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2110847360] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:45:28,279 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:45:28,279 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 08:45:28,279 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1449345563] [2022-04-15 08:45:28,279 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:45:28,280 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-15 08:45:28,280 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:45:28,280 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-15 08:45:28,355 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:45:28,355 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 08:45:28,355 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:45:28,355 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 08:45:28,356 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-04-15 08:45:28,356 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-15 08:45:35,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:45:35,258 INFO L93 Difference]: Finished difference Result 189 states and 221 transitions. [2022-04-15 08:45:35,258 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 08:45:35,259 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-15 08:45:35,259 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:45:35,269 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-15 08:45:35,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-15 08:45:35,272 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-15 08:45:35,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-15 08:45:35,273 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 79 transitions. [2022-04-15 08:45:35,362 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:45:35,366 INFO L225 Difference]: With dead ends: 189 [2022-04-15 08:45:35,366 INFO L226 Difference]: Without dead ends: 187 [2022-04-15 08:45:35,366 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 165 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 72 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-15 08:45:35,366 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 24 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 501 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 524 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 501 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.1s IncrementalHoareTripleChecker+Time [2022-04-15 08:45:35,367 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.1s Time] [2022-04-15 08:45:35,367 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 187 states. [2022-04-15 08:45:35,535 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 187 to 187. [2022-04-15 08:45:35,535 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:45:35,535 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-15 08:45:35,536 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-15 08:45:35,536 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-15 08:45:35,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:45:35,541 INFO L93 Difference]: Finished difference Result 187 states and 219 transitions. [2022-04-15 08:45:35,541 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 219 transitions. [2022-04-15 08:45:35,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:45:35,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:45:35,542 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-15 08:45:35,542 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-15 08:45:35,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:45:35,546 INFO L93 Difference]: Finished difference Result 187 states and 219 transitions. [2022-04-15 08:45:35,546 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 219 transitions. [2022-04-15 08:45:35,547 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:45:35,547 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:45:35,547 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:45:35,547 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:45:35,548 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-15 08:45:35,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 187 states to 187 states and 219 transitions. [2022-04-15 08:45:35,553 INFO L78 Accepts]: Start accepts. Automaton has 187 states and 219 transitions. Word has length 92 [2022-04-15 08:45:35,553 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:45:35,553 INFO L478 AbstractCegarLoop]: Abstraction has 187 states and 219 transitions. [2022-04-15 08:45:35,553 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-15 08:45:35,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 187 states and 219 transitions. [2022-04-15 08:45:36,062 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-15 08:45:36,062 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 219 transitions. [2022-04-15 08:45:36,063 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-15 08:45:36,063 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:45:36,063 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:45:36,079 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-15 08:45:36,263 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:45:36,263 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:45:36,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:45:36,264 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 9 times [2022-04-15 08:45:36,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:45:36,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1144017702] [2022-04-15 08:45:36,264 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:45:36,264 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 10 times [2022-04-15 08:45:36,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:45:36,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1999689593] [2022-04-15 08:45:36,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:45:36,265 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:45:36,280 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:45:36,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1406932714] [2022-04-15 08:45:36,280 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:45:36,280 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:45:36,281 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:45:36,281 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:45:36,282 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-15 08:45:36,327 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:45:36,328 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:45:36,329 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 56 conjunts are in the unsatisfiable core [2022-04-15 08:45:36,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:45:36,344 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:45:38,328 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 08:45:38,416 INFO L272 TraceCheckUtils]: 0: Hoare triple {14737#true} call ULTIMATE.init(); {14737#true} is VALID [2022-04-15 08:45:38,416 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-15 08:45:38,416 INFO L290 TraceCheckUtils]: 2: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:45:38,416 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14737#true} {14737#true} #88#return; {14737#true} is VALID [2022-04-15 08:45:38,416 INFO L272 TraceCheckUtils]: 4: Hoare triple {14737#true} call #t~ret6 := main(); {14737#true} is VALID [2022-04-15 08:45:38,416 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-15 08:45:38,416 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-15 08:45:38,416 INFO L290 TraceCheckUtils]: 7: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:45:38,416 INFO L290 TraceCheckUtils]: 8: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:45:38,416 INFO L290 TraceCheckUtils]: 9: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:45:38,416 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14737#true} {14737#true} #66#return; {14737#true} is VALID [2022-04-15 08:45:38,416 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-15 08:45:38,416 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-15 08:45:38,417 INFO L290 TraceCheckUtils]: 13: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:45:38,417 INFO L290 TraceCheckUtils]: 14: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:45:38,417 INFO L290 TraceCheckUtils]: 15: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:45:38,417 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14737#true} {14737#true} #68#return; {14737#true} is VALID [2022-04-15 08:45:38,417 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-15 08:45:38,417 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-15 08:45:38,417 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-15 08:45:38,418 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-15 08:45:38,418 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-15 08:45:38,418 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-15 08:45:38,418 INFO L290 TraceCheckUtils]: 23: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:45:38,418 INFO L290 TraceCheckUtils]: 24: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:45:38,418 INFO L290 TraceCheckUtils]: 25: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:45:38,419 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14737#true} {14807#(<= 1 main_~x~0)} #72#return; {14807#(<= 1 main_~x~0)} is VALID [2022-04-15 08:45:38,419 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-15 08:45:38,419 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-15 08:45:38,419 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-15 08:45:38,419 INFO L290 TraceCheckUtils]: 30: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:45:38,420 INFO L290 TraceCheckUtils]: 31: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:45:38,420 INFO L290 TraceCheckUtils]: 32: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:45:38,420 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-15 08:45:38,420 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-15 08:45:38,420 INFO L290 TraceCheckUtils]: 35: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:45:38,420 INFO L290 TraceCheckUtils]: 36: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:45:38,420 INFO L290 TraceCheckUtils]: 37: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:45:38,421 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-15 08:45:38,421 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-15 08:45:38,421 INFO L290 TraceCheckUtils]: 40: Hoare triple {14737#true} ~cond := #in~cond; {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:45:38,422 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-15 08:45:38,426 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-15 08:45:38,426 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-15 08:45:38,427 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-15 08:45:38,427 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-15 08:45:38,428 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-15 08:45:38,428 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-15 08:45:38,428 INFO L290 TraceCheckUtils]: 48: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:45:38,428 INFO L290 TraceCheckUtils]: 49: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:45:38,428 INFO L290 TraceCheckUtils]: 50: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:45:38,429 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-15 08:45:38,429 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-15 08:45:38,429 INFO L290 TraceCheckUtils]: 53: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:45:38,429 INFO L290 TraceCheckUtils]: 54: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:45:38,429 INFO L290 TraceCheckUtils]: 55: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:45:38,430 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-15 08:45:38,430 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-15 08:45:38,430 INFO L290 TraceCheckUtils]: 58: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:45:38,430 INFO L290 TraceCheckUtils]: 59: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:45:38,430 INFO L290 TraceCheckUtils]: 60: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:45:38,430 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-15 08:45:38,431 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-15 08:45:38,432 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-15 08:45:38,432 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-15 08:45:38,432 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-15 08:45:38,432 INFO L290 TraceCheckUtils]: 66: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:45:38,432 INFO L290 TraceCheckUtils]: 67: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:45:38,432 INFO L290 TraceCheckUtils]: 68: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:45:38,433 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-15 08:45:38,433 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-15 08:45:38,433 INFO L290 TraceCheckUtils]: 71: Hoare triple {14737#true} ~cond := #in~cond; {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:45:38,434 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-15 08:45:38,434 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-15 08:45:38,434 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-15 08:45:38,435 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-15 08:45:38,435 INFO L290 TraceCheckUtils]: 76: Hoare triple {14737#true} ~cond := #in~cond; {14866#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:45:38,435 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-15 08:45:38,435 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-15 08:45:38,436 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-15 08:45:38,436 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-15 08:45:38,438 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-15 08:45:38,438 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-15 08:45:38,438 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-15 08:45:38,438 INFO L290 TraceCheckUtils]: 84: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:45:38,439 INFO L290 TraceCheckUtils]: 85: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:45:38,439 INFO L290 TraceCheckUtils]: 86: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:45:38,439 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-15 08:45:38,442 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-15 08:45:38,442 INFO L290 TraceCheckUtils]: 89: Hoare triple {15016#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15020#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:45:38,443 INFO L290 TraceCheckUtils]: 90: Hoare triple {15020#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14738#false} is VALID [2022-04-15 08:45:38,443 INFO L290 TraceCheckUtils]: 91: Hoare triple {14738#false} assume !false; {14738#false} is VALID [2022-04-15 08:45:38,443 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-15 08:45:38,443 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:46:14,020 INFO L290 TraceCheckUtils]: 91: Hoare triple {14738#false} assume !false; {14738#false} is VALID [2022-04-15 08:46:14,021 INFO L290 TraceCheckUtils]: 90: Hoare triple {15020#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14738#false} is VALID [2022-04-15 08:46:14,021 INFO L290 TraceCheckUtils]: 89: Hoare triple {15016#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15020#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:46:14,022 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-15 08:46:14,022 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-15 08:46:14,023 INFO L290 TraceCheckUtils]: 86: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:46:14,023 INFO L290 TraceCheckUtils]: 85: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:46:14,023 INFO L290 TraceCheckUtils]: 84: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:46:14,023 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-15 08:46:14,023 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-15 08:46:15,192 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-15 08:46:15,193 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-15 08:46:15,193 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-15 08:46:15,194 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-15 08:46:15,194 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-15 08:46:15,194 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-15 08:46:15,194 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-15 08:46:15,195 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-15 08:46:15,196 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-15 08:46:15,196 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-15 08:46:15,196 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-15 08:46:15,196 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-15 08:46:15,196 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14737#true} {14737#true} #74#return; {14737#true} is VALID [2022-04-15 08:46:15,197 INFO L290 TraceCheckUtils]: 68: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:46:15,197 INFO L290 TraceCheckUtils]: 67: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:46:15,197 INFO L290 TraceCheckUtils]: 66: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:46:15,197 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-15 08:46:15,197 INFO L290 TraceCheckUtils]: 64: Hoare triple {14737#true} assume !false; {14737#true} is VALID [2022-04-15 08:46:15,197 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-15 08:46:15,197 INFO L290 TraceCheckUtils]: 62: Hoare triple {14737#true} assume !!(~a~0 != ~b~0); {14737#true} is VALID [2022-04-15 08:46:15,197 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14737#true} {14737#true} #78#return; {14737#true} is VALID [2022-04-15 08:46:15,197 INFO L290 TraceCheckUtils]: 60: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:46:15,197 INFO L290 TraceCheckUtils]: 59: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:46:15,197 INFO L290 TraceCheckUtils]: 58: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:46:15,197 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-15 08:46:15,197 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14737#true} {14737#true} #76#return; {14737#true} is VALID [2022-04-15 08:46:15,197 INFO L290 TraceCheckUtils]: 55: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:46:15,197 INFO L290 TraceCheckUtils]: 54: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:46:15,197 INFO L290 TraceCheckUtils]: 53: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:46:15,198 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-15 08:46:15,198 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14737#true} {14737#true} #74#return; {14737#true} is VALID [2022-04-15 08:46:15,198 INFO L290 TraceCheckUtils]: 50: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:46:15,198 INFO L290 TraceCheckUtils]: 49: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:46:15,198 INFO L290 TraceCheckUtils]: 48: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:46:15,198 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-15 08:46:15,198 INFO L290 TraceCheckUtils]: 46: Hoare triple {14737#true} assume !false; {14737#true} is VALID [2022-04-15 08:46:15,198 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-15 08:46:15,198 INFO L290 TraceCheckUtils]: 44: Hoare triple {14737#true} assume !!(~a~0 != ~b~0); {14737#true} is VALID [2022-04-15 08:46:15,198 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {14737#true} {14737#true} #78#return; {14737#true} is VALID [2022-04-15 08:46:15,198 INFO L290 TraceCheckUtils]: 42: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:46:15,199 INFO L290 TraceCheckUtils]: 41: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:46:15,199 INFO L290 TraceCheckUtils]: 40: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:46:15,199 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-15 08:46:15,199 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14737#true} {14737#true} #76#return; {14737#true} is VALID [2022-04-15 08:46:15,199 INFO L290 TraceCheckUtils]: 37: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:46:15,199 INFO L290 TraceCheckUtils]: 36: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:46:15,199 INFO L290 TraceCheckUtils]: 35: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:46:15,199 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-15 08:46:15,199 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14737#true} {14737#true} #74#return; {14737#true} is VALID [2022-04-15 08:46:15,199 INFO L290 TraceCheckUtils]: 32: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:46:15,199 INFO L290 TraceCheckUtils]: 31: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:46:15,200 INFO L290 TraceCheckUtils]: 30: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:46:15,200 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-15 08:46:15,200 INFO L290 TraceCheckUtils]: 28: Hoare triple {14737#true} assume !false; {14737#true} is VALID [2022-04-15 08:46:15,200 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-15 08:46:15,200 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14737#true} {14737#true} #72#return; {14737#true} is VALID [2022-04-15 08:46:15,200 INFO L290 TraceCheckUtils]: 25: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:46:15,200 INFO L290 TraceCheckUtils]: 24: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:46:15,200 INFO L290 TraceCheckUtils]: 23: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:46:15,200 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-15 08:46:15,200 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14737#true} {14737#true} #70#return; {14737#true} is VALID [2022-04-15 08:46:15,200 INFO L290 TraceCheckUtils]: 20: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:46:15,200 INFO L290 TraceCheckUtils]: 19: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:46:15,201 INFO L290 TraceCheckUtils]: 18: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:46:15,201 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-15 08:46:15,201 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14737#true} {14737#true} #68#return; {14737#true} is VALID [2022-04-15 08:46:15,201 INFO L290 TraceCheckUtils]: 15: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:46:15,201 INFO L290 TraceCheckUtils]: 14: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:46:15,201 INFO L290 TraceCheckUtils]: 13: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:46:15,201 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-15 08:46:15,201 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-15 08:46:15,201 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14737#true} {14737#true} #66#return; {14737#true} is VALID [2022-04-15 08:46:15,201 INFO L290 TraceCheckUtils]: 9: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:46:15,201 INFO L290 TraceCheckUtils]: 8: Hoare triple {14737#true} assume !(0 == ~cond); {14737#true} is VALID [2022-04-15 08:46:15,201 INFO L290 TraceCheckUtils]: 7: Hoare triple {14737#true} ~cond := #in~cond; {14737#true} is VALID [2022-04-15 08:46:15,201 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-15 08:46:15,202 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-15 08:46:15,202 INFO L272 TraceCheckUtils]: 4: Hoare triple {14737#true} call #t~ret6 := main(); {14737#true} is VALID [2022-04-15 08:46:15,202 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14737#true} {14737#true} #88#return; {14737#true} is VALID [2022-04-15 08:46:15,202 INFO L290 TraceCheckUtils]: 2: Hoare triple {14737#true} assume true; {14737#true} is VALID [2022-04-15 08:46:15,202 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-15 08:46:15,202 INFO L272 TraceCheckUtils]: 0: Hoare triple {14737#true} call ULTIMATE.init(); {14737#true} is VALID [2022-04-15 08:46:15,202 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 75 proven. 8 refuted. 0 times theorem prover too weak. 168 trivial. 0 not checked. [2022-04-15 08:46:15,202 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:46:15,203 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1999689593] [2022-04-15 08:46:15,203 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:46:15,203 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1406932714] [2022-04-15 08:46:15,203 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1406932714] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:46:15,203 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:46:15,203 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-15 08:46:15,203 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:46:15,203 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1144017702] [2022-04-15 08:46:15,203 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1144017702] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:46:15,203 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:46:15,204 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 08:46:15,204 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [908811699] [2022-04-15 08:46:15,204 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:46:15,204 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-15 08:46:15,204 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:46:15,205 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-15 08:46:15,268 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:46:15,268 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 08:46:15,268 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:46:15,269 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 08:46:15,269 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=247, Unknown=0, NotChecked=0, Total=306 [2022-04-15 08:46:15,269 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-15 08:46:17,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:46:17,418 INFO L93 Difference]: Finished difference Result 224 states and 261 transitions. [2022-04-15 08:46:17,418 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 08:46:17,419 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-15 08:46:17,419 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:46:17,419 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-15 08:46:17,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-15 08:46:17,420 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-15 08:46:17,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-15 08:46:17,422 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 79 transitions. [2022-04-15 08:46:17,515 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:46:17,519 INFO L225 Difference]: With dead ends: 224 [2022-04-15 08:46:17,519 INFO L226 Difference]: Without dead ends: 222 [2022-04-15 08:46:17,519 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-15 08:46:17,520 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 24 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 473 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 159 SdHoareTripleChecker+Invalid, 506 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 473 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-15 08:46:17,520 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.1s Time] [2022-04-15 08:46:17,520 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 222 states. [2022-04-15 08:46:17,745 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 222 to 222. [2022-04-15 08:46:17,745 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:46:17,745 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-15 08:46:17,746 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-15 08:46:17,746 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-15 08:46:17,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:46:17,752 INFO L93 Difference]: Finished difference Result 222 states and 259 transitions. [2022-04-15 08:46:17,752 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 259 transitions. [2022-04-15 08:46:17,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:46:17,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:46:17,753 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-15 08:46:17,753 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-15 08:46:17,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:46:17,759 INFO L93 Difference]: Finished difference Result 222 states and 259 transitions. [2022-04-15 08:46:17,759 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 259 transitions. [2022-04-15 08:46:17,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:46:17,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:46:17,760 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:46:17,760 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:46:17,760 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-15 08:46:17,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 259 transitions. [2022-04-15 08:46:17,767 INFO L78 Accepts]: Start accepts. Automaton has 222 states and 259 transitions. Word has length 92 [2022-04-15 08:46:17,767 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:46:17,767 INFO L478 AbstractCegarLoop]: Abstraction has 222 states and 259 transitions. [2022-04-15 08:46:17,767 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-15 08:46:17,767 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 222 states and 259 transitions. [2022-04-15 08:46:18,393 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-15 08:46:18,393 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 259 transitions. [2022-04-15 08:46:18,393 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-15 08:46:18,394 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:46:18,394 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:46:18,409 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-15 08:46:18,594 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-15 08:46:18,594 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:46:18,594 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:46:18,594 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 11 times [2022-04-15 08:46:18,595 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:46:18,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [256483966] [2022-04-15 08:46:18,595 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:46:18,595 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 12 times [2022-04-15 08:46:18,595 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:46:18,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1638139129] [2022-04-15 08:46:18,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:46:18,595 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:46:18,608 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:46:18,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1560613278] [2022-04-15 08:46:18,609 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 08:46:18,609 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:46:18,609 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:46:18,610 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:46:18,620 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-15 08:46:18,665 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 08:46:18,665 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:46:18,666 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 08:46:18,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:46:18,694 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:46:33,475 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 08:46:37,851 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 08:46:42,839 INFO L272 TraceCheckUtils]: 0: Hoare triple {16648#true} call ULTIMATE.init(); {16648#true} is VALID [2022-04-15 08:46:42,839 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-15 08:46:42,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-15 08:46:42,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16648#true} {16648#true} #88#return; {16648#true} is VALID [2022-04-15 08:46:42,839 INFO L272 TraceCheckUtils]: 4: Hoare triple {16648#true} call #t~ret6 := main(); {16648#true} is VALID [2022-04-15 08:46:42,839 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-15 08:46:42,839 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-15 08:46:42,839 INFO L290 TraceCheckUtils]: 7: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-15 08:46:42,839 INFO L290 TraceCheckUtils]: 8: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-15 08:46:42,839 INFO L290 TraceCheckUtils]: 9: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-15 08:46:42,840 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16648#true} {16648#true} #66#return; {16648#true} is VALID [2022-04-15 08:46:42,840 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-15 08:46:42,840 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-15 08:46:42,840 INFO L290 TraceCheckUtils]: 13: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-15 08:46:42,840 INFO L290 TraceCheckUtils]: 14: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-15 08:46:42,840 INFO L290 TraceCheckUtils]: 15: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-15 08:46:42,840 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16648#true} {16648#true} #68#return; {16648#true} is VALID [2022-04-15 08:46:42,840 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-15 08:46:42,840 INFO L290 TraceCheckUtils]: 18: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-15 08:46:42,840 INFO L290 TraceCheckUtils]: 19: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-15 08:46:42,840 INFO L290 TraceCheckUtils]: 20: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-15 08:46:42,840 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16648#true} {16648#true} #70#return; {16648#true} is VALID [2022-04-15 08:46:42,840 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-15 08:46:42,840 INFO L290 TraceCheckUtils]: 23: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-15 08:46:42,840 INFO L290 TraceCheckUtils]: 24: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-15 08:46:42,840 INFO L290 TraceCheckUtils]: 25: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-15 08:46:42,840 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16648#true} {16648#true} #72#return; {16648#true} is VALID [2022-04-15 08:46:42,841 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-15 08:46:42,841 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-15 08:46:42,841 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-15 08:46:42,841 INFO L290 TraceCheckUtils]: 30: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-15 08:46:42,841 INFO L290 TraceCheckUtils]: 31: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-15 08:46:42,841 INFO L290 TraceCheckUtils]: 32: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-15 08:46:42,842 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-15 08:46:42,842 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-15 08:46:42,842 INFO L290 TraceCheckUtils]: 35: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-15 08:46:42,842 INFO L290 TraceCheckUtils]: 36: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-15 08:46:42,842 INFO L290 TraceCheckUtils]: 37: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-15 08:46:42,843 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-15 08:46:42,843 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-15 08:46:42,843 INFO L290 TraceCheckUtils]: 40: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-15 08:46:42,843 INFO L290 TraceCheckUtils]: 41: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-15 08:46:42,843 INFO L290 TraceCheckUtils]: 42: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-15 08:46:42,843 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-15 08:46:42,844 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-15 08:46:42,844 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-15 08:46:42,844 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-15 08:46:42,845 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-15 08:46:42,845 INFO L290 TraceCheckUtils]: 48: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-15 08:46:42,845 INFO L290 TraceCheckUtils]: 49: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-15 08:46:42,845 INFO L290 TraceCheckUtils]: 50: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-15 08:46:42,845 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-15 08:46:42,845 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-15 08:46:42,845 INFO L290 TraceCheckUtils]: 53: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-15 08:46:42,845 INFO L290 TraceCheckUtils]: 54: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-15 08:46:42,845 INFO L290 TraceCheckUtils]: 55: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-15 08:46:42,846 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-15 08:46:42,846 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-15 08:46:42,846 INFO L290 TraceCheckUtils]: 58: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-15 08:46:42,846 INFO L290 TraceCheckUtils]: 59: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-15 08:46:42,846 INFO L290 TraceCheckUtils]: 60: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-15 08:46:42,847 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-15 08:46:42,847 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-15 08:46:42,848 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-15 08:46:42,848 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-15 08:46:42,848 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-15 08:46:42,848 INFO L290 TraceCheckUtils]: 66: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-15 08:46:42,848 INFO L290 TraceCheckUtils]: 67: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-15 08:46:42,848 INFO L290 TraceCheckUtils]: 68: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-15 08:46:42,849 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-15 08:46:42,849 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-15 08:46:42,849 INFO L290 TraceCheckUtils]: 71: Hoare triple {16648#true} ~cond := #in~cond; {16648#true} is VALID [2022-04-15 08:46:42,849 INFO L290 TraceCheckUtils]: 72: Hoare triple {16648#true} assume !(0 == ~cond); {16648#true} is VALID [2022-04-15 08:46:42,849 INFO L290 TraceCheckUtils]: 73: Hoare triple {16648#true} assume true; {16648#true} is VALID [2022-04-15 08:46:42,849 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-15 08:46:42,849 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-15 08:46:42,850 INFO L290 TraceCheckUtils]: 76: Hoare triple {16648#true} ~cond := #in~cond; {16882#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:46:42,850 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-15 08:46:42,850 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-15 08:46:42,851 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-15 08:46:42,851 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-15 08:46:42,852 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-15 08:46:42,853 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-15 08:46:42,853 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-15 08:46:42,853 INFO L290 TraceCheckUtils]: 84: Hoare triple {16648#true} ~cond := #in~cond; {16882#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:46:42,853 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-15 08:46:42,854 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-15 08:46:44,856 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-15 08:46:44,863 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-15 08:46:44,863 INFO L290 TraceCheckUtils]: 89: Hoare triple {16923#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16927#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:46:44,864 INFO L290 TraceCheckUtils]: 90: Hoare triple {16927#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16649#false} is VALID [2022-04-15 08:46:44,864 INFO L290 TraceCheckUtils]: 91: Hoare triple {16649#false} assume !false; {16649#false} is VALID [2022-04-15 08:46:44,864 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-15 08:46:44,864 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:48:01,602 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 08:49:44,330 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-15 08:52:10,434 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-15 08:52:52,264 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-15 08:53:05,581 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:53:05,582 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1638139129] [2022-04-15 08:53:05,582 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:53:05,582 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1560613278] [2022-04-15 08:53:05,582 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1560613278] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 08:53:05,582 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 08:53:05,582 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-15 08:53:05,582 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:53:05,582 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [256483966] [2022-04-15 08:53:05,582 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [256483966] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:53:05,582 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:53:05,582 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 08:53:05,582 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1118765648] [2022-04-15 08:53:05,583 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:53:05,583 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-15 08:53:05,583 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:53:05,583 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-15 08:53:07,635 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-15 08:53:07,635 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 08:53:07,635 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:53:07,636 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 08:53:07,636 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=189, Unknown=8, NotChecked=90, Total=342 [2022-04-15 08:53:07,636 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-15 08:53:10,118 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-15 08:53:12,148 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-15 08:53:34,312 WARN L232 SmtUtils]: Spent 22.08s 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-15 08:53:38,537 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-15 08:53:38,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:53:38,731 INFO L93 Difference]: Finished difference Result 254 states and 300 transitions. [2022-04-15 08:53:38,732 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 08:53:38,732 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-15 08:53:38,732 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:53:38,732 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-15 08:53:38,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-15 08:53:38,734 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-15 08:53:38,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-15 08:53:38,735 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 76 transitions.