/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 11:05:50,030 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 11:05:50,031 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 11:05:50,071 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 11:05:50,072 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 11:05:50,073 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 11:05:50,076 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 11:05:50,079 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 11:05:50,080 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 11:05:50,081 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 11:05:50,081 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 11:05:50,082 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 11:05:50,082 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 11:05:50,083 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 11:05:50,083 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 11:05:50,085 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 11:05:50,085 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 11:05:50,089 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 11:05:50,099 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 11:05:50,100 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 11:05:50,101 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 11:05:50,102 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 11:05:50,102 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 11:05:50,103 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 11:05:50,103 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 11:05:50,105 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 11:05:50,105 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 11:05:50,105 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 11:05:50,106 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 11:05:50,106 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 11:05:50,106 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 11:05:50,106 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 11:05:50,107 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 11:05:50,107 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 11:05:50,108 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 11:05:50,108 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 11:05:50,109 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 11:05:50,109 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 11:05:50,109 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 11:05:50,109 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 11:05:50,110 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 11:05:50,123 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 11:05:50,124 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 11:05:50,129 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 11:05:50,130 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 11:05:50,130 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 11:05:50,130 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 11:05:50,130 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 11:05:50,131 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 11:05:50,131 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 11:05:50,131 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 11:05:50,131 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 11:05:50,131 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 11:05:50,131 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 11:05:50,131 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 11:05:50,131 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 11:05:50,131 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 11:05:50,132 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 11:05:50,132 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 11:05:50,132 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 11:05:50,132 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 11:05:50,132 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 11:05:50,132 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 11:05:50,132 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 11:05:50,132 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 11:05:50,132 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 11:05:50,296 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 11:05:50,317 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 11:05:50,318 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 11:05:50,319 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 11:05:50,319 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 11:05:50,320 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c [2022-04-28 11:05:50,369 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8a965b01c/06a144e70ef14a459c621b50c1ae9d37/FLAGac702b4bc [2022-04-28 11:05:50,704 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 11:05:50,704 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c [2022-04-28 11:05:50,708 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8a965b01c/06a144e70ef14a459c621b50c1ae9d37/FLAGac702b4bc [2022-04-28 11:05:50,719 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8a965b01c/06a144e70ef14a459c621b50c1ae9d37 [2022-04-28 11:05:50,721 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 11:05:50,722 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 11:05:50,723 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 11:05:50,723 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 11:05:50,725 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 11:05:50,726 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 11:05:50" (1/1) ... [2022-04-28 11:05:50,726 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@225c0c55 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:05:50, skipping insertion in model container [2022-04-28 11:05:50,727 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 11:05:50" (1/1) ... [2022-04-28 11:05:50,731 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 11:05:50,740 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 11:05:50,859 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/bresenham-ll_valuebound2.c[597,610] [2022-04-28 11:05:50,878 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 11:05:50,883 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 11:05:50,890 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/bresenham-ll_valuebound2.c[597,610] [2022-04-28 11:05:50,895 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 11:05:50,903 INFO L208 MainTranslator]: Completed translation [2022-04-28 11:05:50,903 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:05:50 WrapperNode [2022-04-28 11:05:50,903 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 11:05:50,904 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 11:05:50,904 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 11:05:50,904 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 11:05:50,912 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:05:50" (1/1) ... [2022-04-28 11:05:50,912 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:05:50" (1/1) ... [2022-04-28 11:05:50,915 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:05:50" (1/1) ... [2022-04-28 11:05:50,916 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:05:50" (1/1) ... [2022-04-28 11:05:50,921 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:05:50" (1/1) ... [2022-04-28 11:05:50,926 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:05:50" (1/1) ... [2022-04-28 11:05:50,934 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:05:50" (1/1) ... [2022-04-28 11:05:50,937 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 11:05:50,938 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 11:05:50,938 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 11:05:50,938 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 11:05:50,939 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:05:50" (1/1) ... [2022-04-28 11:05:50,943 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 11:05:50,950 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:05:50,958 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 11:05:50,974 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 11:05:50,990 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 11:05:50,990 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 11:05:50,990 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 11:05:50,990 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 11:05:50,990 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 11:05:50,990 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 11:05:50,991 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 11:05:50,991 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 11:05:50,991 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 11:05:50,991 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 11:05:50,991 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 11:05:50,991 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 11:05:50,991 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 11:05:50,991 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 11:05:50,991 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 11:05:50,991 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 11:05:50,991 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 11:05:50,992 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 11:05:50,992 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 11:05:50,992 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 11:05:51,034 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 11:05:51,035 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 11:05:51,265 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 11:05:51,270 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 11:05:51,270 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 11:05:51,271 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 11:05:51 BoogieIcfgContainer [2022-04-28 11:05:51,271 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 11:05:51,272 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 11:05:51,272 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 11:05:51,289 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 11:05:51,290 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 11:05:50" (1/3) ... [2022-04-28 11:05:51,290 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5291fbc9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 11:05:51, skipping insertion in model container [2022-04-28 11:05:51,290 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:05:50" (2/3) ... [2022-04-28 11:05:51,290 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5291fbc9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 11:05:51, skipping insertion in model container [2022-04-28 11:05:51,290 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 11:05:51" (3/3) ... [2022-04-28 11:05:51,291 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound2.c [2022-04-28 11:05:51,300 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 11:05:51,302 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 11:05:51,344 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 11:05:51,350 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@20d039c6, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@1e4e95b7 [2022-04-28 11:05:51,350 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 11:05:51,360 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:05:51,366 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 11:05:51,366 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:05:51,367 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:05:51,367 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:05:51,372 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:05:51,372 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-28 11:05:51,377 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:51,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1251131737] [2022-04-28 11:05:51,387 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:05:51,387 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 2 times [2022-04-28 11:05:51,390 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:05:51,390 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1919085015] [2022-04-28 11:05:51,390 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:05:51,390 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:05:51,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:51,505 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 11:05:51,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:51,535 INFO L290 TraceCheckUtils]: 0: Hoare triple {48#(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(15, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-28 11:05:51,535 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 11:05:51,535 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-28 11:05:51,536 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 11:05:51,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:51,545 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:05:51,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:05:51,545 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:05:51,546 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 11:05:51,546 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 11:05:51,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:51,551 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:05:51,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:05:51,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:05:51,551 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 11:05:51,552 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 11:05:51,552 INFO L290 TraceCheckUtils]: 1: Hoare triple {48#(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(15, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-28 11:05:51,553 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 11:05:51,553 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-28 11:05:51,553 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-28 11:05:51,553 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-28 11:05:51,553 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-28 11:05:51,553 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:05:51,554 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:05:51,554 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:05:51,554 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 11:05:51,554 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-28 11:05:51,554 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-28 11:05:51,555 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:05:51,555 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:05:51,555 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:05:51,555 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 11:05:51,555 INFO L290 TraceCheckUtils]: 17: Hoare triple {36#false} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {36#false} is VALID [2022-04-28 11:05:51,556 INFO L290 TraceCheckUtils]: 18: Hoare triple {36#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {36#false} is VALID [2022-04-28 11:05:51,556 INFO L272 TraceCheckUtils]: 19: Hoare triple {36#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {36#false} is VALID [2022-04-28 11:05:51,556 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 11:05:51,556 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 11:05:51,556 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 11:05:51,557 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 11:05:51,557 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:05:51,557 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1919085015] [2022-04-28 11:05:51,558 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1919085015] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:05:51,558 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:05:51,558 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 11:05:51,559 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:05:51,560 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1251131737] [2022-04-28 11:05:51,560 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1251131737] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:05:51,560 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:05:51,560 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 11:05:51,560 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1944525022] [2022-04-28 11:05:51,560 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:05:51,565 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 11:05:51,566 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:05:51,568 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 11:05:51,591 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:51,592 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 11:05:51,592 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:51,609 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 11:05:51,609 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 11:05:51,611 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 11:05:51,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:51,736 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-28 11:05:51,737 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 11:05:51,738 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 11:05:51,738 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:05:51,739 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 11:05:51,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-28 11:05:51,748 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 11:05:51,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-28 11:05:51,757 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-28 11:05:51,835 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:51,842 INFO L225 Difference]: With dead ends: 57 [2022-04-28 11:05:51,843 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 11:05:51,847 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 11:05:51,851 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 11 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 6 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:05:51,852 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 11:05:51,863 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 11:05:51,887 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 11:05:51,887 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:05:51,887 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:05:51,888 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:05:51,888 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:05:51,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:51,891 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 11:05:51,891 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 11:05:51,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:51,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:51,892 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-28 11:05:51,892 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-28 11:05:51,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:51,894 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 11:05:51,894 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 11:05:51,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:51,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:51,895 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:05:51,895 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:05:51,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 11:05:51,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-28 11:05:51,898 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-28 11:05:51,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:05:51,898 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-28 11:05:51,898 INFO L496 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 11:05:51,898 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-28 11:05:51,931 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:51,931 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 11:05:51,931 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 11:05:51,932 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:05:51,932 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:05:51,933 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 11:05:51,933 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:05:51,934 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:05:51,934 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-28 11:05:51,934 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:51,934 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1576892425] [2022-04-28 11:05:51,935 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:05:51,935 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 2 times [2022-04-28 11:05:51,935 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:05:51,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [743373773] [2022-04-28 11:05:51,938 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:05:51,939 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:05:51,968 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:05:51,968 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [971467039] [2022-04-28 11:05:51,968 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:05:51,969 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:05:51,969 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:05:51,979 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:05:51,980 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 11:05:52,015 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 11:05:52,015 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:05:52,017 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 11:05:52,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:52,036 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:05:52,211 INFO L272 TraceCheckUtils]: 0: Hoare triple {273#true} call ULTIMATE.init(); {273#true} is VALID [2022-04-28 11:05:52,211 INFO L290 TraceCheckUtils]: 1: Hoare triple {273#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(15, 2);call #Ultimate.allocInit(12, 3); {273#true} is VALID [2022-04-28 11:05:52,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 11:05:52,212 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {273#true} {273#true} #69#return; {273#true} is VALID [2022-04-28 11:05:52,212 INFO L272 TraceCheckUtils]: 4: Hoare triple {273#true} call #t~ret8 := main(); {273#true} is VALID [2022-04-28 11:05:52,212 INFO L290 TraceCheckUtils]: 5: Hoare triple {273#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {273#true} is VALID [2022-04-28 11:05:52,212 INFO L272 TraceCheckUtils]: 6: Hoare triple {273#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {273#true} is VALID [2022-04-28 11:05:52,213 INFO L290 TraceCheckUtils]: 7: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-28 11:05:52,213 INFO L290 TraceCheckUtils]: 8: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-28 11:05:52,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 11:05:52,213 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {273#true} {273#true} #61#return; {273#true} is VALID [2022-04-28 11:05:52,213 INFO L290 TraceCheckUtils]: 11: Hoare triple {273#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {273#true} is VALID [2022-04-28 11:05:52,213 INFO L272 TraceCheckUtils]: 12: Hoare triple {273#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {273#true} is VALID [2022-04-28 11:05:52,214 INFO L290 TraceCheckUtils]: 13: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-28 11:05:52,214 INFO L290 TraceCheckUtils]: 14: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-28 11:05:52,214 INFO L290 TraceCheckUtils]: 15: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 11:05:52,214 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {273#true} {273#true} #63#return; {273#true} is VALID [2022-04-28 11:05:52,219 INFO L290 TraceCheckUtils]: 17: Hoare triple {273#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:05:52,221 INFO L290 TraceCheckUtils]: 18: Hoare triple {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {333#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-28 11:05:52,223 INFO L272 TraceCheckUtils]: 19: Hoare triple {333#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {337#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:05:52,223 INFO L290 TraceCheckUtils]: 20: Hoare triple {337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:52,224 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {274#false} is VALID [2022-04-28 11:05:52,225 INFO L290 TraceCheckUtils]: 22: Hoare triple {274#false} assume !false; {274#false} is VALID [2022-04-28 11:05:52,225 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 11:05:52,225 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 11:05:52,226 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:05:52,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [743373773] [2022-04-28 11:05:52,226 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:05:52,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [971467039] [2022-04-28 11:05:52,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [971467039] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:05:52,226 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:05:52,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 11:05:52,227 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:05:52,227 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1576892425] [2022-04-28 11:05:52,227 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1576892425] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:05:52,228 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:05:52,228 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 11:05:52,228 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [337728450] [2022-04-28 11:05:52,228 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:05:52,228 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-28 11:05:52,229 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:05:52,229 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 11:05:52,243 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:52,243 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 11:05:52,244 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:52,244 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 11:05:52,244 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 11:05:52,244 INFO L87 Difference]: Start difference. First operand 27 states and 30 transitions. Second operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 11:05:52,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:52,423 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-28 11:05:52,423 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 11:05:52,423 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-28 11:05:52,424 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:05:52,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 11:05:52,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 11:05:52,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 11:05:52,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 11:05:52,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-28 11:05:52,466 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:52,469 INFO L225 Difference]: With dead ends: 39 [2022-04-28 11:05:52,469 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 11:05:52,470 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 11:05:52,471 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 10 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:05:52,474 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 91 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 11:05:52,476 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 11:05:52,486 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-28 11:05:52,486 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:05:52,487 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:05:52,487 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:05:52,489 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:05:52,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:52,492 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 11:05:52,492 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 11:05:52,493 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:52,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:52,493 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-28 11:05:52,494 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-28 11:05:52,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:52,502 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 11:05:52,502 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 11:05:52,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:52,506 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:52,506 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:05:52,507 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:05:52,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:05:52,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-28 11:05:52,508 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-28 11:05:52,508 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:05:52,508 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-28 11:05:52,509 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 11:05:52,509 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 37 transitions. [2022-04-28 11:05:52,543 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:52,543 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-28 11:05:52,545 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 11:05:52,545 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:05:52,545 INFO L195 NwaCegarLoop]: trace histogram [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-28 11:05:52,565 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 11:05:52,759 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:05:52,760 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:05:52,760 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:05:52,760 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-28 11:05:52,760 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:52,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1248818228] [2022-04-28 11:05:52,761 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:05:52,761 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 2 times [2022-04-28 11:05:52,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:05:52,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1348035833] [2022-04-28 11:05:52,761 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:05:52,761 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:05:52,780 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:05:52,780 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [842294908] [2022-04-28 11:05:52,780 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:05:52,780 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:05:52,780 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:05:52,787 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:05:52,788 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 11:05:52,831 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:05:52,831 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:05:52,832 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 11:05:52,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:52,860 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:06:00,811 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-28 11:06:00,811 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#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(15, 2);call #Ultimate.allocInit(12, 3); {567#true} is VALID [2022-04-28 11:06:00,811 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:06:00,811 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-28 11:06:00,812 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-28 11:06:00,812 INFO L290 TraceCheckUtils]: 5: Hoare triple {567#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {567#true} is VALID [2022-04-28 11:06:00,812 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {567#true} is VALID [2022-04-28 11:06:00,812 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:06:00,813 INFO L290 TraceCheckUtils]: 8: Hoare triple {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:06:00,813 INFO L290 TraceCheckUtils]: 9: Hoare triple {597#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:06:00,814 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {597#(not (= |assume_abort_if_not_#in~cond| 0))} {567#true} #61#return; {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:06:00,814 INFO L290 TraceCheckUtils]: 11: Hoare triple {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:06:00,814 INFO L272 TraceCheckUtils]: 12: Hoare triple {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {567#true} is VALID [2022-04-28 11:06:00,816 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:06:00,816 INFO L290 TraceCheckUtils]: 14: Hoare triple {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:06:00,816 INFO L290 TraceCheckUtils]: 15: Hoare triple {597#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:06:00,817 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {597#(not (= |assume_abort_if_not_#in~cond| 0))} {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {623#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:06:00,818 INFO L290 TraceCheckUtils]: 17: Hoare triple {623#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:06:00,818 INFO L290 TraceCheckUtils]: 18: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:06:00,818 INFO L272 TraceCheckUtils]: 19: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {567#true} is VALID [2022-04-28 11:06:00,819 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:06:00,819 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:06:00,819 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:06:00,819 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} #65#return; {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:06:00,820 INFO L290 TraceCheckUtils]: 24: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:06:00,821 INFO L290 TraceCheckUtils]: 25: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} is VALID [2022-04-28 11:06:00,821 INFO L290 TraceCheckUtils]: 26: Hoare triple {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} is VALID [2022-04-28 11:06:00,822 INFO L290 TraceCheckUtils]: 27: Hoare triple {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {659#(and (<= main_~X~0 2) (= main_~xy~0 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~yx~0 0))} is VALID [2022-04-28 11:06:00,823 INFO L272 TraceCheckUtils]: 28: Hoare triple {659#(and (<= main_~X~0 2) (= main_~xy~0 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~yx~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:00,823 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:00,824 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-28 11:06:00,824 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-28 11:06:00,825 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 11:06:00,825 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:07:57,538 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:07:57,539 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1348035833] [2022-04-28 11:07:57,539 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:07:57,539 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [842294908] [2022-04-28 11:07:57,539 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [842294908] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 11:07:57,539 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 11:07:57,539 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-28 11:07:57,539 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:07:57,539 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1248818228] [2022-04-28 11:07:57,539 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1248818228] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:07:57,539 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:07:57,540 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 11:07:57,540 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1213414786] [2022-04-28 11:07:57,540 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:07:57,540 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-28 11:07:57,540 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:07:57,541 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 11:07:57,566 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:57,567 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 11:07:57,567 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:57,567 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 11:07:57,567 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=144, Unknown=0, NotChecked=0, Total=182 [2022-04-28 11:07:57,568 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 11:07:57,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:57,936 INFO L93 Difference]: Finished difference Result 61 states and 70 transitions. [2022-04-28 11:07:57,936 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 11:07:57,937 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-28 11:07:57,937 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:07:57,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 11:07:57,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-28 11:07:57,939 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 11:07:57,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-28 11:07:57,941 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 67 transitions. [2022-04-28 11:07:57,992 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:57,994 INFO L225 Difference]: With dead ends: 61 [2022-04-28 11:07:57,994 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 11:07:57,994 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-28 11:07:57,995 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 27 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 140 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 154 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 140 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:07:57,995 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 123 Invalid, 154 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 140 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:07:57,996 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 11:07:58,026 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-28 11:07:58,026 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:07:58,027 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:07:58,027 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:07:58,027 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:07:58,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:58,028 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-28 11:07:58,028 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-28 11:07:58,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:58,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:58,029 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-28 11:07:58,029 INFO L87 Difference]: Start difference. First operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-28 11:07:58,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:58,030 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-28 11:07:58,030 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-28 11:07:58,031 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:58,031 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:58,031 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:07:58,031 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:07:58,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 11:07:58,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 38 transitions. [2022-04-28 11:07:58,032 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 38 transitions. Word has length 32 [2022-04-28 11:07:58,032 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:07:58,032 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 38 transitions. [2022-04-28 11:07:58,032 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 11:07:58,033 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 38 transitions. [2022-04-28 11:07:58,082 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:58,082 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-28 11:07:58,083 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 11:07:58,083 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:07:58,083 INFO L195 NwaCegarLoop]: trace histogram [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-28 11:07:58,098 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-28 11:07:58,287 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 11:07:58,287 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:07:58,288 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:07:58,288 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-28 11:07:58,288 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:58,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1838677449] [2022-04-28 11:07:58,288 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:07:58,288 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 2 times [2022-04-28 11:07:58,289 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:07:58,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [14898196] [2022-04-28 11:07:58,289 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:07:58,289 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:07:58,307 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:07:58,307 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [232609050] [2022-04-28 11:07:58,307 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:07:58,314 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:07:58,314 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:07:58,314 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:07:58,315 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 11:07:58,351 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:07:58,351 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:07:58,352 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 11:07:58,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:07:58,360 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:07:58,586 INFO L272 TraceCheckUtils]: 0: Hoare triple {971#true} call ULTIMATE.init(); {971#true} is VALID [2022-04-28 11:07:58,587 INFO L290 TraceCheckUtils]: 1: Hoare triple {971#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(15, 2);call #Ultimate.allocInit(12, 3); {971#true} is VALID [2022-04-28 11:07:58,587 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 11:07:58,587 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {971#true} #69#return; {971#true} is VALID [2022-04-28 11:07:58,587 INFO L272 TraceCheckUtils]: 4: Hoare triple {971#true} call #t~ret8 := main(); {971#true} is VALID [2022-04-28 11:07:58,587 INFO L290 TraceCheckUtils]: 5: Hoare triple {971#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {971#true} is VALID [2022-04-28 11:07:58,587 INFO L272 TraceCheckUtils]: 6: Hoare triple {971#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-28 11:07:58,587 INFO L290 TraceCheckUtils]: 7: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-28 11:07:58,587 INFO L290 TraceCheckUtils]: 8: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-28 11:07:58,588 INFO L290 TraceCheckUtils]: 9: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 11:07:58,588 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {971#true} {971#true} #61#return; {971#true} is VALID [2022-04-28 11:07:58,588 INFO L290 TraceCheckUtils]: 11: Hoare triple {971#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {971#true} is VALID [2022-04-28 11:07:58,588 INFO L272 TraceCheckUtils]: 12: Hoare triple {971#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-28 11:07:58,588 INFO L290 TraceCheckUtils]: 13: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-28 11:07:58,588 INFO L290 TraceCheckUtils]: 14: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-28 11:07:58,588 INFO L290 TraceCheckUtils]: 15: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 11:07:58,588 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {971#true} {971#true} #63#return; {971#true} is VALID [2022-04-28 11:07:58,589 INFO L290 TraceCheckUtils]: 17: Hoare triple {971#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:07:58,589 INFO L290 TraceCheckUtils]: 18: Hoare triple {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:07:58,590 INFO L272 TraceCheckUtils]: 19: Hoare triple {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {971#true} is VALID [2022-04-28 11:07:58,590 INFO L290 TraceCheckUtils]: 20: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-28 11:07:58,590 INFO L290 TraceCheckUtils]: 21: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-28 11:07:58,590 INFO L290 TraceCheckUtils]: 22: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 11:07:58,591 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {971#true} {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:07:58,591 INFO L290 TraceCheckUtils]: 24: Hoare triple {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1049#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:07:58,592 INFO L290 TraceCheckUtils]: 25: Hoare triple {1049#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1053#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:07:58,592 INFO L290 TraceCheckUtils]: 26: Hoare triple {1053#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1057#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-28 11:07:58,593 INFO L290 TraceCheckUtils]: 27: Hoare triple {1057#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1061#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-28 11:07:58,594 INFO L272 TraceCheckUtils]: 28: Hoare triple {1061#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:07:58,594 INFO L290 TraceCheckUtils]: 29: Hoare triple {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:58,594 INFO L290 TraceCheckUtils]: 30: Hoare triple {1069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {972#false} is VALID [2022-04-28 11:07:58,595 INFO L290 TraceCheckUtils]: 31: Hoare triple {972#false} assume !false; {972#false} is VALID [2022-04-28 11:07:58,595 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 11:07:58,595 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:07:58,781 INFO L290 TraceCheckUtils]: 31: Hoare triple {972#false} assume !false; {972#false} is VALID [2022-04-28 11:07:58,781 INFO L290 TraceCheckUtils]: 30: Hoare triple {1069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {972#false} is VALID [2022-04-28 11:07:58,782 INFO L290 TraceCheckUtils]: 29: Hoare triple {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:58,782 INFO L272 TraceCheckUtils]: 28: Hoare triple {1085#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:07:58,783 INFO L290 TraceCheckUtils]: 27: Hoare triple {1089#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1085#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:07:58,785 INFO L290 TraceCheckUtils]: 26: Hoare triple {1093#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1089#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:07:58,786 INFO L290 TraceCheckUtils]: 25: Hoare triple {1089#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1093#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:07:58,787 INFO L290 TraceCheckUtils]: 24: Hoare triple {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {1089#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:07:58,788 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {971#true} {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} #65#return; {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:07:58,788 INFO L290 TraceCheckUtils]: 22: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 11:07:58,788 INFO L290 TraceCheckUtils]: 21: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-28 11:07:58,788 INFO L290 TraceCheckUtils]: 20: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-28 11:07:58,788 INFO L272 TraceCheckUtils]: 19: Hoare triple {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {971#true} is VALID [2022-04-28 11:07:58,789 INFO L290 TraceCheckUtils]: 18: Hoare triple {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:07:58,789 INFO L290 TraceCheckUtils]: 17: Hoare triple {971#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:07:58,789 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {971#true} {971#true} #63#return; {971#true} is VALID [2022-04-28 11:07:58,789 INFO L290 TraceCheckUtils]: 15: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 11:07:58,789 INFO L290 TraceCheckUtils]: 14: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-28 11:07:58,789 INFO L290 TraceCheckUtils]: 13: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-28 11:07:58,790 INFO L272 TraceCheckUtils]: 12: Hoare triple {971#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-28 11:07:58,790 INFO L290 TraceCheckUtils]: 11: Hoare triple {971#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {971#true} is VALID [2022-04-28 11:07:58,790 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {971#true} {971#true} #61#return; {971#true} is VALID [2022-04-28 11:07:58,790 INFO L290 TraceCheckUtils]: 9: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 11:07:58,790 INFO L290 TraceCheckUtils]: 8: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-28 11:07:58,790 INFO L290 TraceCheckUtils]: 7: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-28 11:07:58,790 INFO L272 TraceCheckUtils]: 6: Hoare triple {971#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-28 11:07:58,790 INFO L290 TraceCheckUtils]: 5: Hoare triple {971#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {971#true} is VALID [2022-04-28 11:07:58,790 INFO L272 TraceCheckUtils]: 4: Hoare triple {971#true} call #t~ret8 := main(); {971#true} is VALID [2022-04-28 11:07:58,790 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {971#true} #69#return; {971#true} is VALID [2022-04-28 11:07:58,791 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 11:07:58,791 INFO L290 TraceCheckUtils]: 1: Hoare triple {971#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(15, 2);call #Ultimate.allocInit(12, 3); {971#true} is VALID [2022-04-28 11:07:58,791 INFO L272 TraceCheckUtils]: 0: Hoare triple {971#true} call ULTIMATE.init(); {971#true} is VALID [2022-04-28 11:07:58,791 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 11:07:58,791 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:07:58,791 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [14898196] [2022-04-28 11:07:58,791 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:07:58,791 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [232609050] [2022-04-28 11:07:58,791 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [232609050] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:07:58,791 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:07:58,792 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-28 11:07:58,792 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:07:58,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1838677449] [2022-04-28 11:07:58,792 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1838677449] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:07:58,792 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:07:58,792 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 11:07:58,792 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1521044092] [2022-04-28 11:07:58,792 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:07:58,792 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-28 11:07:58,793 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:07:58,793 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:07:58,814 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:58,815 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 11:07:58,815 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:58,815 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 11:07:58,815 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-28 11:07:58,815 INFO L87 Difference]: Start difference. First operand 35 states and 38 transitions. Second operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:07:59,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:59,121 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-28 11:07:59,122 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 11:07:59,122 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-28 11:07:59,122 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:07:59,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:07:59,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 50 transitions. [2022-04-28 11:07:59,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:07:59,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 50 transitions. [2022-04-28 11:07:59,124 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 50 transitions. [2022-04-28 11:07:59,159 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-28 11:07:59,160 INFO L225 Difference]: With dead ends: 48 [2022-04-28 11:07:59,160 INFO L226 Difference]: Without dead ends: 46 [2022-04-28 11:07:59,160 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-28 11:07:59,161 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 11 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:07:59,161 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 134 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 124 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:07:59,161 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-28 11:07:59,196 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 42. [2022-04-28 11:07:59,196 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:07:59,197 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:07:59,197 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:07:59,197 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:07:59,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:59,199 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-04-28 11:07:59,199 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-28 11:07:59,200 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:59,200 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:59,200 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 46 states. [2022-04-28 11:07:59,200 INFO L87 Difference]: Start difference. First operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 46 states. [2022-04-28 11:07:59,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:59,202 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-04-28 11:07:59,202 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-28 11:07:59,202 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:59,202 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:59,202 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:07:59,202 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:07:59,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:07:59,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 45 transitions. [2022-04-28 11:07:59,203 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 45 transitions. Word has length 32 [2022-04-28 11:07:59,204 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:07:59,204 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 45 transitions. [2022-04-28 11:07:59,204 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:07:59,204 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 45 transitions. [2022-04-28 11:07:59,244 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:59,244 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 45 transitions. [2022-04-28 11:07:59,245 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 11:07:59,245 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:07:59,245 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:07:59,261 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 11:07:59,447 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:07:59,447 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:07:59,448 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:07:59,448 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-28 11:07:59,448 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:59,448 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [622846845] [2022-04-28 11:07:59,448 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:07:59,448 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 2 times [2022-04-28 11:07:59,448 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:07:59,448 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [726414247] [2022-04-28 11:07:59,449 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:07:59,449 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:07:59,466 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:07:59,466 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [717471307] [2022-04-28 11:07:59,466 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:07:59,466 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:07:59,466 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:07:59,467 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:07:59,468 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 11:07:59,501 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:07:59,501 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:07:59,502 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 11:07:59,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:07:59,512 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:08:18,239 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:08:28,261 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:08:34,278 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:08:43,837 INFO L272 TraceCheckUtils]: 0: Hoare triple {1451#true} call ULTIMATE.init(); {1451#true} is VALID [2022-04-28 11:08:43,837 INFO L290 TraceCheckUtils]: 1: Hoare triple {1451#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(15, 2);call #Ultimate.allocInit(12, 3); {1451#true} is VALID [2022-04-28 11:08:43,837 INFO L290 TraceCheckUtils]: 2: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-28 11:08:43,838 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1451#true} {1451#true} #69#return; {1451#true} is VALID [2022-04-28 11:08:43,838 INFO L272 TraceCheckUtils]: 4: Hoare triple {1451#true} call #t~ret8 := main(); {1451#true} is VALID [2022-04-28 11:08:43,838 INFO L290 TraceCheckUtils]: 5: Hoare triple {1451#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1451#true} is VALID [2022-04-28 11:08:43,838 INFO L272 TraceCheckUtils]: 6: Hoare triple {1451#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-28 11:08:43,838 INFO L290 TraceCheckUtils]: 7: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-28 11:08:43,838 INFO L290 TraceCheckUtils]: 8: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-28 11:08:43,838 INFO L290 TraceCheckUtils]: 9: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-28 11:08:43,838 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1451#true} {1451#true} #61#return; {1451#true} is VALID [2022-04-28 11:08:43,838 INFO L290 TraceCheckUtils]: 11: Hoare triple {1451#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1451#true} is VALID [2022-04-28 11:08:43,838 INFO L272 TraceCheckUtils]: 12: Hoare triple {1451#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-28 11:08:43,839 INFO L290 TraceCheckUtils]: 13: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-28 11:08:43,839 INFO L290 TraceCheckUtils]: 14: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-28 11:08:43,839 INFO L290 TraceCheckUtils]: 15: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-28 11:08:43,839 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1451#true} {1451#true} #63#return; {1451#true} is VALID [2022-04-28 11:08:43,839 INFO L290 TraceCheckUtils]: 17: Hoare triple {1451#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1507#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:08:43,840 INFO L290 TraceCheckUtils]: 18: Hoare triple {1507#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1507#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:08:43,840 INFO L272 TraceCheckUtils]: 19: Hoare triple {1507#(and (= main_~x~0 0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1451#true} is VALID [2022-04-28 11:08:43,840 INFO L290 TraceCheckUtils]: 20: Hoare triple {1451#true} ~cond := #in~cond; {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:08:43,840 INFO L290 TraceCheckUtils]: 21: Hoare triple {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:08:43,841 INFO L290 TraceCheckUtils]: 22: Hoare triple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:08:43,841 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} {1507#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {1507#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:08:43,842 INFO L290 TraceCheckUtils]: 24: Hoare triple {1507#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1531#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:08:43,842 INFO L290 TraceCheckUtils]: 25: Hoare triple {1531#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1535#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-28 11:08:43,843 INFO L290 TraceCheckUtils]: 26: Hoare triple {1535#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1539#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:08:43,843 INFO L290 TraceCheckUtils]: 27: Hoare triple {1539#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1543#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:08:43,843 INFO L272 TraceCheckUtils]: 28: Hoare triple {1543#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1451#true} is VALID [2022-04-28 11:08:43,843 INFO L290 TraceCheckUtils]: 29: Hoare triple {1451#true} ~cond := #in~cond; {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:08:43,844 INFO L290 TraceCheckUtils]: 30: Hoare triple {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:08:43,844 INFO L290 TraceCheckUtils]: 31: Hoare triple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:08:43,845 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} {1543#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {1559#(and (= main_~y~0 1) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0))} is VALID [2022-04-28 11:08:43,846 INFO L290 TraceCheckUtils]: 33: Hoare triple {1559#(and (= main_~y~0 1) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0))} assume !(~x~0 <= ~X~0); {1563#(and (= main_~y~0 1) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:08:43,852 INFO L290 TraceCheckUtils]: 34: Hoare triple {1563#(and (= main_~y~0 1) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1567#(and (= main_~y~0 1) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is VALID [2022-04-28 11:08:43,853 INFO L272 TraceCheckUtils]: 35: Hoare triple {1567#(and (= main_~y~0 1) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:08:43,854 INFO L290 TraceCheckUtils]: 36: Hoare triple {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1575#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:08:43,854 INFO L290 TraceCheckUtils]: 37: Hoare triple {1575#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1452#false} is VALID [2022-04-28 11:08:43,854 INFO L290 TraceCheckUtils]: 38: Hoare triple {1452#false} assume !false; {1452#false} is VALID [2022-04-28 11:08:43,855 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 11:08:43,855 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:08:59,998 INFO L290 TraceCheckUtils]: 38: Hoare triple {1452#false} assume !false; {1452#false} is VALID [2022-04-28 11:08:59,999 INFO L290 TraceCheckUtils]: 37: Hoare triple {1575#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1452#false} is VALID [2022-04-28 11:08:59,999 INFO L290 TraceCheckUtils]: 36: Hoare triple {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1575#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:00,000 INFO L272 TraceCheckUtils]: 35: Hoare triple {1591#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:09:00,001 INFO L290 TraceCheckUtils]: 34: Hoare triple {1595#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1591#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:09:00,001 INFO L290 TraceCheckUtils]: 33: Hoare triple {1599#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {1595#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 11:09:00,002 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} {1603#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {1599#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:09:00,003 INFO L290 TraceCheckUtils]: 31: Hoare triple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:00,003 INFO L290 TraceCheckUtils]: 30: Hoare triple {1613#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:00,003 INFO L290 TraceCheckUtils]: 29: Hoare triple {1451#true} ~cond := #in~cond; {1613#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:09:00,004 INFO L272 TraceCheckUtils]: 28: Hoare triple {1603#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1451#true} is VALID [2022-04-28 11:09:00,004 INFO L290 TraceCheckUtils]: 27: Hoare triple {1620#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1603#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:09:00,005 INFO L290 TraceCheckUtils]: 26: Hoare triple {1624#(forall ((v_main_~x~0_14 Int)) (or (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~0 1))) (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* v_main_~x~0_14 main_~y~0))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1620#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:09:00,008 INFO L290 TraceCheckUtils]: 25: Hoare triple {1628#(forall ((v_main_~x~0_14 Int)) (or (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) 2 (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* v_main_~x~0_14 (+ main_~y~0 1)) 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2)))) (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~0 1)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1624#(forall ((v_main_~x~0_14 Int)) (or (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~0 1))) (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* v_main_~x~0_14 main_~y~0))))))} is VALID [2022-04-28 11:09:00,009 INFO L290 TraceCheckUtils]: 24: Hoare triple {1451#true} assume !!(~x~0 <= ~X~0); {1628#(forall ((v_main_~x~0_14 Int)) (or (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) 2 (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* v_main_~x~0_14 (+ main_~y~0 1)) 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2)))) (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~0 1)))))} is VALID [2022-04-28 11:09:00,009 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1451#true} {1451#true} #65#return; {1451#true} is VALID [2022-04-28 11:09:00,009 INFO L290 TraceCheckUtils]: 22: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-28 11:09:00,009 INFO L290 TraceCheckUtils]: 21: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-28 11:09:00,009 INFO L290 TraceCheckUtils]: 20: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-28 11:09:00,009 INFO L272 TraceCheckUtils]: 19: Hoare triple {1451#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1451#true} is VALID [2022-04-28 11:09:00,009 INFO L290 TraceCheckUtils]: 18: Hoare triple {1451#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1451#true} is VALID [2022-04-28 11:09:00,009 INFO L290 TraceCheckUtils]: 17: Hoare triple {1451#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1451#true} is VALID [2022-04-28 11:09:00,010 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1451#true} {1451#true} #63#return; {1451#true} is VALID [2022-04-28 11:09:00,010 INFO L290 TraceCheckUtils]: 15: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-28 11:09:00,010 INFO L290 TraceCheckUtils]: 14: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-28 11:09:00,010 INFO L290 TraceCheckUtils]: 13: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-28 11:09:00,010 INFO L272 TraceCheckUtils]: 12: Hoare triple {1451#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-28 11:09:00,010 INFO L290 TraceCheckUtils]: 11: Hoare triple {1451#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1451#true} is VALID [2022-04-28 11:09:00,010 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1451#true} {1451#true} #61#return; {1451#true} is VALID [2022-04-28 11:09:00,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-28 11:09:00,010 INFO L290 TraceCheckUtils]: 8: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-28 11:09:00,010 INFO L290 TraceCheckUtils]: 7: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-28 11:09:00,010 INFO L272 TraceCheckUtils]: 6: Hoare triple {1451#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-28 11:09:00,010 INFO L290 TraceCheckUtils]: 5: Hoare triple {1451#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1451#true} is VALID [2022-04-28 11:09:00,011 INFO L272 TraceCheckUtils]: 4: Hoare triple {1451#true} call #t~ret8 := main(); {1451#true} is VALID [2022-04-28 11:09:00,011 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1451#true} {1451#true} #69#return; {1451#true} is VALID [2022-04-28 11:09:00,011 INFO L290 TraceCheckUtils]: 2: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-28 11:09:00,011 INFO L290 TraceCheckUtils]: 1: Hoare triple {1451#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(15, 2);call #Ultimate.allocInit(12, 3); {1451#true} is VALID [2022-04-28 11:09:00,011 INFO L272 TraceCheckUtils]: 0: Hoare triple {1451#true} call ULTIMATE.init(); {1451#true} is VALID [2022-04-28 11:09:00,011 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 11:09:00,011 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:09:00,011 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [726414247] [2022-04-28 11:09:00,012 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:09:00,012 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [717471307] [2022-04-28 11:09:00,012 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [717471307] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:09:00,012 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:09:00,012 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-28 11:09:00,012 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:09:00,012 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [622846845] [2022-04-28 11:09:00,012 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [622846845] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:09:00,012 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:09:00,012 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:09:00,012 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1258183379] [2022-04-28 11:09:00,012 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:09:00,013 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-28 11:09:00,013 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:09:00,013 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:09:00,045 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:00,045 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:09:00,045 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:00,046 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:09:00,046 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-04-28 11:09:00,046 INFO L87 Difference]: Start difference. First operand 42 states and 45 transitions. Second operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:09:00,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:00,887 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-28 11:09:00,887 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 11:09:00,887 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-28 11:09:00,887 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:09:00,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:09:00,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-28 11:09:00,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:09:00,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-28 11:09:00,890 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 51 transitions. [2022-04-28 11:09:00,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:00,943 INFO L225 Difference]: With dead ends: 53 [2022-04-28 11:09:00,943 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 11:09:00,943 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 131 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=116, Invalid=586, Unknown=0, NotChecked=0, Total=702 [2022-04-28 11:09:00,944 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 18 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 159 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 166 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 159 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 11:09:00,944 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 121 Invalid, 166 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 159 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 11:09:00,944 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 11:09:00,988 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 43. [2022-04-28 11:09:00,988 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:09:00,988 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:09:00,988 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:09:00,989 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:09:00,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:00,990 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-04-28 11:09:00,990 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-04-28 11:09:00,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:00,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:00,990 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 45 states. [2022-04-28 11:09:00,991 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 45 states. [2022-04-28 11:09:00,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:00,992 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-04-28 11:09:00,992 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-04-28 11:09:00,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:00,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:00,992 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:09:00,992 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:09:00,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 11:09:00,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 46 transitions. [2022-04-28 11:09:00,993 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 46 transitions. Word has length 39 [2022-04-28 11:09:00,993 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:09:00,993 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 46 transitions. [2022-04-28 11:09:00,994 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:09:00,994 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 46 transitions. [2022-04-28 11:09:01,042 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:01,042 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 46 transitions. [2022-04-28 11:09:01,042 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 11:09:01,042 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:09:01,043 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:09:01,059 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 11:09:01,243 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:09:01,243 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:09:01,244 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:09:01,244 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 1 times [2022-04-28 11:09:01,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:01,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1622214050] [2022-04-28 11:09:01,244 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:09:01,244 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 2 times [2022-04-28 11:09:01,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:09:01,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2023265997] [2022-04-28 11:09:01,244 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:09:01,244 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:09:01,255 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:09:01,255 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1885672361] [2022-04-28 11:09:01,255 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:09:01,255 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:09:01,255 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:09:01,256 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:09:01,257 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 11:09:01,293 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:09:01,293 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:09:01,294 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 11:09:01,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:09:01,306 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:09:26,427 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:09:32,799 INFO L272 TraceCheckUtils]: 0: Hoare triple {1998#true} call ULTIMATE.init(); {1998#true} is VALID [2022-04-28 11:09:32,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#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(15, 2);call #Ultimate.allocInit(12, 3); {1998#true} is VALID [2022-04-28 11:09:32,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-28 11:09:32,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} #69#return; {1998#true} is VALID [2022-04-28 11:09:32,800 INFO L272 TraceCheckUtils]: 4: Hoare triple {1998#true} call #t~ret8 := main(); {1998#true} is VALID [2022-04-28 11:09:32,800 INFO L290 TraceCheckUtils]: 5: Hoare triple {1998#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1998#true} is VALID [2022-04-28 11:09:32,800 INFO L272 TraceCheckUtils]: 6: Hoare triple {1998#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-28 11:09:32,801 INFO L290 TraceCheckUtils]: 7: Hoare triple {1998#true} ~cond := #in~cond; {2024#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:09:32,801 INFO L290 TraceCheckUtils]: 8: Hoare triple {2024#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2028#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:09:32,801 INFO L290 TraceCheckUtils]: 9: Hoare triple {2028#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2028#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:09:32,802 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2028#(not (= |assume_abort_if_not_#in~cond| 0))} {1998#true} #61#return; {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:09:32,802 INFO L290 TraceCheckUtils]: 11: Hoare triple {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:09:32,802 INFO L272 TraceCheckUtils]: 12: Hoare triple {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-28 11:09:32,803 INFO L290 TraceCheckUtils]: 13: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-28 11:09:32,803 INFO L290 TraceCheckUtils]: 14: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-28 11:09:32,803 INFO L290 TraceCheckUtils]: 15: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-28 11:09:32,803 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1998#true} {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:09:32,804 INFO L290 TraceCheckUtils]: 17: Hoare triple {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-28 11:09:32,804 INFO L290 TraceCheckUtils]: 18: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-28 11:09:32,804 INFO L272 TraceCheckUtils]: 19: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1998#true} is VALID [2022-04-28 11:09:32,804 INFO L290 TraceCheckUtils]: 20: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-28 11:09:32,804 INFO L290 TraceCheckUtils]: 21: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-28 11:09:32,805 INFO L290 TraceCheckUtils]: 22: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-28 11:09:32,805 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1998#true} {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} #65#return; {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-28 11:09:32,806 INFO L290 TraceCheckUtils]: 24: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-28 11:09:32,806 INFO L290 TraceCheckUtils]: 25: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2082#(and (<= main_~X~0 2) (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-28 11:09:32,807 INFO L290 TraceCheckUtils]: 26: Hoare triple {2082#(and (<= main_~X~0 2) (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2086#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-28 11:09:32,807 INFO L290 TraceCheckUtils]: 27: Hoare triple {2086#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2090#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:09:32,808 INFO L272 TraceCheckUtils]: 28: Hoare triple {2090#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1998#true} is VALID [2022-04-28 11:09:32,808 INFO L290 TraceCheckUtils]: 29: Hoare triple {1998#true} ~cond := #in~cond; {2097#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:32,808 INFO L290 TraceCheckUtils]: 30: Hoare triple {2097#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:32,808 INFO L290 TraceCheckUtils]: 31: Hoare triple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:32,810 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} {2090#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-28 11:09:32,810 INFO L290 TraceCheckUtils]: 33: Hoare triple {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-28 11:09:32,811 INFO L290 TraceCheckUtils]: 34: Hoare triple {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2115#(and (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:09:32,812 INFO L290 TraceCheckUtils]: 35: Hoare triple {2115#(and (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2119#(and (= (+ (- 1) main_~x~0) 1) (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:09:32,814 INFO L290 TraceCheckUtils]: 36: Hoare triple {2119#(and (= (+ (- 1) main_~x~0) 1) (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2123#(and (<= main_~X~0 2) (= (+ main_~X~0 main_~v~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2)) (* main_~Y~0 6)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (* main_~Y~0 2) main_~yx~0) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (mod main_~xy~0 main_~X~0) 0))} is VALID [2022-04-28 11:09:32,815 INFO L272 TraceCheckUtils]: 37: Hoare triple {2123#(and (<= main_~X~0 2) (= (+ main_~X~0 main_~v~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2)) (* main_~Y~0 6)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (* main_~Y~0 2) main_~yx~0) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (mod main_~xy~0 main_~X~0) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:09:32,815 INFO L290 TraceCheckUtils]: 38: Hoare triple {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:32,816 INFO L290 TraceCheckUtils]: 39: Hoare triple {2131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1999#false} is VALID [2022-04-28 11:09:32,816 INFO L290 TraceCheckUtils]: 40: Hoare triple {1999#false} assume !false; {1999#false} is VALID [2022-04-28 11:09:32,816 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 11:09:32,816 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:09:37,807 INFO L290 TraceCheckUtils]: 40: Hoare triple {1999#false} assume !false; {1999#false} is VALID [2022-04-28 11:09:37,808 INFO L290 TraceCheckUtils]: 39: Hoare triple {2131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1999#false} is VALID [2022-04-28 11:09:37,808 INFO L290 TraceCheckUtils]: 38: Hoare triple {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:37,809 INFO L272 TraceCheckUtils]: 37: Hoare triple {2147#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:09:37,809 INFO L290 TraceCheckUtils]: 36: Hoare triple {2151#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2147#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:09:37,811 INFO L290 TraceCheckUtils]: 35: Hoare triple {2155#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2151#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:09:37,811 INFO L290 TraceCheckUtils]: 34: Hoare triple {2159#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2155#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:09:37,812 INFO L290 TraceCheckUtils]: 33: Hoare triple {2159#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {2159#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:09:37,813 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} {2166#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #65#return; {2159#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:09:37,813 INFO L290 TraceCheckUtils]: 31: Hoare triple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:37,813 INFO L290 TraceCheckUtils]: 30: Hoare triple {2176#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:37,814 INFO L290 TraceCheckUtils]: 29: Hoare triple {1998#true} ~cond := #in~cond; {2176#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:09:37,814 INFO L272 TraceCheckUtils]: 28: Hoare triple {2166#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1998#true} is VALID [2022-04-28 11:09:37,814 INFO L290 TraceCheckUtils]: 27: Hoare triple {1998#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2166#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:09:37,814 INFO L290 TraceCheckUtils]: 26: Hoare triple {1998#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1998#true} is VALID [2022-04-28 11:09:37,814 INFO L290 TraceCheckUtils]: 25: Hoare triple {1998#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1998#true} is VALID [2022-04-28 11:09:37,815 INFO L290 TraceCheckUtils]: 24: Hoare triple {1998#true} assume !!(~x~0 <= ~X~0); {1998#true} is VALID [2022-04-28 11:09:37,815 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1998#true} {1998#true} #65#return; {1998#true} is VALID [2022-04-28 11:09:37,815 INFO L290 TraceCheckUtils]: 22: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-28 11:09:37,815 INFO L290 TraceCheckUtils]: 21: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-28 11:09:37,815 INFO L290 TraceCheckUtils]: 20: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-28 11:09:37,815 INFO L272 TraceCheckUtils]: 19: Hoare triple {1998#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1998#true} is VALID [2022-04-28 11:09:37,815 INFO L290 TraceCheckUtils]: 18: Hoare triple {1998#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1998#true} is VALID [2022-04-28 11:09:37,815 INFO L290 TraceCheckUtils]: 17: Hoare triple {1998#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1998#true} is VALID [2022-04-28 11:09:37,815 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1998#true} {1998#true} #63#return; {1998#true} is VALID [2022-04-28 11:09:37,815 INFO L290 TraceCheckUtils]: 15: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-28 11:09:37,815 INFO L290 TraceCheckUtils]: 14: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-28 11:09:37,815 INFO L290 TraceCheckUtils]: 13: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-28 11:09:37,816 INFO L272 TraceCheckUtils]: 12: Hoare triple {1998#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-28 11:09:37,816 INFO L290 TraceCheckUtils]: 11: Hoare triple {1998#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1998#true} is VALID [2022-04-28 11:09:37,816 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1998#true} {1998#true} #61#return; {1998#true} is VALID [2022-04-28 11:09:37,816 INFO L290 TraceCheckUtils]: 9: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-28 11:09:37,816 INFO L290 TraceCheckUtils]: 8: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-28 11:09:37,816 INFO L290 TraceCheckUtils]: 7: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-28 11:09:37,817 INFO L272 TraceCheckUtils]: 6: Hoare triple {1998#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-28 11:09:37,817 INFO L290 TraceCheckUtils]: 5: Hoare triple {1998#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1998#true} is VALID [2022-04-28 11:09:37,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {1998#true} call #t~ret8 := main(); {1998#true} is VALID [2022-04-28 11:09:37,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} #69#return; {1998#true} is VALID [2022-04-28 11:09:37,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-28 11:09:37,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#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(15, 2);call #Ultimate.allocInit(12, 3); {1998#true} is VALID [2022-04-28 11:09:37,817 INFO L272 TraceCheckUtils]: 0: Hoare triple {1998#true} call ULTIMATE.init(); {1998#true} is VALID [2022-04-28 11:09:37,817 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 11:09:37,817 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:09:37,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2023265997] [2022-04-28 11:09:37,818 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:09:37,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1885672361] [2022-04-28 11:09:37,818 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1885672361] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:09:37,818 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:09:37,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 11] total 23 [2022-04-28 11:09:37,818 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:09:37,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1622214050] [2022-04-28 11:09:37,818 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1622214050] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:09:37,818 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:09:37,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 11:09:37,818 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [240598986] [2022-04-28 11:09:37,818 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:09:37,819 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 11:09:37,819 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:09:37,819 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 11:09:37,850 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:37,850 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 11:09:37,850 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:37,851 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 11:09:37,851 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=433, Unknown=0, NotChecked=0, Total=506 [2022-04-28 11:09:37,851 INFO L87 Difference]: Start difference. First operand 43 states and 46 transitions. Second operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 11:09:42,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:42,042 INFO L93 Difference]: Finished difference Result 66 states and 75 transitions. [2022-04-28 11:09:42,043 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 11:09:42,043 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 11:09:42,043 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:09:42,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 11:09:42,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 69 transitions. [2022-04-28 11:09:42,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 11:09:42,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 69 transitions. [2022-04-28 11:09:42,046 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 69 transitions. [2022-04-28 11:09:42,103 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-28 11:09:42,104 INFO L225 Difference]: With dead ends: 66 [2022-04-28 11:09:42,104 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 11:09:42,105 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 141 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=109, Invalid=647, Unknown=0, NotChecked=0, Total=756 [2022-04-28 11:09:42,105 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 28 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 320 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 333 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 320 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 11:09:42,106 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 118 Invalid, 333 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 320 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 11:09:42,107 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 11:09:42,165 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-04-28 11:09:42,165 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:09:42,166 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:09:42,166 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:09:42,166 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:09:42,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:42,167 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-28 11:09:42,168 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-28 11:09:42,168 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:42,168 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:42,168 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 53 states. [2022-04-28 11:09:42,168 INFO L87 Difference]: Start difference. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 53 states. [2022-04-28 11:09:42,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:42,169 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-28 11:09:42,169 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-28 11:09:42,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:42,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:42,170 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:09:42,170 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:09:42,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:09:42,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 57 transitions. [2022-04-28 11:09:42,171 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 57 transitions. Word has length 41 [2022-04-28 11:09:42,171 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:09:42,171 INFO L495 AbstractCegarLoop]: Abstraction has 53 states and 57 transitions. [2022-04-28 11:09:42,171 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 11:09:42,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 57 transitions. [2022-04-28 11:09:42,234 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:42,234 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-28 11:09:42,235 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 11:09:42,235 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:09:42,235 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:09:42,250 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 11:09:42,442 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:09:42,442 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:09:42,442 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:09:42,443 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 3 times [2022-04-28 11:09:42,443 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:42,443 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1258053883] [2022-04-28 11:09:42,443 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:09:42,443 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 4 times [2022-04-28 11:09:42,443 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:09:42,443 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [212730584] [2022-04-28 11:09:42,443 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:09:42,443 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:09:42,455 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:09:42,455 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1473868413] [2022-04-28 11:09:42,456 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:09:42,456 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:09:42,456 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:09:42,456 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:09:42,457 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 11:09:42,495 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:09:42,495 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:09:42,496 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-28 11:09:42,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:09:42,506 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:09:43,166 INFO L272 TraceCheckUtils]: 0: Hoare triple {2620#true} call ULTIMATE.init(); {2620#true} is VALID [2022-04-28 11:09:43,166 INFO L290 TraceCheckUtils]: 1: Hoare triple {2620#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(15, 2);call #Ultimate.allocInit(12, 3); {2620#true} is VALID [2022-04-28 11:09:43,166 INFO L290 TraceCheckUtils]: 2: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-28 11:09:43,166 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2620#true} {2620#true} #69#return; {2620#true} is VALID [2022-04-28 11:09:43,166 INFO L272 TraceCheckUtils]: 4: Hoare triple {2620#true} call #t~ret8 := main(); {2620#true} is VALID [2022-04-28 11:09:43,166 INFO L290 TraceCheckUtils]: 5: Hoare triple {2620#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2620#true} is VALID [2022-04-28 11:09:43,166 INFO L272 TraceCheckUtils]: 6: Hoare triple {2620#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-28 11:09:43,166 INFO L290 TraceCheckUtils]: 7: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-28 11:09:43,167 INFO L290 TraceCheckUtils]: 8: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-28 11:09:43,167 INFO L290 TraceCheckUtils]: 9: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-28 11:09:43,167 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2620#true} {2620#true} #61#return; {2620#true} is VALID [2022-04-28 11:09:43,167 INFO L290 TraceCheckUtils]: 11: Hoare triple {2620#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2620#true} is VALID [2022-04-28 11:09:43,167 INFO L272 TraceCheckUtils]: 12: Hoare triple {2620#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-28 11:09:43,172 INFO L290 TraceCheckUtils]: 13: Hoare triple {2620#true} ~cond := #in~cond; {2664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:09:43,173 INFO L290 TraceCheckUtils]: 14: Hoare triple {2664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:09:43,173 INFO L290 TraceCheckUtils]: 15: Hoare triple {2668#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:09:43,173 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2668#(not (= |assume_abort_if_not_#in~cond| 0))} {2620#true} #63#return; {2675#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:43,174 INFO L290 TraceCheckUtils]: 17: Hoare triple {2675#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:43,174 INFO L290 TraceCheckUtils]: 18: Hoare triple {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:43,174 INFO L272 TraceCheckUtils]: 19: Hoare triple {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2620#true} is VALID [2022-04-28 11:09:43,175 INFO L290 TraceCheckUtils]: 20: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-28 11:09:43,175 INFO L290 TraceCheckUtils]: 21: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-28 11:09:43,175 INFO L290 TraceCheckUtils]: 22: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-28 11:09:43,175 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2620#true} {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} #65#return; {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:43,176 INFO L290 TraceCheckUtils]: 24: Hoare triple {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:43,177 INFO L290 TraceCheckUtils]: 25: Hoare triple {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2704#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:43,177 INFO L290 TraceCheckUtils]: 26: Hoare triple {2704#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:43,178 INFO L290 TraceCheckUtils]: 27: Hoare triple {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2712#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:43,178 INFO L272 TraceCheckUtils]: 28: Hoare triple {2712#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2620#true} is VALID [2022-04-28 11:09:43,178 INFO L290 TraceCheckUtils]: 29: Hoare triple {2620#true} ~cond := #in~cond; {2719#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:43,178 INFO L290 TraceCheckUtils]: 30: Hoare triple {2719#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:43,179 INFO L290 TraceCheckUtils]: 31: Hoare triple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:43,180 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} {2712#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} #65#return; {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:43,180 INFO L290 TraceCheckUtils]: 33: Hoare triple {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {2733#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:43,181 INFO L290 TraceCheckUtils]: 34: Hoare triple {2733#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2737#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 1) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:43,181 INFO L290 TraceCheckUtils]: 35: Hoare triple {2737#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 1) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2741#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:43,182 INFO L290 TraceCheckUtils]: 36: Hoare triple {2741#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2745#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:43,183 INFO L272 TraceCheckUtils]: 37: Hoare triple {2745#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:09:43,183 INFO L290 TraceCheckUtils]: 38: Hoare triple {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2753#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:43,184 INFO L290 TraceCheckUtils]: 39: Hoare triple {2753#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2621#false} is VALID [2022-04-28 11:09:43,184 INFO L290 TraceCheckUtils]: 40: Hoare triple {2621#false} assume !false; {2621#false} is VALID [2022-04-28 11:09:43,184 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 9 proven. 10 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 11:09:43,184 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:09:44,502 INFO L290 TraceCheckUtils]: 40: Hoare triple {2621#false} assume !false; {2621#false} is VALID [2022-04-28 11:09:44,503 INFO L290 TraceCheckUtils]: 39: Hoare triple {2753#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2621#false} is VALID [2022-04-28 11:09:44,503 INFO L290 TraceCheckUtils]: 38: Hoare triple {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2753#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:44,504 INFO L272 TraceCheckUtils]: 37: Hoare triple {2769#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:09:44,505 INFO L290 TraceCheckUtils]: 36: Hoare triple {2773#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2769#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:09:44,508 INFO L290 TraceCheckUtils]: 35: Hoare triple {2777#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2773#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:09:44,510 INFO L290 TraceCheckUtils]: 34: Hoare triple {2781#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2777#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:09:44,511 INFO L290 TraceCheckUtils]: 33: Hoare triple {2785#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {2781#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:09:44,515 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} {2789#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {2785#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:09:44,516 INFO L290 TraceCheckUtils]: 31: Hoare triple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:44,516 INFO L290 TraceCheckUtils]: 30: Hoare triple {2799#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:44,516 INFO L290 TraceCheckUtils]: 29: Hoare triple {2620#true} ~cond := #in~cond; {2799#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:09:44,516 INFO L272 TraceCheckUtils]: 28: Hoare triple {2789#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2620#true} is VALID [2022-04-28 11:09:44,517 INFO L290 TraceCheckUtils]: 27: Hoare triple {2620#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2789#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:09:44,517 INFO L290 TraceCheckUtils]: 26: Hoare triple {2620#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2620#true} is VALID [2022-04-28 11:09:44,517 INFO L290 TraceCheckUtils]: 25: Hoare triple {2620#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2620#true} is VALID [2022-04-28 11:09:44,517 INFO L290 TraceCheckUtils]: 24: Hoare triple {2620#true} assume !!(~x~0 <= ~X~0); {2620#true} is VALID [2022-04-28 11:09:44,518 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2620#true} {2620#true} #65#return; {2620#true} is VALID [2022-04-28 11:09:44,518 INFO L290 TraceCheckUtils]: 22: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-28 11:09:44,518 INFO L290 TraceCheckUtils]: 21: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-28 11:09:44,518 INFO L290 TraceCheckUtils]: 20: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-28 11:09:44,518 INFO L272 TraceCheckUtils]: 19: Hoare triple {2620#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2620#true} is VALID [2022-04-28 11:09:44,518 INFO L290 TraceCheckUtils]: 18: Hoare triple {2620#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2620#true} is VALID [2022-04-28 11:09:44,518 INFO L290 TraceCheckUtils]: 17: Hoare triple {2620#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2620#true} is VALID [2022-04-28 11:09:44,518 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2620#true} {2620#true} #63#return; {2620#true} is VALID [2022-04-28 11:09:44,518 INFO L290 TraceCheckUtils]: 15: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-28 11:09:44,518 INFO L290 TraceCheckUtils]: 14: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-28 11:09:44,518 INFO L290 TraceCheckUtils]: 13: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-28 11:09:44,518 INFO L272 TraceCheckUtils]: 12: Hoare triple {2620#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-28 11:09:44,519 INFO L290 TraceCheckUtils]: 11: Hoare triple {2620#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2620#true} is VALID [2022-04-28 11:09:44,519 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2620#true} {2620#true} #61#return; {2620#true} is VALID [2022-04-28 11:09:44,519 INFO L290 TraceCheckUtils]: 9: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-28 11:09:44,519 INFO L290 TraceCheckUtils]: 8: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-28 11:09:44,519 INFO L290 TraceCheckUtils]: 7: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-28 11:09:44,519 INFO L272 TraceCheckUtils]: 6: Hoare triple {2620#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-28 11:09:44,519 INFO L290 TraceCheckUtils]: 5: Hoare triple {2620#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2620#true} is VALID [2022-04-28 11:09:44,519 INFO L272 TraceCheckUtils]: 4: Hoare triple {2620#true} call #t~ret8 := main(); {2620#true} is VALID [2022-04-28 11:09:44,519 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2620#true} {2620#true} #69#return; {2620#true} is VALID [2022-04-28 11:09:44,519 INFO L290 TraceCheckUtils]: 2: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-28 11:09:44,519 INFO L290 TraceCheckUtils]: 1: Hoare triple {2620#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(15, 2);call #Ultimate.allocInit(12, 3); {2620#true} is VALID [2022-04-28 11:09:44,519 INFO L272 TraceCheckUtils]: 0: Hoare triple {2620#true} call ULTIMATE.init(); {2620#true} is VALID [2022-04-28 11:09:44,520 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 11:09:44,520 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:09:44,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [212730584] [2022-04-28 11:09:44,520 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:09:44,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1473868413] [2022-04-28 11:09:44,520 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1473868413] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:09:44,520 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:09:44,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12] total 24 [2022-04-28 11:09:44,520 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:09:44,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1258053883] [2022-04-28 11:09:44,521 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1258053883] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:09:44,521 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:09:44,521 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 11:09:44,521 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [743030798] [2022-04-28 11:09:44,521 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:09:44,521 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 11:09:44,521 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:09:44,521 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:09:44,558 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:44,558 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 11:09:44,558 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:44,558 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 11:09:44,559 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=463, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:09:44,559 INFO L87 Difference]: Start difference. First operand 53 states and 57 transitions. Second operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:09:45,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:45,475 INFO L93 Difference]: Finished difference Result 77 states and 86 transitions. [2022-04-28 11:09:45,475 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 11:09:45,475 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 11:09:45,476 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:09:45,476 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:09:45,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 71 transitions. [2022-04-28 11:09:45,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:09:45,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 71 transitions. [2022-04-28 11:09:45,478 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 71 transitions. [2022-04-28 11:09:45,536 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:45,543 INFO L225 Difference]: With dead ends: 77 [2022-04-28 11:09:45,543 INFO L226 Difference]: Without dead ends: 64 [2022-04-28 11:09:45,543 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 57 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 166 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=127, Invalid=685, Unknown=0, NotChecked=0, Total=812 [2022-04-28 11:09:45,544 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 30 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 348 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 361 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 348 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 11:09:45,544 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 113 Invalid, 361 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 348 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 11:09:45,545 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-28 11:09:45,623 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 61. [2022-04-28 11:09:45,623 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:09:45,623 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:09:45,623 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:09:45,624 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:09:45,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:45,625 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-28 11:09:45,625 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-28 11:09:45,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:45,626 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:45,626 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 64 states. [2022-04-28 11:09:45,626 INFO L87 Difference]: Start difference. First operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 64 states. [2022-04-28 11:09:45,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:45,628 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-28 11:09:45,628 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-28 11:09:45,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:45,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:45,628 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:09:45,628 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:09:45,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:09:45,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 66 transitions. [2022-04-28 11:09:45,630 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 66 transitions. Word has length 41 [2022-04-28 11:09:45,630 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:09:45,630 INFO L495 AbstractCegarLoop]: Abstraction has 61 states and 66 transitions. [2022-04-28 11:09:45,630 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:09:45,630 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 66 transitions. [2022-04-28 11:09:45,709 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:45,710 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2022-04-28 11:09:45,710 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 11:09:45,710 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:09:45,710 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 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] [2022-04-28 11:09:45,726 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 11:09:45,911 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:09:45,911 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:09:45,912 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:09:45,912 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 3 times [2022-04-28 11:09:45,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:45,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [535741157] [2022-04-28 11:09:45,912 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:09:45,912 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 4 times [2022-04-28 11:09:45,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:09:45,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1602926972] [2022-04-28 11:09:45,912 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:09:45,913 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:09:45,923 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:09:45,923 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1039757392] [2022-04-28 11:09:45,923 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:09:45,923 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:09:45,923 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:09:45,924 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:09:45,944 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 11:09:45,977 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:09:45,978 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:09:45,978 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 11:09:45,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:09:45,990 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:09:46,898 INFO L272 TraceCheckUtils]: 0: Hoare triple {3303#true} call ULTIMATE.init(); {3303#true} is VALID [2022-04-28 11:09:46,898 INFO L290 TraceCheckUtils]: 1: Hoare triple {3303#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(15, 2);call #Ultimate.allocInit(12, 3); {3303#true} is VALID [2022-04-28 11:09:46,898 INFO L290 TraceCheckUtils]: 2: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 11:09:46,899 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3303#true} {3303#true} #69#return; {3303#true} is VALID [2022-04-28 11:09:46,899 INFO L272 TraceCheckUtils]: 4: Hoare triple {3303#true} call #t~ret8 := main(); {3303#true} is VALID [2022-04-28 11:09:46,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {3303#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3303#true} is VALID [2022-04-28 11:09:46,899 INFO L272 TraceCheckUtils]: 6: Hoare triple {3303#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-28 11:09:46,899 INFO L290 TraceCheckUtils]: 7: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-28 11:09:46,899 INFO L290 TraceCheckUtils]: 8: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-28 11:09:46,899 INFO L290 TraceCheckUtils]: 9: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 11:09:46,899 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3303#true} {3303#true} #61#return; {3303#true} is VALID [2022-04-28 11:09:46,899 INFO L290 TraceCheckUtils]: 11: Hoare triple {3303#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3303#true} is VALID [2022-04-28 11:09:46,899 INFO L272 TraceCheckUtils]: 12: Hoare triple {3303#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-28 11:09:46,900 INFO L290 TraceCheckUtils]: 13: Hoare triple {3303#true} ~cond := #in~cond; {3347#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:09:46,900 INFO L290 TraceCheckUtils]: 14: Hoare triple {3347#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3351#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:09:46,900 INFO L290 TraceCheckUtils]: 15: Hoare triple {3351#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3351#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:09:46,901 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3351#(not (= |assume_abort_if_not_#in~cond| 0))} {3303#true} #63#return; {3358#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,901 INFO L290 TraceCheckUtils]: 17: Hoare triple {3358#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,901 INFO L290 TraceCheckUtils]: 18: Hoare triple {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,902 INFO L272 TraceCheckUtils]: 19: Hoare triple {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-28 11:09:46,902 INFO L290 TraceCheckUtils]: 20: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-28 11:09:46,902 INFO L290 TraceCheckUtils]: 21: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-28 11:09:46,902 INFO L290 TraceCheckUtils]: 22: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 11:09:46,902 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3303#true} {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} #65#return; {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,903 INFO L290 TraceCheckUtils]: 24: Hoare triple {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,903 INFO L290 TraceCheckUtils]: 25: Hoare triple {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3387#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,904 INFO L290 TraceCheckUtils]: 26: Hoare triple {3387#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,904 INFO L290 TraceCheckUtils]: 27: Hoare triple {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,904 INFO L272 TraceCheckUtils]: 28: Hoare triple {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-28 11:09:46,905 INFO L290 TraceCheckUtils]: 29: Hoare triple {3303#true} ~cond := #in~cond; {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:46,905 INFO L290 TraceCheckUtils]: 30: Hoare triple {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:46,905 INFO L290 TraceCheckUtils]: 31: Hoare triple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:46,906 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} #65#return; {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,906 INFO L290 TraceCheckUtils]: 33: Hoare triple {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {3415#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,907 INFO L290 TraceCheckUtils]: 34: Hoare triple {3415#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3419#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,907 INFO L290 TraceCheckUtils]: 35: Hoare triple {3419#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,908 INFO L290 TraceCheckUtils]: 36: Hoare triple {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3427#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,908 INFO L272 TraceCheckUtils]: 37: Hoare triple {3427#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-28 11:09:46,908 INFO L290 TraceCheckUtils]: 38: Hoare triple {3303#true} ~cond := #in~cond; {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:46,908 INFO L290 TraceCheckUtils]: 39: Hoare triple {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:46,909 INFO L290 TraceCheckUtils]: 40: Hoare triple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:46,910 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} {3427#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #65#return; {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,910 INFO L290 TraceCheckUtils]: 42: Hoare triple {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !(~x~0 <= ~X~0); {3446#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,911 INFO L290 TraceCheckUtils]: 43: Hoare triple {3446#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3450#(and (= main_~y~0 2) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 1 main_~X~0) (not (<= 2 main_~X~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 11:09:46,912 INFO L272 TraceCheckUtils]: 44: Hoare triple {3450#(and (= main_~y~0 2) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 1 main_~X~0) (not (<= 2 main_~X~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:09:46,912 INFO L290 TraceCheckUtils]: 45: Hoare triple {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3458#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:46,913 INFO L290 TraceCheckUtils]: 46: Hoare triple {3458#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3304#false} is VALID [2022-04-28 11:09:46,913 INFO L290 TraceCheckUtils]: 47: Hoare triple {3304#false} assume !false; {3304#false} is VALID [2022-04-28 11:09:46,913 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 13 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-28 11:09:46,913 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:09:47,752 INFO L290 TraceCheckUtils]: 47: Hoare triple {3304#false} assume !false; {3304#false} is VALID [2022-04-28 11:09:47,753 INFO L290 TraceCheckUtils]: 46: Hoare triple {3458#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3304#false} is VALID [2022-04-28 11:09:47,753 INFO L290 TraceCheckUtils]: 45: Hoare triple {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3458#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:47,754 INFO L272 TraceCheckUtils]: 44: Hoare triple {3474#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:09:47,755 INFO L290 TraceCheckUtils]: 43: Hoare triple {3478#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3474#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:09:47,755 INFO L290 TraceCheckUtils]: 42: Hoare triple {3482#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {3478#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 11:09:47,756 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} {3486#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {3482#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:09:47,756 INFO L290 TraceCheckUtils]: 40: Hoare triple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:47,756 INFO L290 TraceCheckUtils]: 39: Hoare triple {3496#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:47,757 INFO L290 TraceCheckUtils]: 38: Hoare triple {3303#true} ~cond := #in~cond; {3496#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:09:47,757 INFO L272 TraceCheckUtils]: 37: Hoare triple {3486#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-28 11:09:47,758 INFO L290 TraceCheckUtils]: 36: Hoare triple {3503#(or (<= main_~x~0 main_~X~0) (not (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3486#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:09:47,851 INFO L290 TraceCheckUtils]: 35: Hoare triple {3507#(or (not (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3503#(or (<= main_~x~0 main_~X~0) (not (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:09:47,859 INFO L290 TraceCheckUtils]: 34: Hoare triple {3511#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (not (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3507#(or (not (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:09:47,861 INFO L290 TraceCheckUtils]: 33: Hoare triple {3303#true} assume !!(~x~0 <= ~X~0); {3511#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (not (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:09:47,861 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3303#true} {3303#true} #65#return; {3303#true} is VALID [2022-04-28 11:09:47,861 INFO L290 TraceCheckUtils]: 31: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 11:09:47,861 INFO L290 TraceCheckUtils]: 30: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-28 11:09:47,861 INFO L290 TraceCheckUtils]: 29: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-28 11:09:47,861 INFO L272 TraceCheckUtils]: 28: Hoare triple {3303#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-28 11:09:47,862 INFO L290 TraceCheckUtils]: 27: Hoare triple {3303#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3303#true} is VALID [2022-04-28 11:09:47,862 INFO L290 TraceCheckUtils]: 26: Hoare triple {3303#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3303#true} is VALID [2022-04-28 11:09:47,862 INFO L290 TraceCheckUtils]: 25: Hoare triple {3303#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3303#true} is VALID [2022-04-28 11:09:47,862 INFO L290 TraceCheckUtils]: 24: Hoare triple {3303#true} assume !!(~x~0 <= ~X~0); {3303#true} is VALID [2022-04-28 11:09:47,862 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3303#true} {3303#true} #65#return; {3303#true} is VALID [2022-04-28 11:09:47,862 INFO L290 TraceCheckUtils]: 22: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 11:09:47,862 INFO L290 TraceCheckUtils]: 21: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-28 11:09:47,862 INFO L290 TraceCheckUtils]: 20: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-28 11:09:47,863 INFO L272 TraceCheckUtils]: 19: Hoare triple {3303#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-28 11:09:47,863 INFO L290 TraceCheckUtils]: 18: Hoare triple {3303#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3303#true} is VALID [2022-04-28 11:09:47,863 INFO L290 TraceCheckUtils]: 17: Hoare triple {3303#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3303#true} is VALID [2022-04-28 11:09:47,863 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3303#true} {3303#true} #63#return; {3303#true} is VALID [2022-04-28 11:09:47,863 INFO L290 TraceCheckUtils]: 15: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 11:09:47,863 INFO L290 TraceCheckUtils]: 14: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-28 11:09:47,863 INFO L290 TraceCheckUtils]: 13: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-28 11:09:47,863 INFO L272 TraceCheckUtils]: 12: Hoare triple {3303#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-28 11:09:47,864 INFO L290 TraceCheckUtils]: 11: Hoare triple {3303#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3303#true} is VALID [2022-04-28 11:09:47,864 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3303#true} {3303#true} #61#return; {3303#true} is VALID [2022-04-28 11:09:47,864 INFO L290 TraceCheckUtils]: 9: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 11:09:47,864 INFO L290 TraceCheckUtils]: 8: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-28 11:09:47,864 INFO L290 TraceCheckUtils]: 7: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-28 11:09:47,864 INFO L272 TraceCheckUtils]: 6: Hoare triple {3303#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-28 11:09:47,864 INFO L290 TraceCheckUtils]: 5: Hoare triple {3303#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3303#true} is VALID [2022-04-28 11:09:47,864 INFO L272 TraceCheckUtils]: 4: Hoare triple {3303#true} call #t~ret8 := main(); {3303#true} is VALID [2022-04-28 11:09:47,864 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3303#true} {3303#true} #69#return; {3303#true} is VALID [2022-04-28 11:09:47,865 INFO L290 TraceCheckUtils]: 2: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 11:09:47,865 INFO L290 TraceCheckUtils]: 1: Hoare triple {3303#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(15, 2);call #Ultimate.allocInit(12, 3); {3303#true} is VALID [2022-04-28 11:09:47,865 INFO L272 TraceCheckUtils]: 0: Hoare triple {3303#true} call ULTIMATE.init(); {3303#true} is VALID [2022-04-28 11:09:47,865 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 19 proven. 1 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 11:09:47,865 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:09:47,865 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1602926972] [2022-04-28 11:09:47,866 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:09:47,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1039757392] [2022-04-28 11:09:47,866 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1039757392] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:09:47,866 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:09:47,866 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 13] total 26 [2022-04-28 11:09:47,866 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:09:47,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [535741157] [2022-04-28 11:09:47,866 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [535741157] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:09:47,866 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:09:47,866 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 11:09:47,866 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1987037553] [2022-04-28 11:09:47,866 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:09:47,867 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 11:09:47,867 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:09:47,867 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:47,901 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:47,901 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 11:09:47,901 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:47,901 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 11:09:47,902 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=548, Unknown=0, NotChecked=0, Total=650 [2022-04-28 11:09:47,902 INFO L87 Difference]: Start difference. First operand 61 states and 66 transitions. Second operand has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:49,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:49,000 INFO L93 Difference]: Finished difference Result 70 states and 74 transitions. [2022-04-28 11:09:49,000 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 11:09:49,001 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 11:09:49,001 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:09:49,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:49,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 56 transitions. [2022-04-28 11:09:49,002 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:49,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 56 transitions. [2022-04-28 11:09:49,003 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 56 transitions. [2022-04-28 11:09:49,051 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:49,052 INFO L225 Difference]: With dead ends: 70 [2022-04-28 11:09:49,052 INFO L226 Difference]: Without dead ends: 62 [2022-04-28 11:09:49,052 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 68 SyntacticMatches, 3 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 192 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=142, Invalid=788, Unknown=0, NotChecked=0, Total=930 [2022-04-28 11:09:49,053 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 27 mSDsluCounter, 159 mSDsCounter, 0 mSdLazyCounter, 444 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 454 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 444 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 11:09:49,053 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 178 Invalid, 454 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 444 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 11:09:49,053 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-04-28 11:09:49,127 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 53. [2022-04-28 11:09:49,127 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:09:49,127 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:09:49,127 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:09:49,127 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:09:49,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:49,129 INFO L93 Difference]: Finished difference Result 62 states and 66 transitions. [2022-04-28 11:09:49,129 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 66 transitions. [2022-04-28 11:09:49,129 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:49,129 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:49,129 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 62 states. [2022-04-28 11:09:49,130 INFO L87 Difference]: Start difference. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 62 states. [2022-04-28 11:09:49,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:49,131 INFO L93 Difference]: Finished difference Result 62 states and 66 transitions. [2022-04-28 11:09:49,131 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 66 transitions. [2022-04-28 11:09:49,131 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:49,131 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:49,131 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:09:49,131 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:09:49,131 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:09:49,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 57 transitions. [2022-04-28 11:09:49,132 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 57 transitions. Word has length 48 [2022-04-28 11:09:49,133 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:09:49,133 INFO L495 AbstractCegarLoop]: Abstraction has 53 states and 57 transitions. [2022-04-28 11:09:49,133 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:49,133 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 57 transitions. [2022-04-28 11:09:49,248 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:49,248 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-28 11:09:49,248 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:09:49,248 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:09:49,248 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:09:49,264 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 11:09:49,449 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:09:49,449 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:09:49,449 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:09:49,449 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 3 times [2022-04-28 11:09:49,449 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:49,449 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [344905643] [2022-04-28 11:09:49,450 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:09:49,450 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 4 times [2022-04-28 11:09:49,450 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:09:49,450 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1752730009] [2022-04-28 11:09:49,450 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:09:49,450 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:09:49,460 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:09:49,460 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1967983172] [2022-04-28 11:09:49,460 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:09:49,460 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:09:49,461 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:09:49,461 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:09:49,462 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 11:09:49,501 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:09:49,501 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:09:49,502 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 11:09:49,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:09:49,515 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:10:00,299 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:10:00,730 INFO L272 TraceCheckUtils]: 0: Hoare triple {3996#true} call ULTIMATE.init(); {3996#true} is VALID [2022-04-28 11:10:00,730 INFO L290 TraceCheckUtils]: 1: Hoare triple {3996#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(15, 2);call #Ultimate.allocInit(12, 3); {3996#true} is VALID [2022-04-28 11:10:00,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-28 11:10:00,731 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3996#true} {3996#true} #69#return; {3996#true} is VALID [2022-04-28 11:10:00,731 INFO L272 TraceCheckUtils]: 4: Hoare triple {3996#true} call #t~ret8 := main(); {3996#true} is VALID [2022-04-28 11:10:00,731 INFO L290 TraceCheckUtils]: 5: Hoare triple {3996#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3996#true} is VALID [2022-04-28 11:10:00,731 INFO L272 TraceCheckUtils]: 6: Hoare triple {3996#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {3996#true} is VALID [2022-04-28 11:10:00,731 INFO L290 TraceCheckUtils]: 7: Hoare triple {3996#true} ~cond := #in~cond; {4022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:10:00,732 INFO L290 TraceCheckUtils]: 8: Hoare triple {4022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:10:00,732 INFO L290 TraceCheckUtils]: 9: Hoare triple {4026#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:10:00,732 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4026#(not (= |assume_abort_if_not_#in~cond| 0))} {3996#true} #61#return; {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:10:00,733 INFO L290 TraceCheckUtils]: 11: Hoare triple {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:10:00,733 INFO L272 TraceCheckUtils]: 12: Hoare triple {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {3996#true} is VALID [2022-04-28 11:10:00,733 INFO L290 TraceCheckUtils]: 13: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-28 11:10:00,733 INFO L290 TraceCheckUtils]: 14: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-28 11:10:00,733 INFO L290 TraceCheckUtils]: 15: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-28 11:10:00,734 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3996#true} {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:10:00,735 INFO L290 TraceCheckUtils]: 17: Hoare triple {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:10:00,735 INFO L290 TraceCheckUtils]: 18: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:10:00,735 INFO L272 TraceCheckUtils]: 19: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3996#true} is VALID [2022-04-28 11:10:00,736 INFO L290 TraceCheckUtils]: 20: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-28 11:10:00,736 INFO L290 TraceCheckUtils]: 21: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-28 11:10:00,736 INFO L290 TraceCheckUtils]: 22: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-28 11:10:00,736 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3996#true} {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} #65#return; {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:10:00,737 INFO L290 TraceCheckUtils]: 24: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:10:00,738 INFO L290 TraceCheckUtils]: 25: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4080#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:10:00,739 INFO L290 TraceCheckUtils]: 26: Hoare triple {4080#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:10:00,739 INFO L290 TraceCheckUtils]: 27: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:10:00,739 INFO L272 TraceCheckUtils]: 28: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3996#true} is VALID [2022-04-28 11:10:00,739 INFO L290 TraceCheckUtils]: 29: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-28 11:10:00,739 INFO L290 TraceCheckUtils]: 30: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-28 11:10:00,740 INFO L290 TraceCheckUtils]: 31: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-28 11:10:00,740 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3996#true} {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:10:00,741 INFO L290 TraceCheckUtils]: 33: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:10:00,742 INFO L290 TraceCheckUtils]: 34: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {4109#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= 1 main_~x~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:10:00,742 INFO L290 TraceCheckUtils]: 35: Hoare triple {4109#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= 1 main_~x~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-28 11:10:00,743 INFO L290 TraceCheckUtils]: 36: Hoare triple {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-28 11:10:00,743 INFO L272 TraceCheckUtils]: 37: Hoare triple {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3996#true} is VALID [2022-04-28 11:10:00,743 INFO L290 TraceCheckUtils]: 38: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-28 11:10:00,743 INFO L290 TraceCheckUtils]: 39: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-28 11:10:00,743 INFO L290 TraceCheckUtils]: 40: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-28 11:10:00,744 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3996#true} {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} #65#return; {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-28 11:10:00,744 INFO L290 TraceCheckUtils]: 42: Hoare triple {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} assume !!(~x~0 <= ~X~0); {4135#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-28 11:10:00,745 INFO L290 TraceCheckUtils]: 43: Hoare triple {4135#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4139#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 2 main_~x~0) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-28 11:10:00,746 INFO L290 TraceCheckUtils]: 44: Hoare triple {4139#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 2 main_~x~0) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4143#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 3 main_~x~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:10:00,748 INFO L290 TraceCheckUtils]: 45: Hoare triple {4143#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 3 main_~x~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4147#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~xy~0 (* main_~X~0 2)) (<= 3 (div main_~yx~0 main_~Y~0)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= (div main_~yx~0 main_~Y~0) (+ main_~X~0 1)))} is VALID [2022-04-28 11:10:00,751 INFO L272 TraceCheckUtils]: 46: Hoare triple {4147#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~xy~0 (* main_~X~0 2)) (<= 3 (div main_~yx~0 main_~Y~0)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= (div main_~yx~0 main_~Y~0) (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4151#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:10:00,751 INFO L290 TraceCheckUtils]: 47: Hoare triple {4151#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4155#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:10:00,751 INFO L290 TraceCheckUtils]: 48: Hoare triple {4155#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3997#false} is VALID [2022-04-28 11:10:00,751 INFO L290 TraceCheckUtils]: 49: Hoare triple {3997#false} assume !false; {3997#false} is VALID [2022-04-28 11:10:00,752 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 6 proven. 24 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 11:10:00,752 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:10:19,492 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:10:19,492 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1752730009] [2022-04-28 11:10:19,492 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:10:19,492 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1967983172] [2022-04-28 11:10:19,492 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1967983172] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 11:10:19,492 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 11:10:19,492 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-28 11:10:19,493 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:10:19,493 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [344905643] [2022-04-28 11:10:19,493 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [344905643] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:10:19,493 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:10:19,493 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 11:10:19,493 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1129646763] [2022-04-28 11:10:19,493 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:10:19,493 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 11:10:19,494 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:10:19,494 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 11:10:19,535 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:10:19,535 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 11:10:19,535 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:19,535 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 11:10:19,535 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=423, Unknown=0, NotChecked=0, Total=506 [2022-04-28 11:10:19,536 INFO L87 Difference]: Start difference. First operand 53 states and 57 transitions. Second operand has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 11:10:20,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:20,446 INFO L93 Difference]: Finished difference Result 81 states and 90 transitions. [2022-04-28 11:10:20,446 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 11:10:20,446 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 11:10:20,447 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:10:20,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 11:10:20,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 75 transitions. [2022-04-28 11:10:20,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 11:10:20,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 75 transitions. [2022-04-28 11:10:20,449 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 75 transitions. [2022-04-28 11:10:20,515 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-28 11:10:20,516 INFO L225 Difference]: With dead ends: 81 [2022-04-28 11:10:20,516 INFO L226 Difference]: Without dead ends: 68 [2022-04-28 11:10:20,517 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 45 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 139 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=102, Invalid=548, Unknown=0, NotChecked=0, Total=650 [2022-04-28 11:10:20,517 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 28 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 303 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 320 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 303 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 11:10:20,517 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 116 Invalid, 320 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 303 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 11:10:20,517 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-04-28 11:10:20,643 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 66. [2022-04-28 11:10:20,643 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:10:20,644 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:10:20,644 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:10:20,644 INFO L87 Difference]: Start difference. First operand 68 states. Second operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:10:20,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:20,645 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-28 11:10:20,646 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-28 11:10:20,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:20,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:20,646 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 68 states. [2022-04-28 11:10:20,646 INFO L87 Difference]: Start difference. First operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 68 states. [2022-04-28 11:10:20,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:20,648 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-28 11:10:20,648 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-28 11:10:20,648 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:20,648 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:20,649 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:10:20,649 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:10:20,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 11:10:20,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 71 transitions. [2022-04-28 11:10:20,650 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 71 transitions. Word has length 50 [2022-04-28 11:10:20,650 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:10:20,650 INFO L495 AbstractCegarLoop]: Abstraction has 66 states and 71 transitions. [2022-04-28 11:10:20,650 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 11:10:20,650 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 71 transitions. [2022-04-28 11:10:20,754 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:10:20,754 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 71 transitions. [2022-04-28 11:10:20,754 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:10:20,754 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:10:20,754 INFO L195 NwaCegarLoop]: trace histogram [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] [2022-04-28 11:10:20,770 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-28 11:10:20,963 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 11:10:20,963 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:10:20,964 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:10:20,964 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 5 times [2022-04-28 11:10:20,964 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:20,964 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2098153350] [2022-04-28 11:10:20,964 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:10:20,964 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 6 times [2022-04-28 11:10:20,964 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:10:20,964 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1452211086] [2022-04-28 11:10:20,965 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:10:20,965 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:10:20,985 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:10:20,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1519519511] [2022-04-28 11:10:20,985 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:10:20,985 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:10:20,985 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:10:20,987 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:10:20,991 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 11:10:21,033 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 11:10:21,034 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:10:21,035 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-28 11:10:21,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:21,050 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:10:21,726 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:10:34,789 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:10:40,812 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:10:53,745 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:10:59,764 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:11:00,495 INFO L272 TraceCheckUtils]: 0: Hoare triple {4658#true} call ULTIMATE.init(); {4658#true} is VALID [2022-04-28 11:11:00,496 INFO L290 TraceCheckUtils]: 1: Hoare triple {4658#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(15, 2);call #Ultimate.allocInit(12, 3); {4658#true} is VALID [2022-04-28 11:11:00,496 INFO L290 TraceCheckUtils]: 2: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-28 11:11:00,496 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4658#true} {4658#true} #69#return; {4658#true} is VALID [2022-04-28 11:11:00,496 INFO L272 TraceCheckUtils]: 4: Hoare triple {4658#true} call #t~ret8 := main(); {4658#true} is VALID [2022-04-28 11:11:00,496 INFO L290 TraceCheckUtils]: 5: Hoare triple {4658#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4658#true} is VALID [2022-04-28 11:11:00,496 INFO L272 TraceCheckUtils]: 6: Hoare triple {4658#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-28 11:11:00,497 INFO L290 TraceCheckUtils]: 7: Hoare triple {4658#true} ~cond := #in~cond; {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:11:00,497 INFO L290 TraceCheckUtils]: 8: Hoare triple {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:11:00,498 INFO L290 TraceCheckUtils]: 9: Hoare triple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:11:00,498 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} {4658#true} #61#return; {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:11:00,499 INFO L290 TraceCheckUtils]: 11: Hoare triple {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:11:00,499 INFO L272 TraceCheckUtils]: 12: Hoare triple {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-28 11:11:00,499 INFO L290 TraceCheckUtils]: 13: Hoare triple {4658#true} ~cond := #in~cond; {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:11:00,499 INFO L290 TraceCheckUtils]: 14: Hoare triple {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:11:00,500 INFO L290 TraceCheckUtils]: 15: Hoare triple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:11:00,500 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {4714#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,501 INFO L290 TraceCheckUtils]: 17: Hoare triple {4714#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,501 INFO L290 TraceCheckUtils]: 18: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,501 INFO L272 TraceCheckUtils]: 19: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-28 11:11:00,501 INFO L290 TraceCheckUtils]: 20: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-28 11:11:00,501 INFO L290 TraceCheckUtils]: 21: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-28 11:11:00,501 INFO L290 TraceCheckUtils]: 22: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-28 11:11:00,502 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4658#true} {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} #65#return; {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,502 INFO L290 TraceCheckUtils]: 24: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,503 INFO L290 TraceCheckUtils]: 25: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4743#(and (<= main_~X~0 2) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,504 INFO L290 TraceCheckUtils]: 26: Hoare triple {4743#(and (<= main_~X~0 2) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4747#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,504 INFO L290 TraceCheckUtils]: 27: Hoare triple {4747#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4751#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,504 INFO L272 TraceCheckUtils]: 28: Hoare triple {4751#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-28 11:11:00,504 INFO L290 TraceCheckUtils]: 29: Hoare triple {4658#true} ~cond := #in~cond; {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:11:00,505 INFO L290 TraceCheckUtils]: 30: Hoare triple {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:00,505 INFO L290 TraceCheckUtils]: 31: Hoare triple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:00,506 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} {4751#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 2))} #65#return; {4769#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,507 INFO L290 TraceCheckUtils]: 33: Hoare triple {4769#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {4769#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,508 INFO L290 TraceCheckUtils]: 34: Hoare triple {4769#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4776#(and (= main_~y~0 2) (<= 1 main_~x~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~X~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,509 INFO L290 TraceCheckUtils]: 35: Hoare triple {4776#(and (= main_~y~0 2) (<= 1 main_~x~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~X~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4780#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,509 INFO L290 TraceCheckUtils]: 36: Hoare triple {4780#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4784#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,509 INFO L272 TraceCheckUtils]: 37: Hoare triple {4784#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-28 11:11:00,510 INFO L290 TraceCheckUtils]: 38: Hoare triple {4658#true} ~cond := #in~cond; {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:11:00,510 INFO L290 TraceCheckUtils]: 39: Hoare triple {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:00,510 INFO L290 TraceCheckUtils]: 40: Hoare triple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:00,511 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} {4784#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #65#return; {4800#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,512 INFO L290 TraceCheckUtils]: 42: Hoare triple {4800#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {4804#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,514 INFO L290 TraceCheckUtils]: 43: Hoare triple {4804#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4808#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,516 INFO L290 TraceCheckUtils]: 44: Hoare triple {4808#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4812#(and (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 3 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (<= main_~x~0 (+ main_~X~0 1)) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,522 INFO L290 TraceCheckUtils]: 45: Hoare triple {4812#(and (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 3 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (<= main_~x~0 (+ main_~X~0 1)) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4816#(and (<= (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) (+ main_~X~0 1)) (<= 3 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0)) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (* (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (mod main_~xy~0 main_~X~0) 0) (<= main_~Y~0 2))} is VALID [2022-04-28 11:11:00,524 INFO L272 TraceCheckUtils]: 46: Hoare triple {4816#(and (<= (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) (+ main_~X~0 1)) (<= 3 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0)) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (* (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (mod main_~xy~0 main_~X~0) 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4820#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:11:00,525 INFO L290 TraceCheckUtils]: 47: Hoare triple {4820#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:11:00,525 INFO L290 TraceCheckUtils]: 48: Hoare triple {4824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4659#false} is VALID [2022-04-28 11:11:00,525 INFO L290 TraceCheckUtils]: 49: Hoare triple {4659#false} assume !false; {4659#false} is VALID [2022-04-28 11:11:00,526 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 11:11:00,526 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:11:04,446 INFO L290 TraceCheckUtils]: 49: Hoare triple {4659#false} assume !false; {4659#false} is VALID [2022-04-28 11:11:04,446 INFO L290 TraceCheckUtils]: 48: Hoare triple {4824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4659#false} is VALID [2022-04-28 11:11:04,447 INFO L290 TraceCheckUtils]: 47: Hoare triple {4820#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:11:04,447 INFO L272 TraceCheckUtils]: 46: Hoare triple {4840#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4820#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:11:04,448 INFO L290 TraceCheckUtils]: 45: Hoare triple {4844#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4840#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:11:04,450 INFO L290 TraceCheckUtils]: 44: Hoare triple {4848#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4844#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:11:04,451 INFO L290 TraceCheckUtils]: 43: Hoare triple {4844#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4848#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:11:04,452 INFO L290 TraceCheckUtils]: 42: Hoare triple {4855#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {4844#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:11:04,452 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} {4859#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {4855#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:11:04,453 INFO L290 TraceCheckUtils]: 40: Hoare triple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:04,453 INFO L290 TraceCheckUtils]: 39: Hoare triple {4869#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:04,453 INFO L290 TraceCheckUtils]: 38: Hoare triple {4658#true} ~cond := #in~cond; {4869#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:11:04,453 INFO L272 TraceCheckUtils]: 37: Hoare triple {4859#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-28 11:11:04,454 INFO L290 TraceCheckUtils]: 36: Hoare triple {4658#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4859#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:11:04,454 INFO L290 TraceCheckUtils]: 35: Hoare triple {4658#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4658#true} is VALID [2022-04-28 11:11:04,454 INFO L290 TraceCheckUtils]: 34: Hoare triple {4658#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4658#true} is VALID [2022-04-28 11:11:04,454 INFO L290 TraceCheckUtils]: 33: Hoare triple {4658#true} assume !!(~x~0 <= ~X~0); {4658#true} is VALID [2022-04-28 11:11:04,454 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4658#true} {4658#true} #65#return; {4658#true} is VALID [2022-04-28 11:11:04,455 INFO L290 TraceCheckUtils]: 31: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-28 11:11:04,455 INFO L290 TraceCheckUtils]: 30: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-28 11:11:04,455 INFO L290 TraceCheckUtils]: 29: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-28 11:11:04,455 INFO L272 TraceCheckUtils]: 28: Hoare triple {4658#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-28 11:11:04,455 INFO L290 TraceCheckUtils]: 27: Hoare triple {4658#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4658#true} is VALID [2022-04-28 11:11:04,455 INFO L290 TraceCheckUtils]: 26: Hoare triple {4658#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4658#true} is VALID [2022-04-28 11:11:04,455 INFO L290 TraceCheckUtils]: 25: Hoare triple {4658#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4658#true} is VALID [2022-04-28 11:11:04,455 INFO L290 TraceCheckUtils]: 24: Hoare triple {4658#true} assume !!(~x~0 <= ~X~0); {4658#true} is VALID [2022-04-28 11:11:04,455 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4658#true} {4658#true} #65#return; {4658#true} is VALID [2022-04-28 11:11:04,455 INFO L290 TraceCheckUtils]: 22: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-28 11:11:04,455 INFO L290 TraceCheckUtils]: 21: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-28 11:11:04,455 INFO L290 TraceCheckUtils]: 20: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-28 11:11:04,455 INFO L272 TraceCheckUtils]: 19: Hoare triple {4658#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-28 11:11:04,456 INFO L290 TraceCheckUtils]: 18: Hoare triple {4658#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4658#true} is VALID [2022-04-28 11:11:04,456 INFO L290 TraceCheckUtils]: 17: Hoare triple {4658#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4658#true} is VALID [2022-04-28 11:11:04,456 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4658#true} {4658#true} #63#return; {4658#true} is VALID [2022-04-28 11:11:04,456 INFO L290 TraceCheckUtils]: 15: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-28 11:11:04,456 INFO L290 TraceCheckUtils]: 14: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-28 11:11:04,456 INFO L290 TraceCheckUtils]: 13: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-28 11:11:04,456 INFO L272 TraceCheckUtils]: 12: Hoare triple {4658#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-28 11:11:04,456 INFO L290 TraceCheckUtils]: 11: Hoare triple {4658#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4658#true} is VALID [2022-04-28 11:11:04,456 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4658#true} {4658#true} #61#return; {4658#true} is VALID [2022-04-28 11:11:04,456 INFO L290 TraceCheckUtils]: 9: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-28 11:11:04,456 INFO L290 TraceCheckUtils]: 8: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-28 11:11:04,456 INFO L290 TraceCheckUtils]: 7: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-28 11:11:04,456 INFO L272 TraceCheckUtils]: 6: Hoare triple {4658#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-28 11:11:04,456 INFO L290 TraceCheckUtils]: 5: Hoare triple {4658#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4658#true} is VALID [2022-04-28 11:11:04,457 INFO L272 TraceCheckUtils]: 4: Hoare triple {4658#true} call #t~ret8 := main(); {4658#true} is VALID [2022-04-28 11:11:04,457 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4658#true} {4658#true} #69#return; {4658#true} is VALID [2022-04-28 11:11:04,457 INFO L290 TraceCheckUtils]: 2: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-28 11:11:04,457 INFO L290 TraceCheckUtils]: 1: Hoare triple {4658#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(15, 2);call #Ultimate.allocInit(12, 3); {4658#true} is VALID [2022-04-28 11:11:04,457 INFO L272 TraceCheckUtils]: 0: Hoare triple {4658#true} call ULTIMATE.init(); {4658#true} is VALID [2022-04-28 11:11:04,457 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-28 11:11:04,457 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:11:04,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1452211086] [2022-04-28 11:11:04,457 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:11:04,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1519519511] [2022-04-28 11:11:04,457 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1519519511] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:11:04,458 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:11:04,458 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 11] total 29 [2022-04-28 11:11:04,458 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:11:04,458 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2098153350] [2022-04-28 11:11:04,458 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2098153350] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:11:04,458 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:11:04,458 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 11:11:04,458 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1236048672] [2022-04-28 11:11:04,458 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:11:04,459 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 11:11:04,459 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:11:04,459 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 11:11:04,505 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:11:04,505 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 11:11:04,505 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:11:04,506 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 11:11:04,506 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=119, Invalid=693, Unknown=0, NotChecked=0, Total=812 [2022-04-28 11:11:04,506 INFO L87 Difference]: Start difference. First operand 66 states and 71 transitions. Second operand has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 11:11:06,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:06,742 INFO L93 Difference]: Finished difference Result 88 states and 93 transitions. [2022-04-28 11:11:06,742 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 11:11:06,742 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 11:11:06,742 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:11:06,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 11:11:06,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 74 transitions. [2022-04-28 11:11:06,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 11:11:06,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 74 transitions. [2022-04-28 11:11:06,745 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 74 transitions. [2022-04-28 11:11:06,818 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:11:06,819 INFO L225 Difference]: With dead ends: 88 [2022-04-28 11:11:06,819 INFO L226 Difference]: Without dead ends: 73 [2022-04-28 11:11:06,820 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 70 SyntacticMatches, 2 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 285 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=181, Invalid=1079, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 11:11:06,820 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 32 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 539 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 159 SdHoareTripleChecker+Invalid, 559 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 539 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 11:11:06,820 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [34 Valid, 159 Invalid, 559 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 539 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 11:11:06,821 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-28 11:11:06,918 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 54. [2022-04-28 11:11:06,919 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:11:06,919 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:11:06,919 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:11:06,919 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:11:06,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:06,921 INFO L93 Difference]: Finished difference Result 73 states and 74 transitions. [2022-04-28 11:11:06,921 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 74 transitions. [2022-04-28 11:11:06,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:06,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:06,922 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 73 states. [2022-04-28 11:11:06,922 INFO L87 Difference]: Start difference. First operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 73 states. [2022-04-28 11:11:06,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:06,923 INFO L93 Difference]: Finished difference Result 73 states and 74 transitions. [2022-04-28 11:11:06,923 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 74 transitions. [2022-04-28 11:11:06,923 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:06,923 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:06,923 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:11:06,923 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:11:06,923 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:11:06,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 55 transitions. [2022-04-28 11:11:06,924 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 55 transitions. Word has length 50 [2022-04-28 11:11:06,924 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:11:06,924 INFO L495 AbstractCegarLoop]: Abstraction has 54 states and 55 transitions. [2022-04-28 11:11:06,924 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 11:11:06,924 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 55 transitions. [2022-04-28 11:11:07,037 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-28 11:11:07,037 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 55 transitions. [2022-04-28 11:11:07,037 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 11:11:07,037 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:11:07,037 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:11:07,059 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 11:11:07,238 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 11:11:07,239 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:11:07,239 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:11:07,239 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 1 times [2022-04-28 11:11:07,239 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:11:07,239 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2128963374] [2022-04-28 11:11:07,240 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:11:07,240 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 2 times [2022-04-28 11:11:07,240 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:11:07,240 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [21016526] [2022-04-28 11:11:07,240 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:11:07,240 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:11:07,249 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:11:07,249 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1805641838] [2022-04-28 11:11:07,250 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:11:07,250 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:11:07,250 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:11:07,250 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:11:07,266 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 11:11:07,293 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:11:07,293 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:11:07,294 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 11:11:07,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:11:07,305 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:11:08,138 INFO L272 TraceCheckUtils]: 0: Hoare triple {5430#true} call ULTIMATE.init(); {5430#true} is VALID [2022-04-28 11:11:08,138 INFO L290 TraceCheckUtils]: 1: Hoare triple {5430#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(15, 2);call #Ultimate.allocInit(12, 3); {5430#true} is VALID [2022-04-28 11:11:08,138 INFO L290 TraceCheckUtils]: 2: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 11:11:08,138 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5430#true} {5430#true} #69#return; {5430#true} is VALID [2022-04-28 11:11:08,139 INFO L272 TraceCheckUtils]: 4: Hoare triple {5430#true} call #t~ret8 := main(); {5430#true} is VALID [2022-04-28 11:11:08,139 INFO L290 TraceCheckUtils]: 5: Hoare triple {5430#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {5430#true} is VALID [2022-04-28 11:11:08,139 INFO L272 TraceCheckUtils]: 6: Hoare triple {5430#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {5430#true} is VALID [2022-04-28 11:11:08,139 INFO L290 TraceCheckUtils]: 7: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 11:11:08,139 INFO L290 TraceCheckUtils]: 8: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 11:11:08,139 INFO L290 TraceCheckUtils]: 9: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 11:11:08,139 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5430#true} {5430#true} #61#return; {5430#true} is VALID [2022-04-28 11:11:08,139 INFO L290 TraceCheckUtils]: 11: Hoare triple {5430#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5430#true} is VALID [2022-04-28 11:11:08,139 INFO L272 TraceCheckUtils]: 12: Hoare triple {5430#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {5430#true} is VALID [2022-04-28 11:11:08,139 INFO L290 TraceCheckUtils]: 13: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 11:11:08,139 INFO L290 TraceCheckUtils]: 14: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 11:11:08,139 INFO L290 TraceCheckUtils]: 15: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 11:11:08,139 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5430#true} {5430#true} #63#return; {5430#true} is VALID [2022-04-28 11:11:08,147 INFO L290 TraceCheckUtils]: 17: Hoare triple {5430#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:11:08,148 INFO L290 TraceCheckUtils]: 18: Hoare triple {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:11:08,148 INFO L272 TraceCheckUtils]: 19: Hoare triple {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 11:11:08,148 INFO L290 TraceCheckUtils]: 20: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 11:11:08,148 INFO L290 TraceCheckUtils]: 21: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 11:11:08,148 INFO L290 TraceCheckUtils]: 22: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 11:11:08,148 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5430#true} {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:11:08,149 INFO L290 TraceCheckUtils]: 24: Hoare triple {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:11:08,150 INFO L290 TraceCheckUtils]: 25: Hoare triple {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5511#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:11:08,150 INFO L290 TraceCheckUtils]: 26: Hoare triple {5511#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:11:08,151 INFO L290 TraceCheckUtils]: 27: Hoare triple {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:11:08,151 INFO L272 TraceCheckUtils]: 28: Hoare triple {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 11:11:08,151 INFO L290 TraceCheckUtils]: 29: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 11:11:08,151 INFO L290 TraceCheckUtils]: 30: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 11:11:08,151 INFO L290 TraceCheckUtils]: 31: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 11:11:08,151 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5430#true} {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #65#return; {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:11:08,152 INFO L290 TraceCheckUtils]: 33: Hoare triple {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:11:08,153 INFO L290 TraceCheckUtils]: 34: Hoare triple {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5540#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1))} is VALID [2022-04-28 11:11:08,153 INFO L290 TraceCheckUtils]: 35: Hoare triple {5540#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-28 11:11:08,154 INFO L290 TraceCheckUtils]: 36: Hoare triple {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-28 11:11:08,154 INFO L272 TraceCheckUtils]: 37: Hoare triple {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 11:11:08,154 INFO L290 TraceCheckUtils]: 38: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 11:11:08,154 INFO L290 TraceCheckUtils]: 39: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 11:11:08,154 INFO L290 TraceCheckUtils]: 40: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 11:11:08,155 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5430#true} {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} #65#return; {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-28 11:11:08,155 INFO L290 TraceCheckUtils]: 42: Hoare triple {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} assume !!(~x~0 <= ~X~0); {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-28 11:11:08,156 INFO L290 TraceCheckUtils]: 43: Hoare triple {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5569#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2))} is VALID [2022-04-28 11:11:08,156 INFO L290 TraceCheckUtils]: 44: Hoare triple {5569#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5573#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-28 11:11:08,157 INFO L290 TraceCheckUtils]: 45: Hoare triple {5573#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5573#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-28 11:11:08,157 INFO L272 TraceCheckUtils]: 46: Hoare triple {5573#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 11:11:08,157 INFO L290 TraceCheckUtils]: 47: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 11:11:08,157 INFO L290 TraceCheckUtils]: 48: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 11:11:08,157 INFO L290 TraceCheckUtils]: 49: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 11:11:08,158 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5430#true} {5573#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} #65#return; {5573#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-28 11:11:08,158 INFO L290 TraceCheckUtils]: 51: Hoare triple {5573#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} assume !(~x~0 <= ~X~0); {5595#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:11:08,159 INFO L290 TraceCheckUtils]: 52: Hoare triple {5595#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5599#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= (* main_~Y~0 3) main_~yx~0) (= main_~xy~0 (* main_~y~0 3)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= 3 main_~X~0)))} is VALID [2022-04-28 11:11:08,160 INFO L272 TraceCheckUtils]: 53: Hoare triple {5599#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= (* main_~Y~0 3) main_~yx~0) (= main_~xy~0 (* main_~y~0 3)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= 3 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5603#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:11:08,160 INFO L290 TraceCheckUtils]: 54: Hoare triple {5603#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5607#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:11:08,160 INFO L290 TraceCheckUtils]: 55: Hoare triple {5607#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5431#false} is VALID [2022-04-28 11:11:08,161 INFO L290 TraceCheckUtils]: 56: Hoare triple {5431#false} assume !false; {5431#false} is VALID [2022-04-28 11:11:08,161 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 11:11:08,161 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:11:09,561 INFO L290 TraceCheckUtils]: 56: Hoare triple {5431#false} assume !false; {5431#false} is VALID [2022-04-28 11:11:09,561 INFO L290 TraceCheckUtils]: 55: Hoare triple {5607#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5431#false} is VALID [2022-04-28 11:11:09,561 INFO L290 TraceCheckUtils]: 54: Hoare triple {5603#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5607#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:11:09,562 INFO L272 TraceCheckUtils]: 53: Hoare triple {5623#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5603#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:11:09,563 INFO L290 TraceCheckUtils]: 52: Hoare triple {5627#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5623#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:11:09,564 INFO L290 TraceCheckUtils]: 51: Hoare triple {5631#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {5627#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 11:11:09,564 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5430#true} {5631#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {5631#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:11:09,564 INFO L290 TraceCheckUtils]: 49: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 11:11:09,564 INFO L290 TraceCheckUtils]: 48: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 11:11:09,564 INFO L290 TraceCheckUtils]: 47: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 11:11:09,564 INFO L272 TraceCheckUtils]: 46: Hoare triple {5631#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 11:11:09,565 INFO L290 TraceCheckUtils]: 45: Hoare triple {5631#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5631#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:11:09,569 INFO L290 TraceCheckUtils]: 44: Hoare triple {5653#(or (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5631#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:11:09,571 INFO L290 TraceCheckUtils]: 43: Hoare triple {5657#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5653#(or (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:11:09,572 INFO L290 TraceCheckUtils]: 42: Hoare triple {5661#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {5657#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:11:09,572 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5430#true} {5661#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {5661#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:11:09,572 INFO L290 TraceCheckUtils]: 40: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 11:11:09,572 INFO L290 TraceCheckUtils]: 39: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 11:11:09,572 INFO L290 TraceCheckUtils]: 38: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 11:11:09,572 INFO L272 TraceCheckUtils]: 37: Hoare triple {5661#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 11:11:09,573 INFO L290 TraceCheckUtils]: 36: Hoare triple {5661#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5661#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:11:09,575 INFO L290 TraceCheckUtils]: 35: Hoare triple {5683#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5661#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:11:09,576 INFO L290 TraceCheckUtils]: 34: Hoare triple {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5683#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 11:11:09,576 INFO L290 TraceCheckUtils]: 33: Hoare triple {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !!(~x~0 <= ~X~0); {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 11:11:09,577 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5430#true} {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} #65#return; {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 11:11:09,577 INFO L290 TraceCheckUtils]: 31: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 11:11:09,577 INFO L290 TraceCheckUtils]: 30: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 11:11:09,577 INFO L290 TraceCheckUtils]: 29: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 11:11:09,577 INFO L272 TraceCheckUtils]: 28: Hoare triple {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 11:11:09,578 INFO L290 TraceCheckUtils]: 27: Hoare triple {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 11:11:09,587 INFO L290 TraceCheckUtils]: 26: Hoare triple {5712#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 4 (* main_~y~0 4)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 4 (* main_~y~0 4)) (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0)))))) (not (<= (+ main_~x~0 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 11:11:09,589 INFO L290 TraceCheckUtils]: 25: Hoare triple {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5712#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 4 (* main_~y~0 4)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 4 (* main_~y~0 4)) (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0)))))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 11:11:09,590 INFO L290 TraceCheckUtils]: 24: Hoare triple {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !!(~x~0 <= ~X~0); {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 11:11:09,591 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5430#true} {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} #65#return; {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 11:11:09,591 INFO L290 TraceCheckUtils]: 22: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 11:11:09,591 INFO L290 TraceCheckUtils]: 21: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 11:11:09,591 INFO L290 TraceCheckUtils]: 20: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 11:11:09,591 INFO L272 TraceCheckUtils]: 19: Hoare triple {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 11:11:09,592 INFO L290 TraceCheckUtils]: 18: Hoare triple {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 11:11:09,593 INFO L290 TraceCheckUtils]: 17: Hoare triple {5430#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 11:11:09,593 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5430#true} {5430#true} #63#return; {5430#true} is VALID [2022-04-28 11:11:09,593 INFO L290 TraceCheckUtils]: 15: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 11:11:09,593 INFO L290 TraceCheckUtils]: 14: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 11:11:09,593 INFO L290 TraceCheckUtils]: 13: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 11:11:09,593 INFO L272 TraceCheckUtils]: 12: Hoare triple {5430#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {5430#true} is VALID [2022-04-28 11:11:09,593 INFO L290 TraceCheckUtils]: 11: Hoare triple {5430#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5430#true} is VALID [2022-04-28 11:11:09,593 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5430#true} {5430#true} #61#return; {5430#true} is VALID [2022-04-28 11:11:09,594 INFO L290 TraceCheckUtils]: 9: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 11:11:09,594 INFO L290 TraceCheckUtils]: 8: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 11:11:09,594 INFO L290 TraceCheckUtils]: 7: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 11:11:09,594 INFO L272 TraceCheckUtils]: 6: Hoare triple {5430#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {5430#true} is VALID [2022-04-28 11:11:09,594 INFO L290 TraceCheckUtils]: 5: Hoare triple {5430#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {5430#true} is VALID [2022-04-28 11:11:09,594 INFO L272 TraceCheckUtils]: 4: Hoare triple {5430#true} call #t~ret8 := main(); {5430#true} is VALID [2022-04-28 11:11:09,594 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5430#true} {5430#true} #69#return; {5430#true} is VALID [2022-04-28 11:11:09,594 INFO L290 TraceCheckUtils]: 2: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 11:11:09,594 INFO L290 TraceCheckUtils]: 1: Hoare triple {5430#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(15, 2);call #Ultimate.allocInit(12, 3); {5430#true} is VALID [2022-04-28 11:11:09,594 INFO L272 TraceCheckUtils]: 0: Hoare triple {5430#true} call ULTIMATE.init(); {5430#true} is VALID [2022-04-28 11:11:09,595 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 11:11:09,595 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:11:09,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [21016526] [2022-04-28 11:11:09,595 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:11:09,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1805641838] [2022-04-28 11:11:09,595 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1805641838] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:11:09,595 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:11:09,595 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 23 [2022-04-28 11:11:09,595 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:11:09,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2128963374] [2022-04-28 11:11:09,595 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2128963374] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:11:09,595 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:11:09,596 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 11:11:09,596 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1413286033] [2022-04-28 11:11:09,596 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:11:09,596 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-28 11:11:09,596 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:11:09,596 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:11:09,630 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:11:09,630 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 11:11:09,630 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:11:09,631 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 11:11:09,631 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=415, Unknown=0, NotChecked=0, Total=506 [2022-04-28 11:11:09,631 INFO L87 Difference]: Start difference. First operand 54 states and 55 transitions. Second operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:11:10,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:10,551 INFO L93 Difference]: Finished difference Result 69 states and 71 transitions. [2022-04-28 11:11:10,551 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 11:11:10,551 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-28 11:11:10,552 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:11:10,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:11:10,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-28 11:11:10,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:11:10,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-28 11:11:10,555 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 57 transitions. [2022-04-28 11:11:10,602 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:11:10,602 INFO L225 Difference]: With dead ends: 69 [2022-04-28 11:11:10,603 INFO L226 Difference]: Without dead ends: 54 [2022-04-28 11:11:10,603 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 90 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=109, Invalid=491, Unknown=0, NotChecked=0, Total=600 [2022-04-28 11:11:10,603 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 4 mSDsluCounter, 179 mSDsCounter, 0 mSdLazyCounter, 317 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 212 SdHoareTripleChecker+Invalid, 317 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 317 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 11:11:10,603 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [4 Valid, 212 Invalid, 317 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 317 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 11:11:10,604 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-28 11:11:10,706 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2022-04-28 11:11:10,706 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:11:10,707 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:11:10,715 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:11:10,715 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:11:10,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:10,716 INFO L93 Difference]: Finished difference Result 54 states and 54 transitions. [2022-04-28 11:11:10,716 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 54 transitions. [2022-04-28 11:11:10,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:10,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:10,717 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-28 11:11:10,717 INFO L87 Difference]: Start difference. First operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-28 11:11:10,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:10,717 INFO L93 Difference]: Finished difference Result 54 states and 54 transitions. [2022-04-28 11:11:10,718 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 54 transitions. [2022-04-28 11:11:10,718 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:10,718 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:10,718 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:11:10,718 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:11:10,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:11:10,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 54 transitions. [2022-04-28 11:11:10,719 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 54 transitions. Word has length 57 [2022-04-28 11:11:10,719 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:11:10,719 INFO L495 AbstractCegarLoop]: Abstraction has 54 states and 54 transitions. [2022-04-28 11:11:10,719 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:11:10,719 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 54 transitions. [2022-04-28 11:11:10,817 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:11:10,817 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 54 transitions. [2022-04-28 11:11:10,817 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 11:11:10,817 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:11:10,817 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:11:10,836 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 11:11:11,018 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 11:11:11,019 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:11:11,019 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:11:11,019 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 5 times [2022-04-28 11:11:11,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:11:11,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1114551768] [2022-04-28 11:11:11,019 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:11:11,019 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 6 times [2022-04-28 11:11:11,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:11:11,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1692789093] [2022-04-28 11:11:11,020 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:11:11,020 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:11:11,029 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:11:11,029 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [390246215] [2022-04-28 11:11:11,029 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:11:11,029 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:11:11,029 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:11:11,030 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:11:11,031 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 11:11:11,096 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 11:11:11,096 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:11:11,097 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 11:11:11,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:11:11,112 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:11:31,232 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:11:41,256 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:11:45,278 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:12:37,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {6152#true} call ULTIMATE.init(); {6152#true} is VALID [2022-04-28 11:12:37,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {6152#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(15, 2);call #Ultimate.allocInit(12, 3); {6152#true} is VALID [2022-04-28 11:12:37,113 INFO L290 TraceCheckUtils]: 2: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 11:12:37,114 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6152#true} {6152#true} #69#return; {6152#true} is VALID [2022-04-28 11:12:37,114 INFO L272 TraceCheckUtils]: 4: Hoare triple {6152#true} call #t~ret8 := main(); {6152#true} is VALID [2022-04-28 11:12:37,114 INFO L290 TraceCheckUtils]: 5: Hoare triple {6152#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {6152#true} is VALID [2022-04-28 11:12:37,114 INFO L272 TraceCheckUtils]: 6: Hoare triple {6152#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {6152#true} is VALID [2022-04-28 11:12:37,114 INFO L290 TraceCheckUtils]: 7: Hoare triple {6152#true} ~cond := #in~cond; {6178#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:12:37,114 INFO L290 TraceCheckUtils]: 8: Hoare triple {6178#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6182#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:12:37,115 INFO L290 TraceCheckUtils]: 9: Hoare triple {6182#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6182#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:12:37,115 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6182#(not (= |assume_abort_if_not_#in~cond| 0))} {6152#true} #61#return; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,116 INFO L290 TraceCheckUtils]: 11: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,116 INFO L272 TraceCheckUtils]: 12: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {6152#true} is VALID [2022-04-28 11:12:37,116 INFO L290 TraceCheckUtils]: 13: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 11:12:37,116 INFO L290 TraceCheckUtils]: 14: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 11:12:37,116 INFO L290 TraceCheckUtils]: 15: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 11:12:37,117 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6152#true} {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,117 INFO L290 TraceCheckUtils]: 17: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6211#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,118 INFO L290 TraceCheckUtils]: 18: Hoare triple {6211#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6211#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,118 INFO L272 TraceCheckUtils]: 19: Hoare triple {6211#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 11:12:37,118 INFO L290 TraceCheckUtils]: 20: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 11:12:37,118 INFO L290 TraceCheckUtils]: 21: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 11:12:37,118 INFO L290 TraceCheckUtils]: 22: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 11:12:37,119 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6152#true} {6211#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} #65#return; {6211#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,119 INFO L290 TraceCheckUtils]: 24: Hoare triple {6211#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,119 INFO L290 TraceCheckUtils]: 25: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,120 INFO L290 TraceCheckUtils]: 26: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,120 INFO L290 TraceCheckUtils]: 27: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,121 INFO L272 TraceCheckUtils]: 28: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 11:12:37,121 INFO L290 TraceCheckUtils]: 29: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 11:12:37,121 INFO L290 TraceCheckUtils]: 30: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 11:12:37,121 INFO L290 TraceCheckUtils]: 31: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 11:12:37,121 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6152#true} {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #65#return; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,122 INFO L290 TraceCheckUtils]: 33: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,122 INFO L290 TraceCheckUtils]: 34: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,123 INFO L290 TraceCheckUtils]: 35: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,123 INFO L290 TraceCheckUtils]: 36: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,123 INFO L272 TraceCheckUtils]: 37: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 11:12:37,123 INFO L290 TraceCheckUtils]: 38: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 11:12:37,123 INFO L290 TraceCheckUtils]: 39: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 11:12:37,123 INFO L290 TraceCheckUtils]: 40: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 11:12:37,124 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6152#true} {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #65#return; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,124 INFO L290 TraceCheckUtils]: 42: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {6287#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,125 INFO L290 TraceCheckUtils]: 43: Hoare triple {6287#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6287#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:12:37,126 INFO L290 TraceCheckUtils]: 44: Hoare triple {6287#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6294#(and (<= main_~X~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:12:37,126 INFO L290 TraceCheckUtils]: 45: Hoare triple {6294#(and (<= main_~X~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6298#(and (<= main_~X~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:12:37,126 INFO L272 TraceCheckUtils]: 46: Hoare triple {6298#(and (<= main_~X~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 11:12:37,127 INFO L290 TraceCheckUtils]: 47: Hoare triple {6152#true} ~cond := #in~cond; {6305#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:12:37,127 INFO L290 TraceCheckUtils]: 48: Hoare triple {6305#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:12:37,127 INFO L290 TraceCheckUtils]: 49: Hoare triple {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:12:37,129 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} {6298#(and (<= main_~X~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {6316#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:12:37,129 INFO L290 TraceCheckUtils]: 51: Hoare triple {6316#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {6320#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:12:37,154 INFO L290 TraceCheckUtils]: 52: Hoare triple {6320#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {6324#(and (<= main_~X~0 2) (<= 0 main_~X~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is VALID [2022-04-28 11:12:37,172 INFO L272 TraceCheckUtils]: 53: Hoare triple {6324#(and (<= main_~X~0 2) (<= 0 main_~X~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {6328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:12:37,172 INFO L290 TraceCheckUtils]: 54: Hoare triple {6328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:12:37,173 INFO L290 TraceCheckUtils]: 55: Hoare triple {6332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6153#false} is VALID [2022-04-28 11:12:37,173 INFO L290 TraceCheckUtils]: 56: Hoare triple {6153#false} assume !false; {6153#false} is VALID [2022-04-28 11:12:37,173 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 26 proven. 13 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-28 11:12:37,173 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:12:38,144 INFO L290 TraceCheckUtils]: 56: Hoare triple {6153#false} assume !false; {6153#false} is VALID [2022-04-28 11:12:38,145 INFO L290 TraceCheckUtils]: 55: Hoare triple {6332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6153#false} is VALID [2022-04-28 11:12:38,145 INFO L290 TraceCheckUtils]: 54: Hoare triple {6328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:12:38,146 INFO L272 TraceCheckUtils]: 53: Hoare triple {6348#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {6328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:12:38,147 INFO L290 TraceCheckUtils]: 52: Hoare triple {6352#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {6348#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:12:38,147 INFO L290 TraceCheckUtils]: 51: Hoare triple {6356#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {6352#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 11:12:38,148 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} {6360#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {6356#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:12:38,148 INFO L290 TraceCheckUtils]: 49: Hoare triple {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:12:38,149 INFO L290 TraceCheckUtils]: 48: Hoare triple {6370#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:12:38,149 INFO L290 TraceCheckUtils]: 47: Hoare triple {6152#true} ~cond := #in~cond; {6370#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:12:38,149 INFO L272 TraceCheckUtils]: 46: Hoare triple {6360#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 11:12:38,150 INFO L290 TraceCheckUtils]: 45: Hoare triple {6377#(or (<= main_~x~0 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6360#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:12:38,152 INFO L290 TraceCheckUtils]: 44: Hoare triple {6381#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 main_~y~0) 2))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6377#(or (<= main_~x~0 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-28 11:12:38,153 INFO L290 TraceCheckUtils]: 43: Hoare triple {6381#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 main_~y~0) 2))))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6381#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 main_~y~0) 2))))))} is VALID [2022-04-28 11:12:38,154 INFO L290 TraceCheckUtils]: 42: Hoare triple {6152#true} assume !!(~x~0 <= ~X~0); {6381#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 main_~y~0) 2))))))} is VALID [2022-04-28 11:12:38,154 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6152#true} {6152#true} #65#return; {6152#true} is VALID [2022-04-28 11:12:38,154 INFO L290 TraceCheckUtils]: 40: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 11:12:38,154 INFO L290 TraceCheckUtils]: 39: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 11:12:38,155 INFO L290 TraceCheckUtils]: 38: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 11:12:38,155 INFO L272 TraceCheckUtils]: 37: Hoare triple {6152#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 11:12:38,155 INFO L290 TraceCheckUtils]: 36: Hoare triple {6152#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6152#true} is VALID [2022-04-28 11:12:38,155 INFO L290 TraceCheckUtils]: 35: Hoare triple {6152#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6152#true} is VALID [2022-04-28 11:12:38,155 INFO L290 TraceCheckUtils]: 34: Hoare triple {6152#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6152#true} is VALID [2022-04-28 11:12:38,155 INFO L290 TraceCheckUtils]: 33: Hoare triple {6152#true} assume !!(~x~0 <= ~X~0); {6152#true} is VALID [2022-04-28 11:12:38,155 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6152#true} {6152#true} #65#return; {6152#true} is VALID [2022-04-28 11:12:38,155 INFO L290 TraceCheckUtils]: 31: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 11:12:38,155 INFO L290 TraceCheckUtils]: 30: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 11:12:38,155 INFO L290 TraceCheckUtils]: 29: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 11:12:38,155 INFO L272 TraceCheckUtils]: 28: Hoare triple {6152#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 11:12:38,155 INFO L290 TraceCheckUtils]: 27: Hoare triple {6152#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6152#true} is VALID [2022-04-28 11:12:38,155 INFO L290 TraceCheckUtils]: 26: Hoare triple {6152#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6152#true} is VALID [2022-04-28 11:12:38,156 INFO L290 TraceCheckUtils]: 25: Hoare triple {6152#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6152#true} is VALID [2022-04-28 11:12:38,156 INFO L290 TraceCheckUtils]: 24: Hoare triple {6152#true} assume !!(~x~0 <= ~X~0); {6152#true} is VALID [2022-04-28 11:12:38,156 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6152#true} {6152#true} #65#return; {6152#true} is VALID [2022-04-28 11:12:38,156 INFO L290 TraceCheckUtils]: 22: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 11:12:38,156 INFO L290 TraceCheckUtils]: 21: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 11:12:38,156 INFO L290 TraceCheckUtils]: 20: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 11:12:38,156 INFO L272 TraceCheckUtils]: 19: Hoare triple {6152#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 11:12:38,156 INFO L290 TraceCheckUtils]: 18: Hoare triple {6152#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6152#true} is VALID [2022-04-28 11:12:38,156 INFO L290 TraceCheckUtils]: 17: Hoare triple {6152#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6152#true} is VALID [2022-04-28 11:12:38,156 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6152#true} {6152#true} #63#return; {6152#true} is VALID [2022-04-28 11:12:38,156 INFO L290 TraceCheckUtils]: 15: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 11:12:38,156 INFO L290 TraceCheckUtils]: 14: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 11:12:38,156 INFO L290 TraceCheckUtils]: 13: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 11:12:38,156 INFO L272 TraceCheckUtils]: 12: Hoare triple {6152#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {6152#true} is VALID [2022-04-28 11:12:38,157 INFO L290 TraceCheckUtils]: 11: Hoare triple {6152#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6152#true} is VALID [2022-04-28 11:12:38,157 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6152#true} {6152#true} #61#return; {6152#true} is VALID [2022-04-28 11:12:38,157 INFO L290 TraceCheckUtils]: 9: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 11:12:38,157 INFO L290 TraceCheckUtils]: 8: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 11:12:38,157 INFO L290 TraceCheckUtils]: 7: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 11:12:38,157 INFO L272 TraceCheckUtils]: 6: Hoare triple {6152#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {6152#true} is VALID [2022-04-28 11:12:38,157 INFO L290 TraceCheckUtils]: 5: Hoare triple {6152#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {6152#true} is VALID [2022-04-28 11:12:38,157 INFO L272 TraceCheckUtils]: 4: Hoare triple {6152#true} call #t~ret8 := main(); {6152#true} is VALID [2022-04-28 11:12:38,157 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6152#true} {6152#true} #69#return; {6152#true} is VALID [2022-04-28 11:12:38,157 INFO L290 TraceCheckUtils]: 2: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 11:12:38,157 INFO L290 TraceCheckUtils]: 1: Hoare triple {6152#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(15, 2);call #Ultimate.allocInit(12, 3); {6152#true} is VALID [2022-04-28 11:12:38,157 INFO L272 TraceCheckUtils]: 0: Hoare triple {6152#true} call ULTIMATE.init(); {6152#true} is VALID [2022-04-28 11:12:38,158 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 29 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-28 11:12:38,158 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:12:38,158 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1692789093] [2022-04-28 11:12:38,158 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:12:38,158 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [390246215] [2022-04-28 11:12:38,158 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [390246215] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:12:38,158 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:12:38,158 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 12] total 23 [2022-04-28 11:12:38,158 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:12:38,158 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1114551768] [2022-04-28 11:12:38,158 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1114551768] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:12:38,158 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:12:38,159 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 11:12:38,159 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1510832155] [2022-04-28 11:12:38,159 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:12:38,159 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-28 11:12:38,159 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:12:38,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:12:38,235 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:12:38,235 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 11:12:38,236 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:12:38,236 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 11:12:38,236 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-28 11:12:38,236 INFO L87 Difference]: Start difference. First operand 54 states and 54 transitions. Second operand has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:12:40,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:12:40,244 INFO L93 Difference]: Finished difference Result 54 states and 54 transitions. [2022-04-28 11:12:40,244 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 11:12:40,245 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-28 11:12:40,245 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:12:40,245 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:12:40,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 36 transitions. [2022-04-28 11:12:40,246 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:12:40,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 36 transitions. [2022-04-28 11:12:40,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 36 transitions. [2022-04-28 11:12:40,321 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-28 11:12:40,322 INFO L225 Difference]: With dead ends: 54 [2022-04-28 11:12:40,322 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 11:12:40,322 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 91 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 213 ImplicationChecksByTransitivity, 3.6s TimeCoverageRelationStatistics Valid=191, Invalid=931, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 11:12:40,323 INFO L413 NwaCegarLoop]: 14 mSDtfsCounter, 24 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 169 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 182 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 169 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 11:12:40,323 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 105 Invalid, 182 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 169 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 11:12:40,323 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 11:12:40,323 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 11:12:40,323 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:12:40,324 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 11:12:40,324 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 11:12:40,324 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 11:12:40,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:12:40,324 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 11:12:40,324 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 11:12:40,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:12:40,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:12:40,324 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 11:12:40,324 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 11:12:40,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:12:40,324 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 11:12:40,324 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 11:12:40,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:12:40,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:12:40,324 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:12:40,324 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:12:40,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 11:12:40,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 11:12:40,325 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 57 [2022-04-28 11:12:40,325 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:12:40,325 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 11:12:40,325 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:12:40,325 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 11:12:40,325 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:12:40,325 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 11:12:40,325 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:12:40,327 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 11:12:40,345 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 11:12:40,527 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 11:12:40,529 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 11:12:50,527 WARN L232 SmtUtils]: Spent 5.19s on a formula simplification. DAG size of input: 117 DAG size of output: 100 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 11:12:54,722 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 7) no Hoare annotation was computed. [2022-04-28 11:12:54,722 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 7) no Hoare annotation was computed. [2022-04-28 11:12:54,722 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 7) no Hoare annotation was computed. [2022-04-28 11:12:54,722 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 10 12) the Hoare annotation is: true [2022-04-28 11:12:54,722 INFO L895 garLoopResultBuilder]: At program point L11(line 11) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-28 11:12:54,722 INFO L895 garLoopResultBuilder]: At program point L11-2(lines 10 12) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 11:12:54,723 INFO L895 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 10 12) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 11:12:54,723 INFO L895 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~X~0)) [2022-04-28 11:12:54,723 INFO L895 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2)) [2022-04-28 11:12:54,723 INFO L902 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-28 11:12:54,723 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 21 53) the Hoare annotation is: true [2022-04-28 11:12:54,723 INFO L895 garLoopResultBuilder]: At program point L25-1(line 25) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~X~0)) [2022-04-28 11:12:54,723 INFO L895 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (<= main_~X~0 2)) (.cse3 (<= 0 main_~Y~0)) (.cse1 (= main_~xy~0 0)) (.cse4 (+ main_~X~0 main_~v~0)) (.cse2 (* main_~Y~0 2)) (.cse5 (= main_~y~0 0)) (.cse6 (= main_~yx~0 0))) (or (and .cse0 .cse1 (< main_~v~0 .cse2) .cse3 (= .cse4 (* main_~Y~0 4)) .cse5 .cse6) (let ((.cse9 (+ main_~X~0 1))) (and .cse0 .cse3 (let ((.cse10 (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0)) (.cse12 (* main_~X~0 main_~y~0)) (.cse13 (div .cse4 2)) (.cse11 (= main_~Y~0 0))) (or (let ((.cse8 (+ .cse12 .cse13 (* (- 1) main_~Y~0)))) (let ((.cse7 (div .cse8 main_~Y~0))) (and (= (* main_~y~0 .cse7) main_~xy~0) (= (mod .cse8 main_~Y~0) 0) (<= .cse7 .cse9) .cse10 (not (<= .cse7 main_~X~0)) (not .cse11) (= main_~yx~0 (* main_~Y~0 .cse7))))) (and (or (let ((.cse14 (div main_~xy~0 main_~y~0))) (and (= (mod main_~xy~0 main_~y~0) 0) (not .cse5) (<= .cse14 .cse9) (< main_~X~0 .cse14))) (and .cse1 .cse5)) .cse10 (= (+ .cse12 .cse13) main_~Y~0) .cse6 .cse11))) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 .cse9) (<= main_~Y~0 2))) (and (= main_~x~0 0) .cse1 (= .cse4 .cse2) .cse5 .cse6))) [2022-04-28 11:12:54,723 INFO L902 garLoopResultBuilder]: At program point L50-1(line 50) the Hoare annotation is: true [2022-04-28 11:12:54,723 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 21 53) the Hoare annotation is: true [2022-04-28 11:12:54,723 INFO L895 garLoopResultBuilder]: At program point L40(lines 40 45) the Hoare annotation is: (let ((.cse16 (* main_~Y~0 main_~x~0)) (.cse17 (* main_~X~0 main_~y~0)) (.cse14 (* main_~Y~0 2))) (let ((.cse4 (* main_~Y~0 4)) (.cse3 (+ main_~X~0 main_~v~0)) (.cse5 (= main_~y~0 0)) (.cse7 (* main_~X~0 3)) (.cse11 (* main_~Y~0 6)) (.cse1 (< main_~v~0 .cse14)) (.cse0 (<= main_~X~0 2)) (.cse6 (<= main_~x~0 main_~X~0)) (.cse15 (= main_~y~0 1)) (.cse8 (= (+ .cse14 (* 2 .cse16)) (+ (* .cse17 2) main_~X~0 main_~v~0))) (.cse2 (<= 0 main_~Y~0)) (.cse13 (<= 0 main_~X~0)) (.cse9 (= .cse17 main_~xy~0)) (.cse10 (= main_~yx~0 .cse16)) (.cse12 (<= main_~Y~0 2))) (or (and .cse0 (= main_~xy~0 0) .cse1 .cse2 (= .cse3 .cse4) .cse5 (= main_~yx~0 0)) (and .cse6 (<= .cse7 .cse4) .cse8 (<= 2 main_~x~0) .cse9 .cse10 (= (+ main_~v~0 (* 5 main_~X~0)) .cse11) .cse12) (and .cse0 (= main_~x~0 0) .cse2 .cse13 (= .cse3 .cse14) .cse9 .cse5 .cse10 .cse12) (and .cse0 (= (+ main_~X~0 main_~v~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2)) .cse11) (= (+ main_~v~0 .cse7) .cse11) .cse15 (= .cse14 main_~yx~0) (<= main_~X~0 .cse14) .cse8 .cse1 .cse2 .cse13 (= (mod main_~xy~0 main_~X~0) 0)) (and .cse0 .cse6 .cse15 .cse8 (= main_~x~0 1) .cse2 .cse13 (<= .cse14 (+ main_~v~0 (* main_~X~0 2))) .cse9 .cse10 .cse12)))) [2022-04-28 11:12:54,723 INFO L895 garLoopResultBuilder]: At program point L40-2(lines 40 45) the Hoare annotation is: (let ((.cse18 (* main_~Y~0 2)) (.cse10 (* main_~X~0 3))) (let ((.cse0 (+ main_~v~0 .cse10)) (.cse12 (< main_~v~0 .cse18)) (.cse9 (* 2 (* main_~Y~0 main_~x~0))) (.cse8 (* (* main_~X~0 main_~y~0) 2)) (.cse5 (<= main_~Y~0 2)) (.cse1 (* main_~Y~0 4)) (.cse2 (<= main_~X~0 2)) (.cse14 (= main_~y~0 2)) (.cse7 (<= main_~x~0 main_~X~0)) (.cse13 (<= 0 main_~Y~0)) (.cse11 (<= 2 main_~x~0)) (.cse3 (<= 0 main_~X~0)) (.cse16 (+ main_~v~0 (* 5 main_~X~0))) (.cse6 (* main_~Y~0 8)) (.cse4 (<= .cse18 (+ main_~v~0 (* main_~X~0 2))))) (or (and (= .cse0 .cse1) .cse2 (= main_~x~0 0) (= main_~y~0 1) .cse3 .cse4 .cse5) (and (= .cse6 (+ main_~v~0 (* 7 main_~X~0))) .cse7 (= (+ .cse8 .cse1) (+ (* main_~X~0 6) .cse9)) (<= .cse10 .cse1) .cse11 .cse5) (and .cse2 .cse12 .cse13 (= (+ main_~X~0 main_~v~0) .cse1) (= main_~y~0 0)) (and (let ((.cse17 (* main_~Y~0 6)) (.cse15 (= main_~x~0 1))) (or (and .cse14 .cse7 .cse15 .cse4 (= .cse16 .cse17)) (and .cse2 (= .cse0 .cse17) (<= main_~X~0 .cse18) .cse12 .cse15 .cse13 .cse3 (= (+ .cse1 .cse9) (+ .cse8 main_~X~0 main_~v~0))))) .cse5) (and (< .cse1 .cse10) .cse2 .cse14 .cse7 .cse13 .cse11 .cse3 (<= .cse16 .cse6) .cse4)))) [2022-04-28 11:12:54,724 INFO L895 garLoopResultBuilder]: At program point L32-2(lines 32 47) the Hoare annotation is: (let ((.cse11 (* 2 (* main_~Y~0 main_~x~0))) (.cse9 (* (* main_~X~0 main_~y~0) 2)) (.cse14 (* main_~Y~0 2))) (let ((.cse5 (* main_~Y~0 8)) (.cse7 (<= 3 main_~x~0)) (.cse3 (= main_~y~0 2)) (.cse4 (+ main_~v~0 (* 5 main_~X~0))) (.cse1 (* main_~X~0 3)) (.cse10 (* main_~Y~0 6)) (.cse16 (< main_~v~0 .cse14)) (.cse0 (* main_~Y~0 4)) (.cse17 (<= 0 main_~Y~0)) (.cse18 (+ main_~X~0 main_~v~0)) (.cse19 (= main_~y~0 0)) (.cse2 (<= main_~X~0 2)) (.cse15 (= (+ .cse14 .cse11) (+ .cse9 main_~X~0 main_~v~0))) (.cse6 (<= .cse14 (+ main_~v~0 (* main_~X~0 2)))) (.cse8 (<= main_~x~0 (+ main_~X~0 1))) (.cse12 (<= main_~Y~0 2))) (or (and (< .cse0 .cse1) .cse2 .cse3 (<= .cse4 .cse5) .cse6 .cse7 .cse8) (and (= .cse5 (+ main_~v~0 (* 7 main_~X~0))) (= (+ .cse9 .cse10) (+ (* main_~X~0 6) .cse11)) (<= .cse1 .cse0) .cse7 .cse8 .cse12) (and (let ((.cse13 (= main_~x~0 2))) (or (and .cse3 .cse6 .cse13 (<= 1 main_~X~0) (= .cse4 .cse10)) (and .cse2 (= (+ main_~v~0 .cse1) .cse10) (<= main_~X~0 .cse14) .cse15 .cse16 .cse13))) .cse12) (and .cse2 .cse16 .cse17 (= .cse18 .cse0) .cse19) (and .cse2 (= main_~x~0 0) .cse17 (<= 0 main_~X~0) (= .cse18 .cse14) .cse19 .cse12) (and .cse2 (= main_~y~0 1) .cse15 (= main_~x~0 1) .cse6 .cse8 .cse12)))) [2022-04-28 11:12:54,724 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 21 53) the Hoare annotation is: true [2022-04-28 11:12:54,724 INFO L895 garLoopResultBuilder]: At program point L32-3(lines 32 47) the Hoare annotation is: (let ((.cse0 (* main_~Y~0 4)) (.cse1 (<= main_~X~0 2)) (.cse2 (<= 0 main_~Y~0)) (.cse3 (<= 0 main_~X~0)) (.cse5 (<= main_~Y~0 2)) (.cse6 (= main_~xy~0 0)) (.cse7 (+ main_~X~0 main_~v~0)) (.cse4 (* main_~Y~0 2)) (.cse8 (= main_~y~0 0)) (.cse9 (= main_~yx~0 0))) (or (and (< .cse0 (* main_~X~0 3)) .cse1 (= main_~y~0 2) (= main_~x~0 3) .cse2 .cse3 (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= .cse4 (+ main_~v~0 (* main_~X~0 2))) .cse5) (and .cse1 .cse6 (< main_~v~0 .cse4) .cse2 (= .cse7 .cse0) .cse8 .cse9) (let ((.cse11 (* main_~X~0 main_~y~0)) (.cse10 (* main_~Y~0 main_~x~0))) (and .cse1 (= (+ .cse4 (* 2 .cse10)) (+ (* .cse11 2) main_~X~0 main_~v~0)) .cse2 .cse3 (= .cse11 main_~xy~0) (not (<= main_~x~0 main_~X~0)) (= main_~yx~0 .cse10) (<= main_~x~0 (+ main_~X~0 1)) .cse5)) (and (= main_~x~0 0) .cse6 (= .cse7 .cse4) .cse8 .cse9))) [2022-04-28 11:12:54,724 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse29 (* main_~X~0 main_~y~0)) (.cse28 (* main_~Y~0 main_~x~0))) (let ((.cse23 (+ main_~X~0 1)) (.cse27 (* main_~X~0 2)) (.cse18 (* main_~Y~0 2)) (.cse26 (* 2 .cse28)) (.cse25 (* .cse29 2))) (let ((.cse1 (= (+ .cse18 .cse26) (+ .cse25 main_~X~0 main_~v~0))) (.cse7 (< main_~v~0 .cse18)) (.cse13 (= main_~x~0 2)) (.cse8 (<= 0 main_~Y~0)) (.cse9 (+ main_~X~0 main_~v~0)) (.cse3 (= .cse29 main_~xy~0)) (.cse11 (= main_~y~0 0)) (.cse4 (= main_~yx~0 .cse28)) (.cse0 (<= main_~X~0 2)) (.cse12 (= main_~xy~0 .cse27)) (.cse14 (+ main_~v~0 (* 5 main_~X~0))) (.cse2 (<= .cse18 (+ main_~v~0 .cse27))) (.cse21 (* main_~Y~0 8)) (.cse15 (* main_~Y~0 6)) (.cse17 (* main_~X~0 3)) (.cse10 (* main_~Y~0 4)) (.cse22 (<= 3 main_~x~0)) (.cse19 (= (mod main_~xy~0 main_~X~0) 0)) (.cse5 (<= main_~x~0 .cse23)) (.cse6 (<= main_~Y~0 2)) (.cse16 (* (div main_~xy~0 main_~X~0) main_~X~0))) (or (and .cse0 (= main_~y~0 1) .cse1 (= main_~x~0 1) .cse2 .cse3 .cse4 .cse5 .cse6) (and .cse0 (= main_~xy~0 0) .cse7 .cse8 (= .cse9 .cse10) .cse11 (= main_~yx~0 0)) (and .cse12 .cse2 .cse3 .cse4 .cse13 (<= 1 main_~X~0) (= .cse14 .cse15) .cse6) (and .cse0 (= (+ main_~X~0 main_~v~0 (* .cse16 2)) .cse15) (= (+ main_~v~0 .cse17) .cse15) (= .cse18 main_~yx~0) (<= main_~X~0 .cse18) .cse1 .cse7 .cse13 .cse19) (and .cse0 (= main_~x~0 0) .cse8 (<= 0 main_~X~0) (= .cse9 .cse18) .cse3 .cse11 .cse4 .cse6) (let ((.cse20 (div main_~yx~0 main_~Y~0))) (and (< .cse10 .cse17) .cse0 (= main_~y~0 2) .cse12 (<= 3 .cse20) (<= .cse14 .cse21) .cse2 .cse22 .cse5 (<= .cse20 .cse23))) (let ((.cse24 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) .cse16) main_~Y~0))) (and (= .cse21 (+ main_~v~0 (* 7 main_~X~0))) (<= .cse24 .cse23) (= (+ .cse25 .cse15) (+ (* main_~X~0 6) .cse26)) (<= 3 .cse24) (<= .cse17 .cse10) (= (* .cse24 main_~Y~0) main_~yx~0) .cse22 .cse19 .cse5 .cse6)))))) [2022-04-28 11:12:54,724 INFO L895 garLoopResultBuilder]: At program point L35-1(lines 32 47) the Hoare annotation is: (let ((.cse29 (* main_~X~0 main_~y~0)) (.cse28 (* main_~Y~0 main_~x~0))) (let ((.cse24 (+ main_~X~0 1)) (.cse27 (* 2 .cse28)) (.cse26 (* .cse29 2)) (.cse30 (* main_~X~0 2)) (.cse9 (* main_~Y~0 2))) (let ((.cse1 (< main_~v~0 .cse9)) (.cse14 (= main_~xy~0 .cse30)) (.cse18 (+ main_~v~0 (* 5 main_~X~0))) (.cse10 (= (+ .cse9 .cse27) (+ .cse26 main_~X~0 main_~v~0))) (.cse15 (<= .cse9 (+ main_~v~0 .cse30))) (.cse0 (<= main_~X~0 2)) (.cse2 (<= 0 main_~Y~0)) (.cse11 (<= 0 main_~X~0)) (.cse3 (+ main_~X~0 main_~v~0)) (.cse16 (= .cse29 main_~xy~0)) (.cse5 (= main_~y~0 0)) (.cse17 (= main_~yx~0 .cse28)) (.cse21 (* main_~Y~0 8)) (.cse7 (* main_~Y~0 6)) (.cse8 (* main_~X~0 3)) (.cse4 (* main_~Y~0 4)) (.cse22 (<= 3 main_~x~0)) (.cse13 (= (mod main_~xy~0 main_~X~0) 0)) (.cse23 (<= main_~x~0 .cse24)) (.cse19 (<= main_~Y~0 2)) (.cse6 (* (div main_~xy~0 main_~X~0) main_~X~0))) (or (and .cse0 (= main_~xy~0 0) .cse1 .cse2 (= .cse3 .cse4) .cse5 (= main_~yx~0 0)) (and (let ((.cse12 (= main_~x~0 2))) (or (and .cse0 (= (+ main_~X~0 main_~v~0 (* .cse6 2)) .cse7) (= (+ main_~v~0 .cse8) .cse7) (= .cse9 main_~yx~0) (<= main_~X~0 .cse9) .cse10 .cse1 .cse2 .cse11 .cse12 .cse13) (and .cse14 .cse15 .cse16 .cse17 .cse12 (<= 1 main_~X~0) (= .cse18 .cse7)))) .cse19) (let ((.cse20 (div main_~yx~0 main_~Y~0))) (and (< .cse4 .cse8) .cse0 (= main_~y~0 2) .cse14 (<= 3 .cse20) .cse2 .cse11 (<= .cse18 .cse21) .cse15 .cse22 .cse23 (<= .cse20 .cse24))) (and .cse0 (= main_~y~0 1) .cse10 (= main_~x~0 1) .cse2 .cse11 .cse15 .cse16 .cse17 .cse19) (and .cse0 (= main_~x~0 0) .cse2 .cse11 (= .cse3 .cse9) .cse16 .cse5 .cse17 .cse19) (let ((.cse25 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) .cse6) main_~Y~0))) (and (= .cse21 (+ main_~v~0 (* 7 main_~X~0))) (<= .cse25 .cse24) (= (+ .cse26 .cse7) (+ (* main_~X~0 6) .cse27)) (<= 3 .cse25) (<= .cse8 .cse4) (= (* .cse25 main_~Y~0) main_~yx~0) .cse22 .cse13 .cse23 .cse19)))))) [2022-04-28 11:12:54,724 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 11:12:54,724 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-28 11:12:54,724 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 11:12:54,724 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 11:12:54,724 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 11:12:54,724 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 11:12:54,725 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 11:12:54,725 INFO L895 garLoopResultBuilder]: At program point L15(lines 15 16) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 11:12:54,725 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 13 19) the Hoare annotation is: true [2022-04-28 11:12:54,725 INFO L895 garLoopResultBuilder]: At program point L14(lines 14 17) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 11:12:54,725 INFO L895 garLoopResultBuilder]: At program point L14-2(lines 13 19) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 11:12:54,725 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 13 19) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 11:12:54,725 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 16) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 11:12:54,727 INFO L356 BasicCegarLoop]: Path program histogram: [6, 6, 4, 2, 2, 2, 2] [2022-04-28 11:12:54,728 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 11:12:54,730 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 11:12:54,734 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 11:12:54,864 INFO L163 areAnnotationChecker]: CFG has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 11:12:54,875 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 11:12:54 BoogieIcfgContainer [2022-04-28 11:12:54,875 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 11:12:54,876 INFO L158 Benchmark]: Toolchain (without parser) took 424153.76ms. Allocated memory was 210.8MB in the beginning and 303.0MB in the end (delta: 92.3MB). Free memory was 161.6MB in the beginning and 109.5MB in the end (delta: 52.1MB). Peak memory consumption was 158.4MB. Max. memory is 8.0GB. [2022-04-28 11:12:54,876 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 210.8MB. Free memory was 177.8MB in the beginning and 177.7MB in the end (delta: 146.8kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 11:12:54,876 INFO L158 Benchmark]: CACSL2BoogieTranslator took 180.35ms. Allocated memory is still 210.8MB. Free memory was 161.3MB in the beginning and 187.3MB in the end (delta: -25.9MB). Peak memory consumption was 8.4MB. Max. memory is 8.0GB. [2022-04-28 11:12:54,877 INFO L158 Benchmark]: Boogie Preprocessor took 32.97ms. Allocated memory is still 210.8MB. Free memory was 187.3MB in the beginning and 185.7MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 11:12:54,877 INFO L158 Benchmark]: RCFGBuilder took 333.25ms. Allocated memory is still 210.8MB. Free memory was 185.7MB in the beginning and 173.1MB in the end (delta: 12.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 11:12:54,877 INFO L158 Benchmark]: TraceAbstraction took 423603.24ms. Allocated memory was 210.8MB in the beginning and 303.0MB in the end (delta: 92.3MB). Free memory was 172.6MB in the beginning and 109.5MB in the end (delta: 63.1MB). Peak memory consumption was 169.0MB. Max. memory is 8.0GB. [2022-04-28 11:12:54,878 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 210.8MB. Free memory was 177.8MB in the beginning and 177.7MB in the end (delta: 146.8kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 180.35ms. Allocated memory is still 210.8MB. Free memory was 161.3MB in the beginning and 187.3MB in the end (delta: -25.9MB). Peak memory consumption was 8.4MB. Max. memory is 8.0GB. * Boogie Preprocessor took 32.97ms. Allocated memory is still 210.8MB. Free memory was 187.3MB in the beginning and 185.7MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 333.25ms. Allocated memory is still 210.8MB. Free memory was 185.7MB in the beginning and 173.1MB in the end (delta: 12.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 423603.24ms. Allocated memory was 210.8MB in the beginning and 303.0MB in the end (delta: 92.3MB). Free memory was 172.6MB in the beginning and 109.5MB in the end (delta: 63.1MB). Peak memory consumption was 169.0MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 16]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 35 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 423.4s, OverallIterations: 12, TraceHistogramMax: 5, PathProgramHistogramMax: 6, EmptinessCheckTime: 0.0s, AutomataDifference: 14.9s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 14.2s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 275 SdHoareTripleChecker+Valid, 4.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 259 mSDsluCounter, 1504 SdHoareTripleChecker+Invalid, 3.9s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1225 mSDsCounter, 120 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2930 IncrementalHoareTripleChecker+Invalid, 3050 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 120 mSolverCounterUnsat, 279 mSDtfsCounter, 2930 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 911 GetRequests, 640 SyntacticMatches, 16 SemanticMatches, 255 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1382 ImplicationChecksByTransitivity, 11.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=66occurred in iteration=9, InterpolantAutomatonStates: 162, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.8s AutomataMinimizationTime, 12 MinimizatonAttempts, 40 StatesRemovedByMinimization, 7 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 32 LocationsWithAnnotation, 184 PreInvPairs, 300 NumberOfFragments, 2013 HoareAnnotationTreeSize, 184 FomulaSimplifications, 705 FormulaSimplificationTreeSizeReduction, 0.6s HoareSimplificationTime, 32 FomulaSimplificationsInter, 12387 FormulaSimplificationTreeSizeReductionInter, 13.5s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 32]: Loop Invariant Derived loop invariant: ((((((((((Y * 4 < X * 3 && X <= 2) && y == 2) && v + 5 * X <= Y * 8) && Y * 2 <= v + X * 2) && 3 <= x) && x <= X + 1) || (((((Y * 8 == v + 7 * X && X * y * 2 + Y * 6 == X * 6 + 2 * (Y * x)) && X * 3 <= Y * 4) && 3 <= x) && x <= X + 1) && Y <= 2)) || ((((((y == 2 && Y * 2 <= v + X * 2) && x == 2) && 1 <= X) && v + 5 * X == Y * 6) || (((((X <= 2 && v + X * 3 == Y * 6) && X <= Y * 2) && Y * 2 + 2 * (Y * x) == X * y * 2 + X + v) && v < Y * 2) && x == 2)) && Y <= 2)) || ((((X <= 2 && v < Y * 2) && 0 <= Y) && X + v == Y * 4) && y == 0)) || ((((((X <= 2 && x == 0) && 0 <= Y) && 0 <= X) && X + v == Y * 2) && y == 0) && Y <= 2)) || ((((((X <= 2 && y == 1) && Y * 2 + 2 * (Y * x) == X * y * 2 + X + v) && x == 1) && Y * 2 <= v + X * 2) && x <= X + 1) && Y <= 2) - ProcedureContractResult [Line: 10]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 21]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 13]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-28 11:12:54,963 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...