/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_valuebound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 11:05:27,643 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 11:05:27,644 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 11:05:27,678 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 11:05:27,678 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 11:05:27,679 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 11:05:27,680 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 11:05:27,681 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 11:05:27,682 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 11:05:27,683 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 11:05:27,683 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 11:05:27,684 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 11:05:27,685 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 11:05:27,685 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 11:05:27,686 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 11:05:27,687 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 11:05:27,687 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 11:05:27,688 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 11:05:27,689 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 11:05:27,690 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 11:05:27,706 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 11:05:27,707 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 11:05:27,708 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 11:05:27,708 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 11:05:27,709 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 11:05:27,711 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 11:05:27,711 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 11:05:27,711 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 11:05:27,711 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 11:05:27,712 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 11:05:27,712 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 11:05:27,712 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 11:05:27,713 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 11:05:27,713 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 11:05:27,714 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 11:05:27,714 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 11:05:27,714 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 11:05:27,715 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 11:05:27,727 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 11:05:27,727 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 11:05:27,728 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 11:05:27,728 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 11:05:27,729 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:27,734 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 11:05:27,734 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 11:05:27,735 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 11:05:27,735 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 11:05:27,735 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 11:05:27,735 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 11:05:27,735 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 11:05:27,735 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 11:05:27,736 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 11:05:27,736 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 11:05:27,736 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 11:05:27,736 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 11:05:27,736 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 11:05:27,736 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 11:05:27,736 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 11:05:27,736 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 11:05:27,736 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 11:05:27,736 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 11:05:27,736 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 11:05:27,737 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 11:05:27,737 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 11:05:27,737 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 11:05:27,737 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:27,933 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 11:05:27,955 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 11:05:27,956 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 11:05:27,957 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 11:05:27,958 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 11:05:27,959 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound100.c [2022-04-28 11:05:27,997 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/23772b342/19e5ae0d45324608a6d8156f64277f9e/FLAG98a96c443 [2022-04-28 11:05:28,307 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 11:05:28,308 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound100.c [2022-04-28 11:05:28,312 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/23772b342/19e5ae0d45324608a6d8156f64277f9e/FLAG98a96c443 [2022-04-28 11:05:28,323 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/23772b342/19e5ae0d45324608a6d8156f64277f9e [2022-04-28 11:05:28,326 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 11:05:28,327 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 11:05:28,328 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 11:05:28,328 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 11:05:28,331 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 11:05:28,334 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 11:05:28" (1/1) ... [2022-04-28 11:05:28,335 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@50395bfe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:05:28, skipping insertion in model container [2022-04-28 11:05:28,335 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 11:05:28" (1/1) ... [2022-04-28 11:05:28,339 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 11:05:28,349 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 11:05:28,465 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_valuebound100.c[597,610] [2022-04-28 11:05:28,495 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 11:05:28,500 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 11:05:28,507 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_valuebound100.c[597,610] [2022-04-28 11:05:28,529 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 11:05:28,537 INFO L208 MainTranslator]: Completed translation [2022-04-28 11:05:28,538 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:05:28 WrapperNode [2022-04-28 11:05:28,538 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 11:05:28,538 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 11:05:28,538 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 11:05:28,538 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 11:05:28,546 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:28" (1/1) ... [2022-04-28 11:05:28,547 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:28" (1/1) ... [2022-04-28 11:05:28,552 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:28" (1/1) ... [2022-04-28 11:05:28,552 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:28" (1/1) ... [2022-04-28 11:05:28,562 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:28" (1/1) ... [2022-04-28 11:05:28,565 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:28" (1/1) ... [2022-04-28 11:05:28,569 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:28" (1/1) ... [2022-04-28 11:05:28,572 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 11:05:28,572 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 11:05:28,572 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 11:05:28,573 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 11:05:28,573 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:05:28" (1/1) ... [2022-04-28 11:05:28,584 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 11:05:28,594 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:05:28,602 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:28,608 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:28,630 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 11:05:28,630 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 11:05:28,630 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 11:05:28,630 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 11:05:28,630 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 11:05:28,631 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 11:05:28,631 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 11:05:28,631 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 11:05:28,631 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 11:05:28,631 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 11:05:28,631 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 11:05:28,631 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 11:05:28,631 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 11:05:28,632 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 11:05:28,632 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 11:05:28,632 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 11:05:28,633 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 11:05:28,633 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 11:05:28,633 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 11:05:28,633 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 11:05:28,693 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 11:05:28,694 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 11:05:28,879 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 11:05:28,884 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 11:05:28,884 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 11:05:28,885 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 11:05:28 BoogieIcfgContainer [2022-04-28 11:05:28,885 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 11:05:28,886 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 11:05:28,886 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 11:05:28,891 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 11:05:28,891 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 11:05:28" (1/3) ... [2022-04-28 11:05:28,892 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@809ee1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 11:05:28, skipping insertion in model container [2022-04-28 11:05:28,892 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:05:28" (2/3) ... [2022-04-28 11:05:28,892 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@809ee1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 11:05:28, skipping insertion in model container [2022-04-28 11:05:28,892 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 11:05:28" (3/3) ... [2022-04-28 11:05:28,893 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound100.c [2022-04-28 11:05:28,902 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 11:05:28,902 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 11:05:28,943 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 11:05:28,948 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@7b6cc14a, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@4e2411a5 [2022-04-28 11:05:28,949 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 11:05:28,954 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:28,960 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 11:05:28,960 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:05:28,960 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:28,961 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:05:28,965 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:05:28,965 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-28 11:05:28,970 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:28,971 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1535715500] [2022-04-28 11:05:28,977 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:05:28,978 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 2 times [2022-04-28 11:05:28,979 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:05:28,980 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [916511659] [2022-04-28 11:05:28,980 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:05:28,980 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:05:29,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:29,102 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 11:05:29,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:29,130 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:29,130 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 11:05:29,131 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-28 11:05:29,131 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 11:05:29,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:29,143 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:05:29,143 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:05:29,144 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:05:29,144 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 11:05:29,144 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 11:05:29,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:29,163 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:05:29,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:05:29,164 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:05:29,164 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 11:05:29,165 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:29,165 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:29,166 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 11:05:29,166 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-28 11:05:29,166 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-28 11:05:29,166 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:29,166 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {35#true} is VALID [2022-04-28 11:05:29,166 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:05:29,167 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:05:29,167 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:05:29,168 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 11:05:29,168 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:29,168 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {35#true} is VALID [2022-04-28 11:05:29,168 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:05:29,169 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:05:29,169 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:05:29,169 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 11:05:29,170 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:29,170 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:29,170 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:29,170 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 11:05:29,170 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 11:05:29,170 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 11:05:29,171 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:29,171 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:05:29,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [916511659] [2022-04-28 11:05:29,172 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [916511659] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:05:29,172 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:05:29,172 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 11:05:29,174 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:05:29,174 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1535715500] [2022-04-28 11:05:29,174 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1535715500] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:05:29,174 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:05:29,174 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 11:05:29,174 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [366810737] [2022-04-28 11:05:29,175 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:05:29,178 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:29,180 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:05:29,183 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:29,209 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:29,209 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 11:05:29,210 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:29,227 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 11:05:29,228 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 11:05:29,231 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:29,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:29,377 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-28 11:05:29,377 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 11:05:29,377 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:29,377 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:05:29,378 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:29,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-28 11:05:29,387 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:29,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-28 11:05:29,400 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-28 11:05:29,502 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:29,510 INFO L225 Difference]: With dead ends: 57 [2022-04-28 11:05:29,510 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 11:05:29,512 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:29,515 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:29,516 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:29,527 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 11:05:29,551 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 11:05:29,551 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:05:29,552 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:29,552 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:29,553 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:29,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:29,555 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 11:05:29,555 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 11:05:29,556 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:29,556 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:29,556 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:29,557 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:29,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:29,562 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 11:05:29,562 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 11:05:29,562 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:29,562 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:29,563 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:05:29,563 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:05:29,564 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:29,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-28 11:05:29,569 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-28 11:05:29,569 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:05:29,569 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-28 11:05:29,570 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:29,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-28 11:05:29,598 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:29,599 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 11:05:29,599 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 11:05:29,600 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:05:29,600 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:29,600 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 11:05:29,600 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:05:29,601 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:05:29,601 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-28 11:05:29,602 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:29,602 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1372632294] [2022-04-28 11:05:29,603 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:05:29,603 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 2 times [2022-04-28 11:05:29,603 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:05:29,606 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1317817491] [2022-04-28 11:05:29,606 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:05:29,606 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:05:29,638 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:05:29,638 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2077655283] [2022-04-28 11:05:29,639 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:05:29,639 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:05:29,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:05:29,641 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:29,642 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:29,686 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 11:05:29,686 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:05:29,687 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 11:05:29,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:29,699 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:05:29,825 INFO L272 TraceCheckUtils]: 0: Hoare triple {273#true} call ULTIMATE.init(); {273#true} is VALID [2022-04-28 11:05:29,826 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:29,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 11:05:29,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {273#true} {273#true} #69#return; {273#true} is VALID [2022-04-28 11:05:29,826 INFO L272 TraceCheckUtils]: 4: Hoare triple {273#true} call #t~ret8 := main(); {273#true} is VALID [2022-04-28 11:05:29,826 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:29,826 INFO L272 TraceCheckUtils]: 6: Hoare triple {273#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {273#true} is VALID [2022-04-28 11:05:29,826 INFO L290 TraceCheckUtils]: 7: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-28 11:05:29,827 INFO L290 TraceCheckUtils]: 8: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-28 11:05:29,827 INFO L290 TraceCheckUtils]: 9: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 11:05:29,827 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {273#true} {273#true} #61#return; {273#true} is VALID [2022-04-28 11:05:29,827 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:29,827 INFO L272 TraceCheckUtils]: 12: Hoare triple {273#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {273#true} is VALID [2022-04-28 11:05:29,827 INFO L290 TraceCheckUtils]: 13: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-28 11:05:29,828 INFO L290 TraceCheckUtils]: 14: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-28 11:05:29,828 INFO L290 TraceCheckUtils]: 15: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 11:05:29,828 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {273#true} {273#true} #63#return; {273#true} is VALID [2022-04-28 11:05:29,828 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:29,829 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:29,830 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:29,830 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:29,831 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {274#false} is VALID [2022-04-28 11:05:29,831 INFO L290 TraceCheckUtils]: 22: Hoare triple {274#false} assume !false; {274#false} is VALID [2022-04-28 11:05:29,831 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:29,831 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 11:05:29,831 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:05:29,831 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1317817491] [2022-04-28 11:05:29,832 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:05:29,832 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2077655283] [2022-04-28 11:05:29,832 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2077655283] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:05:29,832 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:05:29,832 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 11:05:29,833 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:05:29,833 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1372632294] [2022-04-28 11:05:29,833 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1372632294] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:05:29,833 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:05:29,833 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 11:05:29,833 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1274856072] [2022-04-28 11:05:29,833 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:05:29,834 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:29,834 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:05:29,834 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:29,849 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:29,849 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 11:05:29,849 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:29,849 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 11:05:29,850 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 11:05:29,850 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:30,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:30,027 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-28 11:05:30,027 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 11:05:30,027 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:30,027 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:05:30,027 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:30,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 11:05:30,029 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:30,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 11:05:30,030 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-28 11:05:30,063 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:30,064 INFO L225 Difference]: With dead ends: 39 [2022-04-28 11:05:30,064 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 11:05:30,065 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:30,066 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 10 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:05:30,066 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.1s Time] [2022-04-28 11:05:30,066 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 11:05:30,075 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-28 11:05:30,075 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:05:30,075 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:30,075 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:30,076 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:30,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:30,077 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 11:05:30,077 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 11:05:30,078 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:30,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:30,078 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:30,078 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:30,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:30,080 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 11:05:30,080 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 11:05:30,080 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:30,080 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:30,080 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:05:30,081 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:05:30,081 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:30,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-28 11:05:30,082 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-28 11:05:30,082 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:05:30,082 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-28 11:05:30,082 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:30,083 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 37 transitions. [2022-04-28 11:05:30,115 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:30,116 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-28 11:05:30,116 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 11:05:30,116 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:05:30,117 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:30,135 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:30,332 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:30,333 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:05:30,333 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:05:30,333 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-28 11:05:30,333 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:30,334 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1239835369] [2022-04-28 11:05:30,334 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:05:30,334 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 2 times [2022-04-28 11:05:30,334 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:05:30,334 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1934127741] [2022-04-28 11:05:30,334 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:05:30,335 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:05:30,355 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:05:30,355 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1320455334] [2022-04-28 11:05:30,355 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:05:30,356 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:05:30,356 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:05:30,358 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:30,384 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:30,450 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:05:30,450 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:05:30,451 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 11:05:30,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:30,461 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:05:30,816 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-28 11:05:30,816 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:05:30,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:05:30,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-28 11:05:30,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-28 11:05:30,817 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:05:30,817 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {567#true} is VALID [2022-04-28 11:05:30,817 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:05:30,817 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:05:30,818 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:05:30,818 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-28 11:05:30,818 INFO L290 TraceCheckUtils]: 11: Hoare triple {567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {567#true} is VALID [2022-04-28 11:05:30,818 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {567#true} is VALID [2022-04-28 11:05:30,819 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {611#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:05:30,819 INFO L290 TraceCheckUtils]: 14: Hoare triple {611#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {615#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:05:30,819 INFO L290 TraceCheckUtils]: 15: Hoare triple {615#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {615#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:05:30,820 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {615#(not (= |assume_abort_if_not_#in~cond| 0))} {567#true} #63#return; {622#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:05:30,821 INFO L290 TraceCheckUtils]: 17: Hoare triple {622#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {626#(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 100))} is VALID [2022-04-28 11:05:30,821 INFO L290 TraceCheckUtils]: 18: Hoare triple {626#(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 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {626#(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 100))} is VALID [2022-04-28 11:05:30,821 INFO L272 TraceCheckUtils]: 19: Hoare triple {626#(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 100))} 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:05:30,821 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:05:30,822 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:05:30,822 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:05:30,823 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {626#(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 100))} #65#return; {626#(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 100))} is VALID [2022-04-28 11:05:30,823 INFO L290 TraceCheckUtils]: 24: Hoare triple {626#(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 100))} assume !!(~x~0 <= ~X~0); {626#(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 100))} is VALID [2022-04-28 11:05:30,824 INFO L290 TraceCheckUtils]: 25: Hoare triple {626#(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 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {651#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:05:30,825 INFO L290 TraceCheckUtils]: 26: Hoare triple {651#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {655#(and (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:05:30,825 INFO L290 TraceCheckUtils]: 27: Hoare triple {655#(and (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {659#(and (= main_~xy~0 0) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:05:30,826 INFO L272 TraceCheckUtils]: 28: Hoare triple {659#(and (= main_~xy~0 0) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 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)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:05:30,827 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:05:30,827 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-28 11:05:30,827 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-28 11:05:30,828 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 5 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 11:05:30,828 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:05:31,080 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-28 11:05:31,081 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-28 11:05:31,081 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:05:31,082 INFO L272 TraceCheckUtils]: 28: Hoare triple {683#(= (+ (* 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)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:05:31,083 INFO L290 TraceCheckUtils]: 27: Hoare triple {687#(= (+ (* 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; {683#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:05:31,092 INFO L290 TraceCheckUtils]: 26: Hoare triple {691#(= (+ (* (* 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; {687#(= (+ (* 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:05:31,093 INFO L290 TraceCheckUtils]: 25: Hoare triple {687#(= (+ (* 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; {691#(= (+ (* (* 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:05:31,093 INFO L290 TraceCheckUtils]: 24: Hoare triple {687#(= (+ (* 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 !!(~x~0 <= ~X~0); {687#(= (+ (* 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:05:31,094 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {687#(= (+ (* 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:05:31,094 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:05:31,094 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:05:31,094 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:05:31,095 INFO L272 TraceCheckUtils]: 19: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} 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:05:31,095 INFO L290 TraceCheckUtils]: 18: Hoare triple {687#(= (+ (* 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; {687#(= (+ (* 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:05:31,098 INFO L290 TraceCheckUtils]: 17: Hoare triple {567#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {687#(= (+ (* 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:05:31,098 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {567#true} {567#true} #63#return; {567#true} is VALID [2022-04-28 11:05:31,098 INFO L290 TraceCheckUtils]: 15: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:05:31,098 INFO L290 TraceCheckUtils]: 14: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:05:31,099 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:05:31,099 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {567#true} is VALID [2022-04-28 11:05:31,099 INFO L290 TraceCheckUtils]: 11: Hoare triple {567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {567#true} is VALID [2022-04-28 11:05:31,099 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-28 11:05:31,099 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:05:31,099 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:05:31,099 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:05:31,099 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {567#true} is VALID [2022-04-28 11:05:31,100 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:05:31,100 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-28 11:05:31,100 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-28 11:05:31,100 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:05:31,100 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:05:31,100 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-28 11:05:31,100 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 11:05:31,101 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:05:31,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1934127741] [2022-04-28 11:05:31,101 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:05:31,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1320455334] [2022-04-28 11:05:31,101 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1320455334] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:05:31,101 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:05:31,101 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7] total 14 [2022-04-28 11:05:31,101 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:05:31,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1239835369] [2022-04-28 11:05:31,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1239835369] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:05:31,102 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:05:31,102 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 11:05:31,102 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1369996152] [2022-04-28 11:05:31,102 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:05:31,102 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-28 11:05:31,102 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:05:31,103 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:05:31,126 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:31,126 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 11:05:31,126 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:31,126 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 11:05:31,127 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2022-04-28 11:05:31,127 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:05:31,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:31,708 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2022-04-28 11:05:31,708 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 11:05:31,709 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-28 11:05:31,709 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:05:31,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:05:31,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-28 11:05:31,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:05:31,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-28 11:05:31,712 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 51 transitions. [2022-04-28 11:05:31,750 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:05:31,751 INFO L225 Difference]: With dead ends: 48 [2022-04-28 11:05:31,751 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 11:05:31,752 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 49 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=48, Invalid=224, Unknown=0, NotChecked=0, Total=272 [2022-04-28 11:05:31,752 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 22 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 211 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 222 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 211 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 11:05:31,752 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 150 Invalid, 222 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 211 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 11:05:31,753 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 11:05:31,775 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 43. [2022-04-28 11:05:31,775 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:05:31,776 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 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:05:31,776 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 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:05:31,776 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 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:05:31,778 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:31,778 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-28 11:05:31,778 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-28 11:05:31,779 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:31,779 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:31,779 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 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 44 states. [2022-04-28 11:05:31,779 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 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 44 states. [2022-04-28 11:05:31,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:31,781 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-28 11:05:31,781 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-28 11:05:31,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:31,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:31,781 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:05:31,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:05:31,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 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:05:31,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-28 11:05:31,783 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 32 [2022-04-28 11:05:31,783 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:05:31,784 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-28 11:05:31,784 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:05:31,784 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-28 11:05:31,832 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:05:31,832 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-28 11:05:31,833 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 11:05:31,833 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:05:31,833 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:31,849 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 11:05:32,052 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:05:32,052 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:05:32,052 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:05:32,053 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-28 11:05:32,053 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:32,053 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2059633015] [2022-04-28 11:05:32,053 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:05:32,053 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 2 times [2022-04-28 11:05:32,053 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:05:32,053 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1967951938] [2022-04-28 11:05:32,053 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:05:32,054 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:05:32,064 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:05:32,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [887021117] [2022-04-28 11:05:32,065 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:05:32,065 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:05:32,065 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:05:32,066 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:05:32,069 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:05:32,106 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:05:32,107 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:05:32,107 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 11:05:32,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:32,136 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:05:32,410 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-28 11:05:32,411 INFO L290 TraceCheckUtils]: 1: Hoare triple {1048#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); {1048#true} is VALID [2022-04-28 11:05:32,411 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:05:32,412 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-28 11:05:32,412 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-28 11:05:32,412 INFO L290 TraceCheckUtils]: 5: Hoare triple {1048#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; {1048#true} is VALID [2022-04-28 11:05:32,412 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {1048#true} is VALID [2022-04-28 11:05:32,412 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:05:32,412 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:05:32,412 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:05:32,412 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-28 11:05:32,413 INFO L290 TraceCheckUtils]: 11: Hoare triple {1048#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1048#true} is VALID [2022-04-28 11:05:32,413 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {1048#true} is VALID [2022-04-28 11:05:32,413 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:05:32,413 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:05:32,413 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:05:32,413 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-28 11:05:32,414 INFO L290 TraceCheckUtils]: 17: Hoare triple {1048#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1104#(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:32,414 INFO L290 TraceCheckUtils]: 18: Hoare triple {1104#(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; {1104#(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:32,414 INFO L272 TraceCheckUtils]: 19: Hoare triple {1104#(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)); {1048#true} is VALID [2022-04-28 11:05:32,414 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:05:32,415 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:05:32,415 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:05:32,415 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1048#true} {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {1104#(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:32,416 INFO L290 TraceCheckUtils]: 24: Hoare triple {1104#(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); {1126#(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:05:32,417 INFO L290 TraceCheckUtils]: 25: Hoare triple {1126#(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; {1130#(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:05:32,417 INFO L290 TraceCheckUtils]: 26: Hoare triple {1130#(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; {1134#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:05:32,418 INFO L290 TraceCheckUtils]: 27: Hoare triple {1134#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1138#(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:05:32,419 INFO L272 TraceCheckUtils]: 28: Hoare triple {1138#(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)); {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:05:32,419 INFO L290 TraceCheckUtils]: 29: Hoare triple {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1146#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:32,419 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-28 11:05:32,420 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-28 11:05:32,420 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:05:32,420 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:05:32,625 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-28 11:05:32,626 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-28 11:05:32,626 INFO L290 TraceCheckUtils]: 29: Hoare triple {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1146#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:05:32,627 INFO L272 TraceCheckUtils]: 28: Hoare triple {1162#(= (+ (* 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)); {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:05:32,628 INFO L290 TraceCheckUtils]: 27: Hoare triple {1166#(= (+ (* 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; {1162#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:05:32,732 INFO L290 TraceCheckUtils]: 26: Hoare triple {1170#(= (+ (* (* 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; {1166#(= (+ (* 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:05:32,735 INFO L290 TraceCheckUtils]: 25: Hoare triple {1166#(= (+ (* 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; {1170#(= (+ (* (* 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:05:32,736 INFO L290 TraceCheckUtils]: 24: Hoare triple {1177#(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); {1166#(= (+ (* 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:05:32,737 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1048#true} {1177#(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; {1177#(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:05:32,737 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:05:32,737 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:05:32,738 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:05:32,738 INFO L272 TraceCheckUtils]: 19: Hoare triple {1177#(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)); {1048#true} is VALID [2022-04-28 11:05:32,738 INFO L290 TraceCheckUtils]: 18: Hoare triple {1177#(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; {1177#(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:05:32,739 INFO L290 TraceCheckUtils]: 17: Hoare triple {1048#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1177#(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:05:32,739 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-28 11:05:32,739 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:05:32,739 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:05:32,739 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:05:32,739 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {1048#true} is VALID [2022-04-28 11:05:32,739 INFO L290 TraceCheckUtils]: 11: Hoare triple {1048#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1048#true} is VALID [2022-04-28 11:05:32,739 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-28 11:05:32,740 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:05:32,740 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:05:32,740 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:05:32,740 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {1048#true} is VALID [2022-04-28 11:05:32,740 INFO L290 TraceCheckUtils]: 5: Hoare triple {1048#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; {1048#true} is VALID [2022-04-28 11:05:32,740 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-28 11:05:32,740 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-28 11:05:32,740 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:05:32,740 INFO L290 TraceCheckUtils]: 1: Hoare triple {1048#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); {1048#true} is VALID [2022-04-28 11:05:32,741 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-28 11:05:32,741 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:05:32,741 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:05:32,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1967951938] [2022-04-28 11:05:32,741 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:05:32,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [887021117] [2022-04-28 11:05:32,741 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [887021117] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:05:32,741 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:05:32,741 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-28 11:05:32,742 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:05:32,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2059633015] [2022-04-28 11:05:32,742 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2059633015] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:05:32,742 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:05:32,742 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 11:05:32,742 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [104596815] [2022-04-28 11:05:32,742 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:05:32,742 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:05:32,743 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:05:32,743 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:05:32,763 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:05:32,763 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 11:05:32,763 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:32,763 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 11:05:32,764 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-28 11:05:32,764 INFO L87 Difference]: Start difference. First operand 43 states and 47 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:05:33,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:33,093 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-04-28 11:05:33,093 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 11:05:33,094 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:05:33,094 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:05:33,094 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:05:33,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-28 11:05:33,095 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:05:33,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-28 11:05:33,097 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 51 transitions. [2022-04-28 11:05:33,137 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:05:33,139 INFO L225 Difference]: With dead ends: 56 [2022-04-28 11:05:33,139 INFO L226 Difference]: Without dead ends: 54 [2022-04-28 11:05:33,139 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:05:33,140 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 11 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 136 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 139 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 136 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:05:33,140 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 138 Invalid, 139 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 136 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:05:33,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-28 11:05:33,172 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 50. [2022-04-28 11:05:33,172 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:05:33,173 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:05:33,173 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:05:33,173 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:05:33,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:33,175 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-28 11:05:33,175 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-28 11:05:33,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:33,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:33,175 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-28 11:05:33,176 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-28 11:05:33,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:05:33,177 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-28 11:05:33,177 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-28 11:05:33,178 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:05:33,178 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:05:33,178 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:05:33,178 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:05:33,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 11:05:33,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2022-04-28 11:05:33,179 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 32 [2022-04-28 11:05:33,180 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:05:33,180 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2022-04-28 11:05:33,180 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:05:33,180 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 54 transitions. [2022-04-28 11:05:33,228 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:05:33,228 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 11:05:33,228 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 11:05:33,229 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:05:33,229 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:05:33,247 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:05:33,431 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:05:33,431 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:05:33,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:05:33,432 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-28 11:05:33,432 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:05:33,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1625228429] [2022-04-28 11:05:33,432 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:05:33,433 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 2 times [2022-04-28 11:05:33,433 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:05:33,433 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [331472941] [2022-04-28 11:05:33,433 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:05:33,433 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:05:33,448 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:05:33,448 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1191080644] [2022-04-28 11:05:33,448 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:05:33,448 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:05:33,449 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:05:33,449 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:05:33,450 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:05:33,494 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:05:33,494 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:05:33,495 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 11:05:33,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:05:33,506 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:05:47,445 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:05:52,532 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:05:56,648 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:06:03,794 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-28 11:06:03,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#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); {1576#true} is VALID [2022-04-28 11:06:03,795 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:06:03,795 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-28 11:06:03,795 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-28 11:06:03,795 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#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; {1576#true} is VALID [2022-04-28 11:06:03,795 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:06:03,795 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 11:06:03,795 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 11:06:03,796 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:06:03,796 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-28 11:06:03,796 INFO L290 TraceCheckUtils]: 11: Hoare triple {1576#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1576#true} is VALID [2022-04-28 11:06:03,796 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:06:03,796 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 11:06:03,796 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 11:06:03,796 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:06:03,796 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-28 11:06:03,800 INFO L290 TraceCheckUtils]: 17: Hoare triple {1576#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:03,800 INFO L290 TraceCheckUtils]: 18: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:03,800 INFO L272 TraceCheckUtils]: 19: Hoare triple {1632#(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)); {1576#true} is VALID [2022-04-28 11:06:03,800 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:03,801 INFO L290 TraceCheckUtils]: 21: Hoare triple {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:03,801 INFO L290 TraceCheckUtils]: 22: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:03,802 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1632#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:03,802 INFO L290 TraceCheckUtils]: 24: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1656#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:06:03,802 INFO L290 TraceCheckUtils]: 25: Hoare triple {1656#(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; {1660#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-28 11:06:03,803 INFO L290 TraceCheckUtils]: 26: Hoare triple {1660#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1664#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:06:03,803 INFO L290 TraceCheckUtils]: 27: Hoare triple {1664#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1668#(and (= (+ (- 1) main_~y~0) 0) (<= 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:06:03,803 INFO L272 TraceCheckUtils]: 28: Hoare triple {1668#(and (= (+ (- 1) main_~y~0) 0) (<= 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)); {1576#true} is VALID [2022-04-28 11:06:03,815 INFO L290 TraceCheckUtils]: 29: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:03,816 INFO L290 TraceCheckUtils]: 30: Hoare triple {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:03,816 INFO L290 TraceCheckUtils]: 31: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:03,817 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1668#(and (= (+ (- 1) main_~y~0) 0) (<= 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; {1684#(and (= (+ (- 1) main_~y~0) 0) (<= 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:06:03,818 INFO L290 TraceCheckUtils]: 33: Hoare triple {1684#(and (= (+ (- 1) main_~y~0) 0) (<= 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); {1688#(and (= (+ (- 1) main_~y~0) 0) (<= 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:06:03,824 INFO L290 TraceCheckUtils]: 34: Hoare triple {1688#(and (= (+ (- 1) main_~y~0) 0) (<= 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; {1692#(and (= (+ (- 1) main_~y~0) 0) (<= 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:06:03,826 INFO L272 TraceCheckUtils]: 35: Hoare triple {1692#(and (= (+ (- 1) main_~y~0) 0) (<= 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)); {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:03,826 INFO L290 TraceCheckUtils]: 36: Hoare triple {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:03,827 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-28 11:06:03,827 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-28 11:06:03,827 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:06:03,827 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:06:07,850 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-28 11:06:07,850 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-28 11:06:07,851 INFO L290 TraceCheckUtils]: 36: Hoare triple {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:07,851 INFO L272 TraceCheckUtils]: 35: Hoare triple {1716#(= (+ (* 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)); {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:07,852 INFO L290 TraceCheckUtils]: 34: Hoare triple {1720#(= (+ (* 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; {1716#(= (+ (* 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:06:07,852 INFO L290 TraceCheckUtils]: 33: Hoare triple {1724#(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); {1720#(= (+ (* 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:06:07,853 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1728#(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; {1724#(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:06:07,854 INFO L290 TraceCheckUtils]: 31: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:07,854 INFO L290 TraceCheckUtils]: 30: Hoare triple {1738#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:07,854 INFO L290 TraceCheckUtils]: 29: Hoare triple {1576#true} ~cond := #in~cond; {1738#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:06:07,854 INFO L272 TraceCheckUtils]: 28: Hoare triple {1728#(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)); {1576#true} is VALID [2022-04-28 11:06:07,855 INFO L290 TraceCheckUtils]: 27: Hoare triple {1745#(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; {1728#(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:06:07,856 INFO L290 TraceCheckUtils]: 26: Hoare triple {1749#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_16 main_~y~0)) (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1745#(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:06:07,858 INFO L290 TraceCheckUtils]: 25: Hoare triple {1753#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* (* v_main_~x~0_16 (+ main_~y~0 1)) 2) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ (* (* v_main_~x~0_16 main_~Y~0) 2) 2 (* main_~y~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; {1749#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_16 main_~y~0)) (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2))))))} is VALID [2022-04-28 11:06:07,859 INFO L290 TraceCheckUtils]: 24: Hoare triple {1576#true} assume !!(~x~0 <= ~X~0); {1753#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* (* v_main_~x~0_16 (+ main_~y~0 1)) 2) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ (* (* v_main_~x~0_16 main_~Y~0) 2) 2 (* main_~y~0 2) (* main_~Y~0 2)))))} is VALID [2022-04-28 11:06:07,859 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1576#true} {1576#true} #65#return; {1576#true} is VALID [2022-04-28 11:06:07,860 INFO L290 TraceCheckUtils]: 22: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:06:07,860 INFO L290 TraceCheckUtils]: 21: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 11:06:07,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 11:06:07,860 INFO L272 TraceCheckUtils]: 19: Hoare triple {1576#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:06:07,860 INFO L290 TraceCheckUtils]: 18: Hoare triple {1576#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1576#true} is VALID [2022-04-28 11:06:07,860 INFO L290 TraceCheckUtils]: 17: Hoare triple {1576#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1576#true} is VALID [2022-04-28 11:06:07,860 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-28 11:06:07,860 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:06:07,860 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 11:06:07,860 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 11:06:07,861 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:06:07,861 INFO L290 TraceCheckUtils]: 11: Hoare triple {1576#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1576#true} is VALID [2022-04-28 11:06:07,861 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-28 11:06:07,861 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:06:07,875 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 11:06:07,876 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 11:06:07,876 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:06:07,876 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#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; {1576#true} is VALID [2022-04-28 11:06:07,876 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-28 11:06:07,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-28 11:06:07,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:06:07,876 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#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); {1576#true} is VALID [2022-04-28 11:06:07,876 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-28 11:06:07,876 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:06:07,877 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:06:07,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [331472941] [2022-04-28 11:06:07,877 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:06:07,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1191080644] [2022-04-28 11:06:07,877 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1191080644] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:06:07,877 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:06:07,877 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-28 11:06:07,877 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:06:07,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1625228429] [2022-04-28 11:06:07,877 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1625228429] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:06:07,877 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:06:07,877 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:06:07,878 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1596444742] [2022-04-28 11:06:07,878 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:06:07,878 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:06:07,878 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:06:07,878 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:06:07,911 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:06:07,911 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:06:07,911 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:07,911 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:06:07,912 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-04-28 11:06:07,912 INFO L87 Difference]: Start difference. First operand 50 states and 54 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:06:10,442 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:06:11,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:11,104 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-28 11:06:11,104 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 11:06:11,105 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:06:11,105 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:06:11,105 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:06:11,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-28 11:06:11,106 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:06:11,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-28 11:06:11,107 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 53 transitions. [2022-04-28 11:06:11,157 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:11,158 INFO L225 Difference]: With dead ends: 61 [2022-04-28 11:06:11,158 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 11:06:11,158 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 130 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=116, Invalid=586, Unknown=0, NotChecked=0, Total=702 [2022-04-28 11:06:11,158 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 16 mSDsluCounter, 196 mSDsCounter, 0 mSdLazyCounter, 294 mSolverCounterSat, 4 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 299 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 294 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.5s IncrementalHoareTripleChecker+Time [2022-04-28 11:06:11,159 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 219 Invalid, 299 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 294 Invalid, 1 Unknown, 0 Unchecked, 2.5s Time] [2022-04-28 11:06:11,159 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 11:06:11,194 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 43. [2022-04-28 11:06:11,194 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:06:11,194 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 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:06:11,194 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 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:06:11,195 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 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:06:11,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:11,196 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-28 11:06:11,196 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-28 11:06:11,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:11,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:11,197 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 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 53 states. [2022-04-28 11:06:11,197 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 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 53 states. [2022-04-28 11:06:11,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:11,198 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-28 11:06:11,198 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-28 11:06:11,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:11,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:11,198 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:06:11,199 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:06:11,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 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:06:11,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-28 11:06:11,200 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 39 [2022-04-28 11:06:11,200 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:06:11,200 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-28 11:06:11,200 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:06:11,200 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-28 11:06:11,257 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:11,257 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-28 11:06:11,257 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 11:06:11,257 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:06:11,257 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:06:11,275 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:06:11,463 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:06:11,463 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:06:11,464 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:06:11,464 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 3 times [2022-04-28 11:06:11,465 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:11,465 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [440871931] [2022-04-28 11:06:11,465 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:06:11,465 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 4 times [2022-04-28 11:06:11,465 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:06:11,465 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2026074304] [2022-04-28 11:06:11,465 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:06:11,465 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:06:11,502 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:06:11,502 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [788225340] [2022-04-28 11:06:11,502 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:06:11,502 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:06:11,502 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:06:11,503 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:06:11,504 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:06:11,536 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:06:11,536 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:06:11,537 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 11:06:11,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:06:11,548 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:06:28,749 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:06:31,050 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-28 11:06:31,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {2155#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); {2155#true} is VALID [2022-04-28 11:06:31,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:06:31,051 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-28 11:06:31,051 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-28 11:06:31,051 INFO L290 TraceCheckUtils]: 5: Hoare triple {2155#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; {2155#true} is VALID [2022-04-28 11:06:31,051 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:06:31,051 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 11:06:31,051 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 11:06:31,051 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:06:31,051 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-28 11:06:31,051 INFO L290 TraceCheckUtils]: 11: Hoare triple {2155#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2155#true} is VALID [2022-04-28 11:06:31,051 INFO L272 TraceCheckUtils]: 12: Hoare triple {2155#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:06:31,051 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 11:06:31,052 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 11:06:31,052 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:06:31,052 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-28 11:06:31,052 INFO L290 TraceCheckUtils]: 17: Hoare triple {2155#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:06:31,053 INFO L290 TraceCheckUtils]: 18: Hoare triple {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:06:31,053 INFO L272 TraceCheckUtils]: 19: Hoare triple {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= 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)); {2155#true} is VALID [2022-04-28 11:06:31,053 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:31,053 INFO L290 TraceCheckUtils]: 21: Hoare triple {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:31,054 INFO L290 TraceCheckUtils]: 22: Hoare triple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:31,054 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:06:31,055 INFO L290 TraceCheckUtils]: 24: Hoare triple {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:06:31,055 INFO L290 TraceCheckUtils]: 25: Hoare triple {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2238#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:06:31,056 INFO L290 TraceCheckUtils]: 26: Hoare triple {2238#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2238#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:06:31,056 INFO L290 TraceCheckUtils]: 27: Hoare triple {2238#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2245#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:06:31,056 INFO L272 TraceCheckUtils]: 28: Hoare triple {2245#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 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)); {2155#true} is VALID [2022-04-28 11:06:31,056 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:31,057 INFO L290 TraceCheckUtils]: 30: Hoare triple {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:31,057 INFO L290 TraceCheckUtils]: 31: Hoare triple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:31,058 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} {2245#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* 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)) (= main_~y~0 0))} is VALID [2022-04-28 11:06:31,059 INFO L290 TraceCheckUtils]: 33: Hoare triple {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* 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)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* 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)) (= main_~y~0 0))} is VALID [2022-04-28 11:06:31,059 INFO L290 TraceCheckUtils]: 34: Hoare triple {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* 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)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2268#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:06:31,064 INFO L290 TraceCheckUtils]: 35: Hoare triple {2268#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2272#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:06:31,069 INFO L290 TraceCheckUtils]: 36: Hoare triple {2272#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2276#(and (= main_~xy~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (= main_~yx~0 (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0)))} is VALID [2022-04-28 11:06:31,073 INFO L272 TraceCheckUtils]: 37: Hoare triple {2276#(and (= main_~xy~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (= main_~yx~0 (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 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)); {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:31,073 INFO L290 TraceCheckUtils]: 38: Hoare triple {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2284#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:31,073 INFO L290 TraceCheckUtils]: 39: Hoare triple {2284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-28 11:06:31,073 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-28 11:06:31,074 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 11:06:31,074 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:06:33,003 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-28 11:06:33,004 INFO L290 TraceCheckUtils]: 39: Hoare triple {2284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-28 11:06:33,004 INFO L290 TraceCheckUtils]: 38: Hoare triple {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2284#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:33,005 INFO L272 TraceCheckUtils]: 37: Hoare triple {2300#(= (+ (* 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)); {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:33,006 INFO L290 TraceCheckUtils]: 36: Hoare triple {2304#(= (+ (* 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; {2300#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:06:33,007 INFO L290 TraceCheckUtils]: 35: Hoare triple {2308#(= (+ (* (* 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; {2304#(= (+ (* 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:06:33,008 INFO L290 TraceCheckUtils]: 34: Hoare triple {2304#(= (+ (* 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; {2308#(= (+ (* (* 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:06:33,008 INFO L290 TraceCheckUtils]: 33: Hoare triple {2304#(= (+ (* 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 !!(~x~0 <= ~X~0); {2304#(= (+ (* 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:06:33,009 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} {2318#(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)))))} #65#return; {2304#(= (+ (* 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:06:33,009 INFO L290 TraceCheckUtils]: 31: Hoare triple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:33,010 INFO L290 TraceCheckUtils]: 30: Hoare triple {2328#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:33,010 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2328#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:06:33,010 INFO L272 TraceCheckUtils]: 28: Hoare triple {2318#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:06:33,011 INFO L290 TraceCheckUtils]: 27: Hoare triple {2155#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2318#(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)))))} is VALID [2022-04-28 11:06:33,011 INFO L290 TraceCheckUtils]: 26: Hoare triple {2155#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2155#true} is VALID [2022-04-28 11:06:33,011 INFO L290 TraceCheckUtils]: 25: Hoare triple {2155#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2155#true} is VALID [2022-04-28 11:06:33,011 INFO L290 TraceCheckUtils]: 24: Hoare triple {2155#true} assume !!(~x~0 <= ~X~0); {2155#true} is VALID [2022-04-28 11:06:33,011 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2155#true} {2155#true} #65#return; {2155#true} is VALID [2022-04-28 11:06:33,011 INFO L290 TraceCheckUtils]: 22: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:06:33,011 INFO L290 TraceCheckUtils]: 21: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 11:06:33,012 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 11:06:33,012 INFO L272 TraceCheckUtils]: 19: Hoare triple {2155#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:06:33,012 INFO L290 TraceCheckUtils]: 18: Hoare triple {2155#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2155#true} is VALID [2022-04-28 11:06:33,012 INFO L290 TraceCheckUtils]: 17: Hoare triple {2155#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2155#true} is VALID [2022-04-28 11:06:33,012 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-28 11:06:33,012 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:06:33,012 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 11:06:33,012 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 11:06:33,012 INFO L272 TraceCheckUtils]: 12: Hoare triple {2155#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:06:33,012 INFO L290 TraceCheckUtils]: 11: Hoare triple {2155#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2155#true} is VALID [2022-04-28 11:06:33,012 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-28 11:06:33,012 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:06:33,012 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 11:06:33,013 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 11:06:33,013 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:06:33,013 INFO L290 TraceCheckUtils]: 5: Hoare triple {2155#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; {2155#true} is VALID [2022-04-28 11:06:33,013 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-28 11:06:33,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-28 11:06:33,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:06:33,013 INFO L290 TraceCheckUtils]: 1: Hoare triple {2155#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); {2155#true} is VALID [2022-04-28 11:06:33,013 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-28 11:06:33,013 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:06:33,013 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:06:33,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2026074304] [2022-04-28 11:06:33,014 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:06:33,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [788225340] [2022-04-28 11:06:33,014 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [788225340] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:06:33,014 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:06:33,014 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 11:06:33,014 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:06:33,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [440871931] [2022-04-28 11:06:33,014 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [440871931] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:06:33,014 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:06:33,014 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 11:06:33,014 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1627166852] [2022-04-28 11:06:33,014 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:06:33,015 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 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 41 [2022-04-28 11:06:33,015 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:06:33,015 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 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:06:33,050 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:33,050 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 11:06:33,051 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:33,051 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 11:06:33,051 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=259, Unknown=0, NotChecked=0, Total=306 [2022-04-28 11:06:33,051 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 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:06:34,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:34,315 INFO L93 Difference]: Finished difference Result 61 states and 69 transitions. [2022-04-28 11:06:34,315 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 11:06:34,315 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 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 41 [2022-04-28 11:06:34,315 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:06:34,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 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:06:34,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 11:06:34,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 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:06:34,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 11:06:34,318 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-28 11:06:34,381 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:34,382 INFO L225 Difference]: With dead ends: 61 [2022-04-28 11:06:34,382 INFO L226 Difference]: Without dead ends: 57 [2022-04-28 11:06:34,383 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 63 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 57 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=75, Invalid=387, Unknown=0, NotChecked=0, Total=462 [2022-04-28 11:06:34,383 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 18 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 248 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 256 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 248 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 11:06:34,383 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 149 Invalid, 256 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 248 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 11:06:34,384 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-28 11:06:34,434 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 55. [2022-04-28 11:06:34,434 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:06:34,434 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:06:34,435 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:06:34,435 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:06:34,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:34,437 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-28 11:06:34,437 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-28 11:06:34,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:34,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:34,438 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 57 states. [2022-04-28 11:06:34,438 INFO L87 Difference]: Start difference. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 57 states. [2022-04-28 11:06:34,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:34,441 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-28 11:06:34,441 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-28 11:06:34,441 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:34,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:34,441 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:06:34,441 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:06:34,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:06:34,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 61 transitions. [2022-04-28 11:06:34,444 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 61 transitions. Word has length 41 [2022-04-28 11:06:34,445 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:06:34,445 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 61 transitions. [2022-04-28 11:06:34,446 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 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:06:34,446 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 61 transitions. [2022-04-28 11:06:34,525 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:34,525 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-04-28 11:06:34,526 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 11:06:34,526 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:06:34,526 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:06:34,544 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:06:34,726 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:06:34,727 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:06:34,727 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:06:34,727 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 1 times [2022-04-28 11:06:34,727 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:34,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1229207913] [2022-04-28 11:06:34,727 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:06:34,727 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 2 times [2022-04-28 11:06:34,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:06:34,728 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [42374082] [2022-04-28 11:06:34,728 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:06:34,728 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:06:34,737 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:06:34,738 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [605988188] [2022-04-28 11:06:34,738 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:06:34,738 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:06:34,738 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:06:34,739 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:06:34,740 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:06:34,778 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:06:34,778 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:06:34,779 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 11:06:34,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:06:34,798 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:06:35,104 INFO L272 TraceCheckUtils]: 0: Hoare triple {2772#true} call ULTIMATE.init(); {2772#true} is VALID [2022-04-28 11:06:35,104 INFO L290 TraceCheckUtils]: 1: Hoare triple {2772#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); {2772#true} is VALID [2022-04-28 11:06:35,104 INFO L290 TraceCheckUtils]: 2: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:06:35,104 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2772#true} {2772#true} #69#return; {2772#true} is VALID [2022-04-28 11:06:35,104 INFO L272 TraceCheckUtils]: 4: Hoare triple {2772#true} call #t~ret8 := main(); {2772#true} is VALID [2022-04-28 11:06:35,104 INFO L290 TraceCheckUtils]: 5: Hoare triple {2772#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; {2772#true} is VALID [2022-04-28 11:06:35,105 INFO L272 TraceCheckUtils]: 6: Hoare triple {2772#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {2772#true} is VALID [2022-04-28 11:06:35,105 INFO L290 TraceCheckUtils]: 7: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 11:06:35,105 INFO L290 TraceCheckUtils]: 8: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 11:06:35,105 INFO L290 TraceCheckUtils]: 9: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:06:35,105 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2772#true} {2772#true} #61#return; {2772#true} is VALID [2022-04-28 11:06:35,105 INFO L290 TraceCheckUtils]: 11: Hoare triple {2772#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2772#true} is VALID [2022-04-28 11:06:35,105 INFO L272 TraceCheckUtils]: 12: Hoare triple {2772#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {2772#true} is VALID [2022-04-28 11:06:35,105 INFO L290 TraceCheckUtils]: 13: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 11:06:35,105 INFO L290 TraceCheckUtils]: 14: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 11:06:35,105 INFO L290 TraceCheckUtils]: 15: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:06:35,105 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2772#true} {2772#true} #63#return; {2772#true} is VALID [2022-04-28 11:06:35,106 INFO L290 TraceCheckUtils]: 17: Hoare triple {2772#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2828#(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:06:35,106 INFO L290 TraceCheckUtils]: 18: Hoare triple {2828#(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; {2828#(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:06:35,106 INFO L272 TraceCheckUtils]: 19: Hoare triple {2828#(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)); {2772#true} is VALID [2022-04-28 11:06:35,107 INFO L290 TraceCheckUtils]: 20: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 11:06:35,107 INFO L290 TraceCheckUtils]: 21: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 11:06:35,107 INFO L290 TraceCheckUtils]: 22: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:06:35,108 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2772#true} {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {2828#(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:06:35,108 INFO L290 TraceCheckUtils]: 24: Hoare triple {2828#(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); {2828#(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:06:35,109 INFO L290 TraceCheckUtils]: 25: Hoare triple {2828#(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; {2853#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:06:35,110 INFO L290 TraceCheckUtils]: 26: Hoare triple {2853#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-28 11:06:35,111 INFO L290 TraceCheckUtils]: 27: Hoare triple {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2861#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:06:35,111 INFO L272 TraceCheckUtils]: 28: Hoare triple {2861#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 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)); {2772#true} is VALID [2022-04-28 11:06:35,114 INFO L290 TraceCheckUtils]: 29: Hoare triple {2772#true} ~cond := #in~cond; {2868#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:35,115 INFO L290 TraceCheckUtils]: 30: Hoare triple {2868#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:35,117 INFO L290 TraceCheckUtils]: 31: Hoare triple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:35,118 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} {2861#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-28 11:06:35,119 INFO L290 TraceCheckUtils]: 33: Hoare triple {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-28 11:06:35,120 INFO L290 TraceCheckUtils]: 34: Hoare triple {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= 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; {2885#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-28 11:06:35,121 INFO L290 TraceCheckUtils]: 35: Hoare triple {2885#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2889#(and (= (+ (- 1) main_~x~0) 1) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} is VALID [2022-04-28 11:06:35,123 INFO L290 TraceCheckUtils]: 36: Hoare triple {2889#(and (= (+ (- 1) main_~x~0) 1) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2893#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0))} is VALID [2022-04-28 11:06:35,124 INFO L272 TraceCheckUtils]: 37: Hoare triple {2893#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:35,124 INFO L290 TraceCheckUtils]: 38: Hoare triple {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2901#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:35,124 INFO L290 TraceCheckUtils]: 39: Hoare triple {2901#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2773#false} is VALID [2022-04-28 11:06:35,125 INFO L290 TraceCheckUtils]: 40: Hoare triple {2773#false} assume !false; {2773#false} is VALID [2022-04-28 11:06:35,125 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 11:06:35,125 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:06:37,800 INFO L290 TraceCheckUtils]: 40: Hoare triple {2773#false} assume !false; {2773#false} is VALID [2022-04-28 11:06:37,800 INFO L290 TraceCheckUtils]: 39: Hoare triple {2901#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2773#false} is VALID [2022-04-28 11:06:37,800 INFO L290 TraceCheckUtils]: 38: Hoare triple {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2901#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:06:37,801 INFO L272 TraceCheckUtils]: 37: Hoare triple {2917#(= (+ (* 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)); {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:06:37,802 INFO L290 TraceCheckUtils]: 36: Hoare triple {2921#(= (+ (* 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; {2917#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:06:37,804 INFO L290 TraceCheckUtils]: 35: Hoare triple {2925#(= (+ (* (* 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; {2921#(= (+ (* 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:06:37,805 INFO L290 TraceCheckUtils]: 34: Hoare triple {2921#(= (+ (* 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; {2925#(= (+ (* (* 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:06:37,805 INFO L290 TraceCheckUtils]: 33: Hoare triple {2921#(= (+ (* 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 !!(~x~0 <= ~X~0); {2921#(= (+ (* 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:06:37,806 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} {2935#(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)))))} #65#return; {2921#(= (+ (* 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:06:37,807 INFO L290 TraceCheckUtils]: 31: Hoare triple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:37,807 INFO L290 TraceCheckUtils]: 30: Hoare triple {2945#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:06:37,807 INFO L290 TraceCheckUtils]: 29: Hoare triple {2772#true} ~cond := #in~cond; {2945#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:06:37,807 INFO L272 TraceCheckUtils]: 28: Hoare triple {2935#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2772#true} is VALID [2022-04-28 11:06:37,808 INFO L290 TraceCheckUtils]: 27: Hoare triple {2772#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2935#(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)))))} is VALID [2022-04-28 11:06:37,808 INFO L290 TraceCheckUtils]: 26: Hoare triple {2772#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2772#true} is VALID [2022-04-28 11:06:37,808 INFO L290 TraceCheckUtils]: 25: Hoare triple {2772#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2772#true} is VALID [2022-04-28 11:06:37,808 INFO L290 TraceCheckUtils]: 24: Hoare triple {2772#true} assume !!(~x~0 <= ~X~0); {2772#true} is VALID [2022-04-28 11:06:37,808 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2772#true} {2772#true} #65#return; {2772#true} is VALID [2022-04-28 11:06:37,808 INFO L290 TraceCheckUtils]: 22: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:06:37,808 INFO L290 TraceCheckUtils]: 21: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 11:06:37,809 INFO L290 TraceCheckUtils]: 20: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 11:06:37,809 INFO L272 TraceCheckUtils]: 19: Hoare triple {2772#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2772#true} is VALID [2022-04-28 11:06:37,809 INFO L290 TraceCheckUtils]: 18: Hoare triple {2772#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2772#true} is VALID [2022-04-28 11:06:37,809 INFO L290 TraceCheckUtils]: 17: Hoare triple {2772#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2772#true} is VALID [2022-04-28 11:06:37,809 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2772#true} {2772#true} #63#return; {2772#true} is VALID [2022-04-28 11:06:37,809 INFO L290 TraceCheckUtils]: 15: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:06:37,809 INFO L290 TraceCheckUtils]: 14: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 11:06:37,809 INFO L290 TraceCheckUtils]: 13: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 11:06:37,809 INFO L272 TraceCheckUtils]: 12: Hoare triple {2772#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {2772#true} is VALID [2022-04-28 11:06:37,809 INFO L290 TraceCheckUtils]: 11: Hoare triple {2772#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2772#true} is VALID [2022-04-28 11:06:37,809 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2772#true} {2772#true} #61#return; {2772#true} is VALID [2022-04-28 11:06:37,809 INFO L290 TraceCheckUtils]: 9: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:06:37,809 INFO L290 TraceCheckUtils]: 8: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 11:06:37,809 INFO L290 TraceCheckUtils]: 7: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 11:06:37,810 INFO L272 TraceCheckUtils]: 6: Hoare triple {2772#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {2772#true} is VALID [2022-04-28 11:06:37,810 INFO L290 TraceCheckUtils]: 5: Hoare triple {2772#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; {2772#true} is VALID [2022-04-28 11:06:37,810 INFO L272 TraceCheckUtils]: 4: Hoare triple {2772#true} call #t~ret8 := main(); {2772#true} is VALID [2022-04-28 11:06:37,810 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2772#true} {2772#true} #69#return; {2772#true} is VALID [2022-04-28 11:06:37,810 INFO L290 TraceCheckUtils]: 2: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:06:37,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {2772#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); {2772#true} is VALID [2022-04-28 11:06:37,810 INFO L272 TraceCheckUtils]: 0: Hoare triple {2772#true} call ULTIMATE.init(); {2772#true} is VALID [2022-04-28 11:06:37,810 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:06:37,810 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:06:37,810 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [42374082] [2022-04-28 11:06:37,810 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:06:37,811 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [605988188] [2022-04-28 11:06:37,811 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [605988188] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:06:37,811 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:06:37,811 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 11:06:37,811 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:06:37,811 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1229207913] [2022-04-28 11:06:37,811 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1229207913] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:06:37,811 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:06:37,811 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 11:06:37,811 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [842404858] [2022-04-28 11:06:37,811 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:06:37,812 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 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 41 [2022-04-28 11:06:37,812 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:06:37,812 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 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:06:37,840 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:06:37,841 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 11:06:37,841 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:37,841 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 11:06:37,841 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-28 11:06:37,841 INFO L87 Difference]: Start difference. First operand 55 states and 61 transitions. Second operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 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:06:38,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:38,567 INFO L93 Difference]: Finished difference Result 72 states and 79 transitions. [2022-04-28 11:06:38,567 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 11:06:38,567 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 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 41 [2022-04-28 11:06:38,567 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:06:38,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 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:06:38,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 11:06:38,569 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 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:06:38,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 11:06:38,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-28 11:06:38,617 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:38,618 INFO L225 Difference]: With dead ends: 72 [2022-04-28 11:06:38,618 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 11:06:38,618 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 62 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-28 11:06:38,619 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 16 mSDsluCounter, 163 mSDsCounter, 0 mSdLazyCounter, 336 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 186 SdHoareTripleChecker+Invalid, 341 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 336 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 11:06:38,619 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 186 Invalid, 341 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 336 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 11:06:38,619 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 11:06:38,705 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 59. [2022-04-28 11:06:38,706 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:06:38,706 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:06:38,706 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:06:38,706 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:06:38,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:38,708 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-28 11:06:38,708 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-28 11:06:38,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:38,708 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:38,708 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 70 states. [2022-04-28 11:06:38,709 INFO L87 Difference]: Start difference. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 70 states. [2022-04-28 11:06:38,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:06:38,710 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-28 11:06:38,710 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-28 11:06:38,710 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:06:38,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:06:38,710 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:06:38,711 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:06:38,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 11:06:38,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 64 transitions. [2022-04-28 11:06:38,712 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 64 transitions. Word has length 41 [2022-04-28 11:06:38,712 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:06:38,712 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 64 transitions. [2022-04-28 11:06:38,712 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 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:06:38,712 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 64 transitions. [2022-04-28 11:06:38,795 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:06:38,795 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-04-28 11:06:38,795 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 11:06:38,795 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:06:38,796 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:06:38,813 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:06:38,999 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:06:38,999 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:06:39,000 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:06:39,000 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 3 times [2022-04-28 11:06:39,001 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:06:39,001 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1613633748] [2022-04-28 11:06:39,001 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:06:39,001 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 4 times [2022-04-28 11:06:39,001 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:06:39,001 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [643501984] [2022-04-28 11:06:39,001 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:06:39,001 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:06:39,023 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:06:39,024 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1179513697] [2022-04-28 11:06:39,024 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:06:39,024 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:06:39,024 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:06:39,026 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:06:39,027 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:06:39,071 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:06:39,071 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:06:39,072 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 11:06:39,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:06:39,084 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:06:53,503 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:06:59,569 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:07:01,964 INFO L272 TraceCheckUtils]: 0: Hoare triple {3443#true} call ULTIMATE.init(); {3443#true} is VALID [2022-04-28 11:07:01,964 INFO L290 TraceCheckUtils]: 1: Hoare triple {3443#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); {3443#true} is VALID [2022-04-28 11:07:01,965 INFO L290 TraceCheckUtils]: 2: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 11:07:01,965 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3443#true} {3443#true} #69#return; {3443#true} is VALID [2022-04-28 11:07:01,965 INFO L272 TraceCheckUtils]: 4: Hoare triple {3443#true} call #t~ret8 := main(); {3443#true} is VALID [2022-04-28 11:07:01,965 INFO L290 TraceCheckUtils]: 5: Hoare triple {3443#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; {3443#true} is VALID [2022-04-28 11:07:01,965 INFO L272 TraceCheckUtils]: 6: Hoare triple {3443#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {3443#true} is VALID [2022-04-28 11:07:01,965 INFO L290 TraceCheckUtils]: 7: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-28 11:07:01,965 INFO L290 TraceCheckUtils]: 8: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-28 11:07:01,965 INFO L290 TraceCheckUtils]: 9: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 11:07:01,965 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3443#true} {3443#true} #61#return; {3443#true} is VALID [2022-04-28 11:07:01,965 INFO L290 TraceCheckUtils]: 11: Hoare triple {3443#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3443#true} is VALID [2022-04-28 11:07:01,965 INFO L272 TraceCheckUtils]: 12: Hoare triple {3443#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {3443#true} is VALID [2022-04-28 11:07:01,965 INFO L290 TraceCheckUtils]: 13: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-28 11:07:01,965 INFO L290 TraceCheckUtils]: 14: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-28 11:07:01,966 INFO L290 TraceCheckUtils]: 15: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 11:07:01,966 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3443#true} {3443#true} #63#return; {3443#true} is VALID [2022-04-28 11:07:01,966 INFO L290 TraceCheckUtils]: 17: Hoare triple {3443#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:07:01,966 INFO L290 TraceCheckUtils]: 18: Hoare triple {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:07:01,967 INFO L272 TraceCheckUtils]: 19: Hoare triple {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3443#true} is VALID [2022-04-28 11:07:01,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {3443#true} ~cond := #in~cond; {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:01,967 INFO L290 TraceCheckUtils]: 21: Hoare triple {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:01,967 INFO L290 TraceCheckUtils]: 22: Hoare triple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:01,968 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:07:01,968 INFO L290 TraceCheckUtils]: 24: Hoare triple {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:07:01,969 INFO L290 TraceCheckUtils]: 25: Hoare triple {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) 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; {3526#(and (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-28 11:07:01,969 INFO L290 TraceCheckUtils]: 26: Hoare triple {3526#(and (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3530#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-28 11:07:01,970 INFO L290 TraceCheckUtils]: 27: Hoare triple {3530#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3534#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-28 11:07:01,970 INFO L272 TraceCheckUtils]: 28: Hoare triple {3534#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3443#true} is VALID [2022-04-28 11:07:01,970 INFO L290 TraceCheckUtils]: 29: Hoare triple {3443#true} ~cond := #in~cond; {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:01,970 INFO L290 TraceCheckUtils]: 30: Hoare triple {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:01,971 INFO L290 TraceCheckUtils]: 31: Hoare triple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:01,972 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} {3534#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} #65#return; {3550#(and (= (+ (- 1) main_~x~0) 0) (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_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-28 11:07:01,972 INFO L290 TraceCheckUtils]: 33: Hoare triple {3550#(and (= (+ (- 1) main_~x~0) 0) (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_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} assume !!(~x~0 <= ~X~0); {3550#(and (= (+ (- 1) main_~x~0) 0) (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_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-28 11:07:01,973 INFO L290 TraceCheckUtils]: 34: Hoare triple {3550#(and (= (+ (- 1) main_~x~0) 0) (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_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3557#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (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_~X~0 main_~y~0) 2) (* main_~Y~0 2)) (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:07:01,974 INFO L290 TraceCheckUtils]: 35: Hoare triple {3557#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (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_~X~0 main_~y~0) 2) (* main_~Y~0 2)) (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3561#(and (not (< (* main_~Y~0 2) main_~X~0)) (<= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 2)) (< (* main_~Y~0 4) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (= main_~x~0 2) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 6))))} is VALID [2022-04-28 11:07:01,975 INFO L290 TraceCheckUtils]: 36: Hoare triple {3561#(and (not (< (* main_~Y~0 2) main_~X~0)) (<= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 2)) (< (* main_~Y~0 4) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (= main_~x~0 2) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 6))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3565#(and (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~0) (< (* main_~Y~0 4) (+ main_~X~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 6) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0))) (<= (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2) (* main_~X~0 2)) (= (mod main_~xy~0 main_~X~0) 0))} is VALID [2022-04-28 11:07:01,976 INFO L272 TraceCheckUtils]: 37: Hoare triple {3565#(and (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~0) (< (* main_~Y~0 4) (+ main_~X~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 6) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0))) (<= (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2) (* main_~X~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)); {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:07:01,977 INFO L290 TraceCheckUtils]: 38: Hoare triple {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3573#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:01,978 INFO L290 TraceCheckUtils]: 39: Hoare triple {3573#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3444#false} is VALID [2022-04-28 11:07:01,978 INFO L290 TraceCheckUtils]: 40: Hoare triple {3444#false} assume !false; {3444#false} is VALID [2022-04-28 11:07:01,978 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 11:07:01,978 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:07:08,677 INFO L290 TraceCheckUtils]: 40: Hoare triple {3444#false} assume !false; {3444#false} is VALID [2022-04-28 11:07:08,678 INFO L290 TraceCheckUtils]: 39: Hoare triple {3573#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3444#false} is VALID [2022-04-28 11:07:08,678 INFO L290 TraceCheckUtils]: 38: Hoare triple {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3573#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:08,679 INFO L272 TraceCheckUtils]: 37: Hoare triple {3589#(= (+ (* 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)); {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:07:08,680 INFO L290 TraceCheckUtils]: 36: Hoare triple {3593#(= (+ (* 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; {3589#(= (+ (* 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:08,683 INFO L290 TraceCheckUtils]: 35: Hoare triple {3597#(= (+ (* (* 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; {3593#(= (+ (* 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:08,683 INFO L290 TraceCheckUtils]: 34: Hoare triple {3601#(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; {3597#(= (+ (* (* 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:08,684 INFO L290 TraceCheckUtils]: 33: Hoare triple {3601#(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); {3601#(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:07:08,685 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} {3608#(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; {3601#(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:07:08,685 INFO L290 TraceCheckUtils]: 31: Hoare triple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:08,685 INFO L290 TraceCheckUtils]: 30: Hoare triple {3618#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:08,685 INFO L290 TraceCheckUtils]: 29: Hoare triple {3443#true} ~cond := #in~cond; {3618#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:07:08,686 INFO L272 TraceCheckUtils]: 28: Hoare triple {3608#(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)); {3443#true} is VALID [2022-04-28 11:07:08,686 INFO L290 TraceCheckUtils]: 27: Hoare triple {3443#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3608#(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:07:08,686 INFO L290 TraceCheckUtils]: 26: Hoare triple {3443#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3443#true} is VALID [2022-04-28 11:07:08,686 INFO L290 TraceCheckUtils]: 25: Hoare triple {3443#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; {3443#true} is VALID [2022-04-28 11:07:08,686 INFO L290 TraceCheckUtils]: 24: Hoare triple {3443#true} assume !!(~x~0 <= ~X~0); {3443#true} is VALID [2022-04-28 11:07:08,687 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3443#true} {3443#true} #65#return; {3443#true} is VALID [2022-04-28 11:07:08,687 INFO L290 TraceCheckUtils]: 22: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 11:07:08,687 INFO L290 TraceCheckUtils]: 21: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-28 11:07:08,687 INFO L290 TraceCheckUtils]: 20: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-28 11:07:08,687 INFO L272 TraceCheckUtils]: 19: Hoare triple {3443#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3443#true} is VALID [2022-04-28 11:07:08,687 INFO L290 TraceCheckUtils]: 18: Hoare triple {3443#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3443#true} is VALID [2022-04-28 11:07:08,687 INFO L290 TraceCheckUtils]: 17: Hoare triple {3443#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3443#true} is VALID [2022-04-28 11:07:08,687 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3443#true} {3443#true} #63#return; {3443#true} is VALID [2022-04-28 11:07:08,687 INFO L290 TraceCheckUtils]: 15: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 11:07:08,687 INFO L290 TraceCheckUtils]: 14: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-28 11:07:08,687 INFO L290 TraceCheckUtils]: 13: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-28 11:07:08,687 INFO L272 TraceCheckUtils]: 12: Hoare triple {3443#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {3443#true} is VALID [2022-04-28 11:07:08,687 INFO L290 TraceCheckUtils]: 11: Hoare triple {3443#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3443#true} is VALID [2022-04-28 11:07:08,688 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3443#true} {3443#true} #61#return; {3443#true} is VALID [2022-04-28 11:07:08,688 INFO L290 TraceCheckUtils]: 9: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 11:07:08,689 INFO L290 TraceCheckUtils]: 8: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-28 11:07:08,691 INFO L290 TraceCheckUtils]: 7: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-28 11:07:08,691 INFO L272 TraceCheckUtils]: 6: Hoare triple {3443#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {3443#true} is VALID [2022-04-28 11:07:08,692 INFO L290 TraceCheckUtils]: 5: Hoare triple {3443#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; {3443#true} is VALID [2022-04-28 11:07:08,693 INFO L272 TraceCheckUtils]: 4: Hoare triple {3443#true} call #t~ret8 := main(); {3443#true} is VALID [2022-04-28 11:07:08,693 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3443#true} {3443#true} #69#return; {3443#true} is VALID [2022-04-28 11:07:08,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 11:07:08,693 INFO L290 TraceCheckUtils]: 1: Hoare triple {3443#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); {3443#true} is VALID [2022-04-28 11:07:08,693 INFO L272 TraceCheckUtils]: 0: Hoare triple {3443#true} call ULTIMATE.init(); {3443#true} is VALID [2022-04-28 11:07:08,693 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:07:08,694 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:07:08,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [643501984] [2022-04-28 11:07:08,694 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:07:08,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1179513697] [2022-04-28 11:07:08,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1179513697] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:07:08,694 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:07:08,694 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-28 11:07:08,694 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:07:08,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1613633748] [2022-04-28 11:07:08,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1613633748] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:07:08,694 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:07:08,694 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:07:08,694 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1079214769] [2022-04-28 11:07:08,694 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:07:08,696 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 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 41 [2022-04-28 11:07:08,697 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:07:08,697 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 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:07:08,724 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:08,724 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:07:08,724 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:08,724 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:07:08,724 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=319, Unknown=1, NotChecked=0, Total=380 [2022-04-28 11:07:08,725 INFO L87 Difference]: Start difference. First operand 59 states and 64 transitions. Second operand has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 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:07:12,799 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:07:18,933 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:07:21,050 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:07:21,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:21,745 INFO L93 Difference]: Finished difference Result 86 states and 98 transitions. [2022-04-28 11:07:21,745 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 11:07:21,746 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 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 41 [2022-04-28 11:07:21,746 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:07:21,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 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:07:21,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-28 11:07:21,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 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:07:21,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-28 11:07:21,749 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 70 transitions. [2022-04-28 11:07:21,820 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:21,821 INFO L225 Difference]: With dead ends: 86 [2022-04-28 11:07:21,821 INFO L226 Difference]: Without dead ends: 73 [2022-04-28 11:07:21,821 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 61 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 4.9s TimeCoverageRelationStatistics Valid=98, Invalid=500, Unknown=2, NotChecked=0, Total=600 [2022-04-28 11:07:21,822 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 15 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 299 mSolverCounterSat, 6 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 299 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.5s IncrementalHoareTripleChecker+Time [2022-04-28 11:07:21,822 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 184 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 299 Invalid, 3 Unknown, 0 Unchecked, 6.5s Time] [2022-04-28 11:07:21,822 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-28 11:07:21,936 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 73. [2022-04-28 11:07:21,936 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:07:21,936 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:21,937 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:21,937 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:21,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:21,938 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-28 11:07:21,939 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 11:07:21,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:21,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:21,939 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 73 states. [2022-04-28 11:07:21,939 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 73 states. [2022-04-28 11:07:21,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:21,941 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-28 11:07:21,941 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 11:07:21,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:21,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:21,942 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:07:21,942 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:07:21,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:21,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-28 11:07:21,949 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-28 11:07:21,949 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:07:21,949 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-28 11:07:21,950 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 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:07:21,950 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-28 11:07:22,081 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:22,081 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 11:07:22,082 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 11:07:22,082 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:07:22,082 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:07:22,086 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-28 11:07:22,288 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:07:22,288 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:07:22,290 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:07:22,290 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 3 times [2022-04-28 11:07:22,290 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:22,290 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [372734909] [2022-04-28 11:07:22,290 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:07:22,290 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 4 times [2022-04-28 11:07:22,290 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:07:22,290 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1117533300] [2022-04-28 11:07:22,290 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:07:22,291 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:07:22,304 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:07:22,305 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1486389014] [2022-04-28 11:07:22,305 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:07:22,305 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:07:22,305 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:07:22,306 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:07:22,306 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:07:22,355 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:07:22,356 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:07:22,356 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 11:07:22,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:07:22,364 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:07:22,643 INFO L272 TraceCheckUtils]: 0: Hoare triple {4182#true} call ULTIMATE.init(); {4182#true} is VALID [2022-04-28 11:07:22,643 INFO L290 TraceCheckUtils]: 1: Hoare triple {4182#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); {4182#true} is VALID [2022-04-28 11:07:22,644 INFO L290 TraceCheckUtils]: 2: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:07:22,644 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4182#true} {4182#true} #69#return; {4182#true} is VALID [2022-04-28 11:07:22,644 INFO L272 TraceCheckUtils]: 4: Hoare triple {4182#true} call #t~ret8 := main(); {4182#true} is VALID [2022-04-28 11:07:22,644 INFO L290 TraceCheckUtils]: 5: Hoare triple {4182#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; {4182#true} is VALID [2022-04-28 11:07:22,644 INFO L272 TraceCheckUtils]: 6: Hoare triple {4182#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {4182#true} is VALID [2022-04-28 11:07:22,644 INFO L290 TraceCheckUtils]: 7: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:07:22,644 INFO L290 TraceCheckUtils]: 8: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:07:22,644 INFO L290 TraceCheckUtils]: 9: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:07:22,644 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4182#true} {4182#true} #61#return; {4182#true} is VALID [2022-04-28 11:07:22,644 INFO L290 TraceCheckUtils]: 11: Hoare triple {4182#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4182#true} is VALID [2022-04-28 11:07:22,644 INFO L272 TraceCheckUtils]: 12: Hoare triple {4182#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {4182#true} is VALID [2022-04-28 11:07:22,644 INFO L290 TraceCheckUtils]: 13: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:07:22,644 INFO L290 TraceCheckUtils]: 14: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:07:22,645 INFO L290 TraceCheckUtils]: 15: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:07:22,645 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4182#true} {4182#true} #63#return; {4182#true} is VALID [2022-04-28 11:07:22,645 INFO L290 TraceCheckUtils]: 17: Hoare triple {4182#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4238#(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:22,645 INFO L290 TraceCheckUtils]: 18: Hoare triple {4238#(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; {4238#(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:22,645 INFO L272 TraceCheckUtils]: 19: Hoare triple {4238#(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)); {4182#true} is VALID [2022-04-28 11:07:22,646 INFO L290 TraceCheckUtils]: 20: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:07:22,646 INFO L290 TraceCheckUtils]: 21: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:07:22,646 INFO L290 TraceCheckUtils]: 22: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:07:22,647 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4182#true} {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {4238#(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:22,648 INFO L290 TraceCheckUtils]: 24: Hoare triple {4238#(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); {4238#(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:22,648 INFO L290 TraceCheckUtils]: 25: Hoare triple {4238#(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; {4263#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:07:22,649 INFO L290 TraceCheckUtils]: 26: Hoare triple {4263#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:07:22,649 INFO L290 TraceCheckUtils]: 27: Hoare triple {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= 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; {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:07:22,649 INFO L272 TraceCheckUtils]: 28: Hoare triple {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= 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)); {4182#true} is VALID [2022-04-28 11:07:22,649 INFO L290 TraceCheckUtils]: 29: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:07:22,649 INFO L290 TraceCheckUtils]: 30: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:07:22,650 INFO L290 TraceCheckUtils]: 31: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:07:22,650 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4182#true} {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #65#return; {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:07:22,650 INFO L290 TraceCheckUtils]: 33: Hoare triple {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {4289#(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))))} is VALID [2022-04-28 11:07:22,651 INFO L290 TraceCheckUtils]: 34: Hoare triple {4289#(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))))} 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; {4293#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:07:22,659 INFO L290 TraceCheckUtils]: 35: Hoare triple {4293#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4297#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:07:22,660 INFO L290 TraceCheckUtils]: 36: Hoare triple {4297#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4301#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 1 main_~X~0))} is VALID [2022-04-28 11:07:22,661 INFO L272 TraceCheckUtils]: 37: Hoare triple {4301#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 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)); {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:07:22,661 INFO L290 TraceCheckUtils]: 38: Hoare triple {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:22,662 INFO L290 TraceCheckUtils]: 39: Hoare triple {4309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4183#false} is VALID [2022-04-28 11:07:22,662 INFO L290 TraceCheckUtils]: 40: Hoare triple {4183#false} assume !false; {4183#false} is VALID [2022-04-28 11:07:22,662 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 11:07:22,662 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:07:23,010 INFO L290 TraceCheckUtils]: 40: Hoare triple {4183#false} assume !false; {4183#false} is VALID [2022-04-28 11:07:23,010 INFO L290 TraceCheckUtils]: 39: Hoare triple {4309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4183#false} is VALID [2022-04-28 11:07:23,011 INFO L290 TraceCheckUtils]: 38: Hoare triple {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:23,011 INFO L272 TraceCheckUtils]: 37: Hoare triple {4325#(= (+ (* 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)); {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:07:23,012 INFO L290 TraceCheckUtils]: 36: Hoare triple {4329#(= (+ (* 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; {4325#(= (+ (* 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:23,014 INFO L290 TraceCheckUtils]: 35: Hoare triple {4333#(= (+ (* (* 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; {4329#(= (+ (* 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:23,015 INFO L290 TraceCheckUtils]: 34: Hoare triple {4337#(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; {4333#(= (+ (* (* 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:23,016 INFO L290 TraceCheckUtils]: 33: Hoare triple {4341#(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); {4337#(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:07:23,016 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4182#true} {4341#(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)))} #65#return; {4341#(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:07:23,016 INFO L290 TraceCheckUtils]: 31: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:07:23,016 INFO L290 TraceCheckUtils]: 30: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:07:23,017 INFO L290 TraceCheckUtils]: 29: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:07:23,017 INFO L272 TraceCheckUtils]: 28: Hoare triple {4341#(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)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4182#true} is VALID [2022-04-28 11:07:23,017 INFO L290 TraceCheckUtils]: 27: Hoare triple {4341#(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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4341#(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:07:23,019 INFO L290 TraceCheckUtils]: 26: Hoare triple {4363#(or (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4341#(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:07:23,020 INFO L290 TraceCheckUtils]: 25: Hoare triple {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~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; {4363#(or (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} is VALID [2022-04-28 11:07:23,021 INFO L290 TraceCheckUtils]: 24: Hoare triple {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !!(~x~0 <= ~X~0); {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 11:07:23,022 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4182#true} {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} #65#return; {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 11:07:23,022 INFO L290 TraceCheckUtils]: 22: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:07:23,022 INFO L290 TraceCheckUtils]: 21: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:07:23,022 INFO L290 TraceCheckUtils]: 20: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:07:23,022 INFO L272 TraceCheckUtils]: 19: Hoare triple {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* 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)); {4182#true} is VALID [2022-04-28 11:07:23,022 INFO L290 TraceCheckUtils]: 18: Hoare triple {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 11:07:23,023 INFO L290 TraceCheckUtils]: 17: Hoare triple {4182#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 11:07:23,023 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4182#true} {4182#true} #63#return; {4182#true} is VALID [2022-04-28 11:07:23,023 INFO L290 TraceCheckUtils]: 15: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:07:23,023 INFO L290 TraceCheckUtils]: 14: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:07:23,023 INFO L290 TraceCheckUtils]: 13: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:07:23,023 INFO L272 TraceCheckUtils]: 12: Hoare triple {4182#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {4182#true} is VALID [2022-04-28 11:07:23,023 INFO L290 TraceCheckUtils]: 11: Hoare triple {4182#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4182#true} is VALID [2022-04-28 11:07:23,023 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4182#true} {4182#true} #61#return; {4182#true} is VALID [2022-04-28 11:07:23,023 INFO L290 TraceCheckUtils]: 9: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:07:23,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:07:23,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:07:23,024 INFO L272 TraceCheckUtils]: 6: Hoare triple {4182#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {4182#true} is VALID [2022-04-28 11:07:23,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {4182#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; {4182#true} is VALID [2022-04-28 11:07:23,024 INFO L272 TraceCheckUtils]: 4: Hoare triple {4182#true} call #t~ret8 := main(); {4182#true} is VALID [2022-04-28 11:07:23,024 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4182#true} {4182#true} #69#return; {4182#true} is VALID [2022-04-28 11:07:23,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:07:23,024 INFO L290 TraceCheckUtils]: 1: Hoare triple {4182#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); {4182#true} is VALID [2022-04-28 11:07:23,024 INFO L272 TraceCheckUtils]: 0: Hoare triple {4182#true} call ULTIMATE.init(); {4182#true} is VALID [2022-04-28 11:07:23,024 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 11:07:23,025 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:07:23,025 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1117533300] [2022-04-28 11:07:23,025 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:07:23,025 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1486389014] [2022-04-28 11:07:23,025 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1486389014] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:07:23,025 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:07:23,025 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2022-04-28 11:07:23,025 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:07:23,025 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [372734909] [2022-04-28 11:07:23,025 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [372734909] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:07:23,025 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:07:23,025 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 11:07:23,025 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1994354201] [2022-04-28 11:07:23,025 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:07:23,026 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 11:07:23,026 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:07:23,026 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:07:23,053 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:23,053 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 11:07:23,053 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:23,053 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 11:07:23,054 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-28 11:07:23,054 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:07:23,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:23,767 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2022-04-28 11:07:23,767 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 11:07:23,767 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 11:07:23,767 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:07:23,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:07:23,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-28 11:07:23,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:07:23,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-28 11:07:23,769 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 58 transitions. [2022-04-28 11:07:23,828 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:23,829 INFO L225 Difference]: With dead ends: 86 [2022-04-28 11:07:23,829 INFO L226 Difference]: Without dead ends: 84 [2022-04-28 11:07:23,829 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 64 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=73, Invalid=307, Unknown=0, NotChecked=0, Total=380 [2022-04-28 11:07:23,830 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 11 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 254 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 257 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 254 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 11:07:23,830 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 184 Invalid, 257 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 254 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 11:07:23,830 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-28 11:07:23,925 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 73. [2022-04-28 11:07:23,925 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:07:23,926 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:23,926 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:23,926 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:23,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:23,928 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-28 11:07:23,928 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-28 11:07:23,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:23,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:23,928 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-28 11:07:23,929 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-28 11:07:23,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:23,930 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-28 11:07:23,930 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-28 11:07:23,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:23,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:23,931 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:07:23,931 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:07:23,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:23,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-28 11:07:23,932 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-28 11:07:23,932 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:07:23,932 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-28 11:07:23,933 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:07:23,933 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-28 11:07:24,072 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:24,072 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 11:07:24,072 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 11:07:24,073 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:07:24,073 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:07:24,077 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:07:24,276 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:07:24,276 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:07:24,277 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:07:24,277 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 1 times [2022-04-28 11:07:24,277 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:24,277 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [622370678] [2022-04-28 11:07:24,277 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:07:24,277 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 2 times [2022-04-28 11:07:24,277 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:07:24,277 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1926950282] [2022-04-28 11:07:24,278 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:07:24,278 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:07:24,286 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:07:24,286 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [435004339] [2022-04-28 11:07:24,287 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:07:24,287 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:07:24,287 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:07:24,288 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:07:24,289 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:07:24,322 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:07:24,323 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:07:24,323 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 11:07:24,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:07:24,336 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:07:25,009 INFO L272 TraceCheckUtils]: 0: Hoare triple {4935#true} call ULTIMATE.init(); {4935#true} is VALID [2022-04-28 11:07:25,009 INFO L290 TraceCheckUtils]: 1: Hoare triple {4935#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); {4935#true} is VALID [2022-04-28 11:07:25,009 INFO L290 TraceCheckUtils]: 2: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:07:25,009 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4935#true} {4935#true} #69#return; {4935#true} is VALID [2022-04-28 11:07:25,009 INFO L272 TraceCheckUtils]: 4: Hoare triple {4935#true} call #t~ret8 := main(); {4935#true} is VALID [2022-04-28 11:07:25,009 INFO L290 TraceCheckUtils]: 5: Hoare triple {4935#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; {4935#true} is VALID [2022-04-28 11:07:25,009 INFO L272 TraceCheckUtils]: 6: Hoare triple {4935#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {4935#true} is VALID [2022-04-28 11:07:25,009 INFO L290 TraceCheckUtils]: 7: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:07:25,009 INFO L290 TraceCheckUtils]: 8: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:07:25,009 INFO L290 TraceCheckUtils]: 9: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:07:25,009 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4935#true} {4935#true} #61#return; {4935#true} is VALID [2022-04-28 11:07:25,010 INFO L290 TraceCheckUtils]: 11: Hoare triple {4935#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4935#true} is VALID [2022-04-28 11:07:25,010 INFO L272 TraceCheckUtils]: 12: Hoare triple {4935#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {4935#true} is VALID [2022-04-28 11:07:25,010 INFO L290 TraceCheckUtils]: 13: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:07:25,010 INFO L290 TraceCheckUtils]: 14: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:07:25,010 INFO L290 TraceCheckUtils]: 15: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:07:25,010 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4935#true} {4935#true} #63#return; {4935#true} is VALID [2022-04-28 11:07:25,010 INFO L290 TraceCheckUtils]: 17: Hoare triple {4935#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:07:25,011 INFO L290 TraceCheckUtils]: 18: Hoare triple {4991#(and (<= main_~x~0 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; {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:07:25,011 INFO L272 TraceCheckUtils]: 19: Hoare triple {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-28 11:07:25,011 INFO L290 TraceCheckUtils]: 20: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:07:25,011 INFO L290 TraceCheckUtils]: 21: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:07:25,011 INFO L290 TraceCheckUtils]: 22: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:07:25,011 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4935#true} {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:07:25,012 INFO L290 TraceCheckUtils]: 24: Hoare triple {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:07:25,013 INFO L290 TraceCheckUtils]: 25: Hoare triple {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5016#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:25,013 INFO L290 TraceCheckUtils]: 26: Hoare triple {5016#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:25,014 INFO L290 TraceCheckUtils]: 27: Hoare triple {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:25,014 INFO L272 TraceCheckUtils]: 28: Hoare triple {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-28 11:07:25,014 INFO L290 TraceCheckUtils]: 29: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:07:25,014 INFO L290 TraceCheckUtils]: 30: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:07:25,014 INFO L290 TraceCheckUtils]: 31: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:07:25,015 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4935#true} {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #65#return; {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:25,015 INFO L290 TraceCheckUtils]: 33: Hoare triple {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-28 11:07:25,016 INFO L290 TraceCheckUtils]: 34: Hoare triple {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 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; {5045#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:07:25,016 INFO L290 TraceCheckUtils]: 35: Hoare triple {5045#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:07:25,016 INFO L290 TraceCheckUtils]: 36: Hoare triple {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:07:25,017 INFO L272 TraceCheckUtils]: 37: Hoare triple {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) 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)); {4935#true} is VALID [2022-04-28 11:07:25,017 INFO L290 TraceCheckUtils]: 38: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:07:25,017 INFO L290 TraceCheckUtils]: 39: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:07:25,017 INFO L290 TraceCheckUtils]: 40: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:07:25,017 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4935#true} {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-28 11:07:25,018 INFO L290 TraceCheckUtils]: 42: Hoare triple {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !(~x~0 <= ~X~0); {4936#false} is VALID [2022-04-28 11:07:25,018 INFO L290 TraceCheckUtils]: 43: Hoare triple {4936#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4936#false} is VALID [2022-04-28 11:07:25,018 INFO L272 TraceCheckUtils]: 44: Hoare triple {4936#false} 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)); {4936#false} is VALID [2022-04-28 11:07:25,018 INFO L290 TraceCheckUtils]: 45: Hoare triple {4936#false} ~cond := #in~cond; {4936#false} is VALID [2022-04-28 11:07:25,018 INFO L290 TraceCheckUtils]: 46: Hoare triple {4936#false} assume 0 == ~cond; {4936#false} is VALID [2022-04-28 11:07:25,018 INFO L290 TraceCheckUtils]: 47: Hoare triple {4936#false} assume !false; {4936#false} is VALID [2022-04-28 11:07:25,018 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 11:07:25,018 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:07:25,276 INFO L290 TraceCheckUtils]: 47: Hoare triple {4936#false} assume !false; {4936#false} is VALID [2022-04-28 11:07:25,277 INFO L290 TraceCheckUtils]: 46: Hoare triple {4936#false} assume 0 == ~cond; {4936#false} is VALID [2022-04-28 11:07:25,277 INFO L290 TraceCheckUtils]: 45: Hoare triple {4936#false} ~cond := #in~cond; {4936#false} is VALID [2022-04-28 11:07:25,277 INFO L272 TraceCheckUtils]: 44: Hoare triple {4936#false} 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)); {4936#false} is VALID [2022-04-28 11:07:25,277 INFO L290 TraceCheckUtils]: 43: Hoare triple {4936#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4936#false} is VALID [2022-04-28 11:07:25,278 INFO L290 TraceCheckUtils]: 42: Hoare triple {5101#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {4936#false} is VALID [2022-04-28 11:07:25,278 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4935#true} {5101#(<= main_~x~0 main_~X~0)} #65#return; {5101#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:07:25,278 INFO L290 TraceCheckUtils]: 40: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:07:25,279 INFO L290 TraceCheckUtils]: 39: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:07:25,279 INFO L290 TraceCheckUtils]: 38: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:07:25,279 INFO L272 TraceCheckUtils]: 37: Hoare triple {5101#(<= 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)); {4935#true} is VALID [2022-04-28 11:07:25,279 INFO L290 TraceCheckUtils]: 36: Hoare triple {5101#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5101#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:07:25,280 INFO L290 TraceCheckUtils]: 35: Hoare triple {5123#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5101#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:07:25,280 INFO L290 TraceCheckUtils]: 34: Hoare triple {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) 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; {5123#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:07:25,280 INFO L290 TraceCheckUtils]: 33: Hoare triple {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:07:25,281 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4935#true} {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:07:25,281 INFO L290 TraceCheckUtils]: 31: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:07:25,281 INFO L290 TraceCheckUtils]: 30: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:07:25,281 INFO L290 TraceCheckUtils]: 29: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:07:25,281 INFO L272 TraceCheckUtils]: 28: Hoare triple {5127#(or (< main_~v~0 0) (<= (+ 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)); {4935#true} is VALID [2022-04-28 11:07:25,281 INFO L290 TraceCheckUtils]: 27: Hoare triple {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:07:25,284 INFO L290 TraceCheckUtils]: 26: Hoare triple {5152#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:07:25,284 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5152#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:07:25,285 INFO L290 TraceCheckUtils]: 24: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:07:25,285 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4935#true} {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #65#return; {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:07:25,285 INFO L290 TraceCheckUtils]: 22: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:07:25,286 INFO L290 TraceCheckUtils]: 21: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:07:25,286 INFO L290 TraceCheckUtils]: 20: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:07:25,286 INFO L272 TraceCheckUtils]: 19: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-28 11:07:25,286 INFO L290 TraceCheckUtils]: 18: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:07:25,287 INFO L290 TraceCheckUtils]: 17: Hoare triple {4935#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:07:25,287 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4935#true} {4935#true} #63#return; {4935#true} is VALID [2022-04-28 11:07:25,287 INFO L290 TraceCheckUtils]: 15: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:07:25,287 INFO L290 TraceCheckUtils]: 14: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:07:25,287 INFO L290 TraceCheckUtils]: 13: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:07:25,287 INFO L272 TraceCheckUtils]: 12: Hoare triple {4935#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {4935#true} is VALID [2022-04-28 11:07:25,287 INFO L290 TraceCheckUtils]: 11: Hoare triple {4935#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4935#true} is VALID [2022-04-28 11:07:25,287 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4935#true} {4935#true} #61#return; {4935#true} is VALID [2022-04-28 11:07:25,287 INFO L290 TraceCheckUtils]: 9: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:07:25,287 INFO L290 TraceCheckUtils]: 8: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:07:25,287 INFO L290 TraceCheckUtils]: 7: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:07:25,287 INFO L272 TraceCheckUtils]: 6: Hoare triple {4935#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {4935#true} is VALID [2022-04-28 11:07:25,287 INFO L290 TraceCheckUtils]: 5: Hoare triple {4935#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; {4935#true} is VALID [2022-04-28 11:07:25,288 INFO L272 TraceCheckUtils]: 4: Hoare triple {4935#true} call #t~ret8 := main(); {4935#true} is VALID [2022-04-28 11:07:25,288 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4935#true} {4935#true} #69#return; {4935#true} is VALID [2022-04-28 11:07:25,288 INFO L290 TraceCheckUtils]: 2: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:07:25,288 INFO L290 TraceCheckUtils]: 1: Hoare triple {4935#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); {4935#true} is VALID [2022-04-28 11:07:25,288 INFO L272 TraceCheckUtils]: 0: Hoare triple {4935#true} call ULTIMATE.init(); {4935#true} is VALID [2022-04-28 11:07:25,288 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 11:07:25,288 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:07:25,288 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1926950282] [2022-04-28 11:07:25,288 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:07:25,288 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [435004339] [2022-04-28 11:07:25,288 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [435004339] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:07:25,288 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:07:25,289 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 11:07:25,289 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:07:25,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [622370678] [2022-04-28 11:07:25,289 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [622370678] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:07:25,289 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:07:25,289 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 11:07:25,289 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1767780717] [2022-04-28 11:07:25,289 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:07:25,289 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 11:07:25,290 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:07:25,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:25,316 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:25,316 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 11:07:25,316 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:25,316 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 11:07:25,316 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-28 11:07:25,316 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:25,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:25,646 INFO L93 Difference]: Finished difference Result 87 states and 96 transitions. [2022-04-28 11:07:25,646 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 11:07:25,646 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 11:07:25,646 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:07:25,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:25,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-28 11:07:25,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:25,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-28 11:07:25,648 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2022-04-28 11:07:25,719 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:25,721 INFO L225 Difference]: With dead ends: 87 [2022-04-28 11:07:25,721 INFO L226 Difference]: Without dead ends: 79 [2022-04-28 11:07:25,721 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-28 11:07:25,721 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 3 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 107 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 107 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:07:25,721 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 102 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 107 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:07:25,722 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-28 11:07:25,835 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 76. [2022-04-28 11:07:25,835 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:07:25,836 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:07:25,836 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:07:25,836 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:07:25,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:25,838 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-28 11:07:25,838 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-28 11:07:25,838 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:25,838 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:25,839 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-28 11:07:25,839 INFO L87 Difference]: Start difference. First operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-28 11:07:25,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:25,840 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-28 11:07:25,840 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-28 11:07:25,840 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:25,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:25,840 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:07:25,840 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:07:25,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:07:25,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 84 transitions. [2022-04-28 11:07:25,842 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 84 transitions. Word has length 48 [2022-04-28 11:07:25,842 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:07:25,842 INFO L495 AbstractCegarLoop]: Abstraction has 76 states and 84 transitions. [2022-04-28 11:07:25,842 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:25,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 84 transitions. [2022-04-28 11:07:25,977 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:25,977 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 84 transitions. [2022-04-28 11:07:25,977 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 11:07:25,977 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:07:25,977 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:07:25,993 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:07:26,178 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:07:26,178 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:07:26,178 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:07:26,179 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 3 times [2022-04-28 11:07:26,179 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:26,179 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1055714649] [2022-04-28 11:07:26,179 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:07:26,179 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 4 times [2022-04-28 11:07:26,179 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:07:26,179 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1367894934] [2022-04-28 11:07:26,179 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:07:26,179 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:07:26,188 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:07:26,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [143985306] [2022-04-28 11:07:26,189 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:07:26,189 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:07:26,189 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:07:26,190 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:07:26,190 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:07:26,226 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:07:26,226 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:07:26,226 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 11:07:26,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:07:26,236 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:07:26,769 INFO L272 TraceCheckUtils]: 0: Hoare triple {5718#true} call ULTIMATE.init(); {5718#true} is VALID [2022-04-28 11:07:26,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {5718#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); {5718#true} is VALID [2022-04-28 11:07:26,769 INFO L290 TraceCheckUtils]: 2: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:07:26,769 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5718#true} {5718#true} #69#return; {5718#true} is VALID [2022-04-28 11:07:26,770 INFO L272 TraceCheckUtils]: 4: Hoare triple {5718#true} call #t~ret8 := main(); {5718#true} is VALID [2022-04-28 11:07:26,770 INFO L290 TraceCheckUtils]: 5: Hoare triple {5718#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; {5718#true} is VALID [2022-04-28 11:07:26,770 INFO L272 TraceCheckUtils]: 6: Hoare triple {5718#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {5718#true} is VALID [2022-04-28 11:07:26,770 INFO L290 TraceCheckUtils]: 7: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 11:07:26,770 INFO L290 TraceCheckUtils]: 8: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 11:07:26,770 INFO L290 TraceCheckUtils]: 9: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:07:26,770 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5718#true} {5718#true} #61#return; {5718#true} is VALID [2022-04-28 11:07:26,770 INFO L290 TraceCheckUtils]: 11: Hoare triple {5718#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5718#true} is VALID [2022-04-28 11:07:26,770 INFO L272 TraceCheckUtils]: 12: Hoare triple {5718#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {5718#true} is VALID [2022-04-28 11:07:26,770 INFO L290 TraceCheckUtils]: 13: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 11:07:26,770 INFO L290 TraceCheckUtils]: 14: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 11:07:26,770 INFO L290 TraceCheckUtils]: 15: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:07:26,770 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5718#true} {5718#true} #63#return; {5718#true} is VALID [2022-04-28 11:07:26,771 INFO L290 TraceCheckUtils]: 17: Hoare triple {5718#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:07:26,782 INFO L290 TraceCheckUtils]: 18: Hoare triple {5774#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:07:26,782 INFO L272 TraceCheckUtils]: 19: Hoare triple {5774#(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)); {5718#true} is VALID [2022-04-28 11:07:26,783 INFO L290 TraceCheckUtils]: 20: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 11:07:26,783 INFO L290 TraceCheckUtils]: 21: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 11:07:26,783 INFO L290 TraceCheckUtils]: 22: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:07:26,783 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5718#true} {5774#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:07:26,784 INFO L290 TraceCheckUtils]: 24: Hoare triple {5774#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 11:07:26,784 INFO L290 TraceCheckUtils]: 25: Hoare triple {5774#(and (= 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; {5799#(and (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-28 11:07:26,784 INFO L290 TraceCheckUtils]: 26: Hoare triple {5799#(and (= main_~x~0 0) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5803#(and (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-28 11:07:26,785 INFO L290 TraceCheckUtils]: 27: Hoare triple {5803#(and (= main_~y~0 1) (= main_~x~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5803#(and (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-28 11:07:26,785 INFO L272 TraceCheckUtils]: 28: Hoare triple {5803#(and (= main_~y~0 1) (= 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)); {5718#true} is VALID [2022-04-28 11:07:26,785 INFO L290 TraceCheckUtils]: 29: Hoare triple {5718#true} ~cond := #in~cond; {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:26,785 INFO L290 TraceCheckUtils]: 30: Hoare triple {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:26,785 INFO L290 TraceCheckUtils]: 31: Hoare triple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:26,786 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} {5803#(and (= main_~y~0 1) (= main_~x~0 1))} #65#return; {5803#(and (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-28 11:07:26,786 INFO L290 TraceCheckUtils]: 33: Hoare triple {5803#(and (= main_~y~0 1) (= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {5827#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-28 11:07:26,786 INFO L290 TraceCheckUtils]: 34: Hoare triple {5827#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= 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; {5831#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 1) (= main_~x~0 1))} is VALID [2022-04-28 11:07:26,787 INFO L290 TraceCheckUtils]: 35: Hoare triple {5831#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 1) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5835#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:07:26,787 INFO L290 TraceCheckUtils]: 36: Hoare triple {5835#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5839#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (* 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:07:26,787 INFO L272 TraceCheckUtils]: 37: Hoare triple {5839#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (* 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)); {5718#true} is VALID [2022-04-28 11:07:26,787 INFO L290 TraceCheckUtils]: 38: Hoare triple {5718#true} ~cond := #in~cond; {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:26,788 INFO L290 TraceCheckUtils]: 39: Hoare triple {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:26,788 INFO L290 TraceCheckUtils]: 40: Hoare triple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:26,789 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} {5839#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (* 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; {5855#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) 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_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:07:26,789 INFO L290 TraceCheckUtils]: 42: Hoare triple {5855#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) 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_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {5859#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) 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)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:07:26,790 INFO L290 TraceCheckUtils]: 43: Hoare triple {5859#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) 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)) (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; {5863#(and (= (* main_~y~0 2) main_~xy~0) (= (+ (- 1) main_~y~0) 1) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (not (<= 2 main_~X~0)))} is VALID [2022-04-28 11:07:26,791 INFO L272 TraceCheckUtils]: 44: Hoare triple {5863#(and (= (* main_~y~0 2) main_~xy~0) (= (+ (- 1) main_~y~0) 1) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (not (<= 2 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)); {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:07:26,791 INFO L290 TraceCheckUtils]: 45: Hoare triple {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5871#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:26,791 INFO L290 TraceCheckUtils]: 46: Hoare triple {5871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5719#false} is VALID [2022-04-28 11:07:26,792 INFO L290 TraceCheckUtils]: 47: Hoare triple {5719#false} assume !false; {5719#false} is VALID [2022-04-28 11:07:26,792 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 10 proven. 13 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 11:07:26,792 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:07:27,282 INFO L290 TraceCheckUtils]: 47: Hoare triple {5719#false} assume !false; {5719#false} is VALID [2022-04-28 11:07:27,282 INFO L290 TraceCheckUtils]: 46: Hoare triple {5871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5719#false} is VALID [2022-04-28 11:07:27,282 INFO L290 TraceCheckUtils]: 45: Hoare triple {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5871#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:27,283 INFO L272 TraceCheckUtils]: 44: Hoare triple {5887#(= (+ (* 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)); {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:07:27,284 INFO L290 TraceCheckUtils]: 43: Hoare triple {5891#(= (+ (* 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; {5887#(= (+ (* 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:07:27,285 INFO L290 TraceCheckUtils]: 42: Hoare triple {5895#(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); {5891#(= (+ (* 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:07:27,286 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} {5899#(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; {5895#(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:07:27,286 INFO L290 TraceCheckUtils]: 40: Hoare triple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:27,286 INFO L290 TraceCheckUtils]: 39: Hoare triple {5909#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:27,287 INFO L290 TraceCheckUtils]: 38: Hoare triple {5718#true} ~cond := #in~cond; {5909#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:07:27,287 INFO L272 TraceCheckUtils]: 37: Hoare triple {5899#(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)); {5718#true} is VALID [2022-04-28 11:07:27,287 INFO L290 TraceCheckUtils]: 36: Hoare triple {5916#(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; {5899#(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:07:27,289 INFO L290 TraceCheckUtils]: 35: Hoare triple {5920#(or (<= (+ main_~x~0 1) main_~X~0) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5916#(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:07:27,291 INFO L290 TraceCheckUtils]: 34: Hoare triple {5924#(or (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) 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; {5920#(or (<= (+ main_~x~0 1) main_~X~0) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 11:07:27,292 INFO L290 TraceCheckUtils]: 33: Hoare triple {5718#true} assume !!(~x~0 <= ~X~0); {5924#(or (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* 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:07:27,292 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5718#true} {5718#true} #65#return; {5718#true} is VALID [2022-04-28 11:07:27,292 INFO L290 TraceCheckUtils]: 31: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:07:27,292 INFO L290 TraceCheckUtils]: 30: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 11:07:27,292 INFO L290 TraceCheckUtils]: 29: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 11:07:27,292 INFO L272 TraceCheckUtils]: 28: Hoare triple {5718#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5718#true} is VALID [2022-04-28 11:07:27,293 INFO L290 TraceCheckUtils]: 27: Hoare triple {5718#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5718#true} is VALID [2022-04-28 11:07:27,293 INFO L290 TraceCheckUtils]: 26: Hoare triple {5718#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5718#true} is VALID [2022-04-28 11:07:27,293 INFO L290 TraceCheckUtils]: 25: Hoare triple {5718#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; {5718#true} is VALID [2022-04-28 11:07:27,293 INFO L290 TraceCheckUtils]: 24: Hoare triple {5718#true} assume !!(~x~0 <= ~X~0); {5718#true} is VALID [2022-04-28 11:07:27,293 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5718#true} {5718#true} #65#return; {5718#true} is VALID [2022-04-28 11:07:27,293 INFO L290 TraceCheckUtils]: 22: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:07:27,293 INFO L290 TraceCheckUtils]: 21: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 11:07:27,293 INFO L290 TraceCheckUtils]: 20: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 11:07:27,293 INFO L272 TraceCheckUtils]: 19: Hoare triple {5718#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5718#true} is VALID [2022-04-28 11:07:27,293 INFO L290 TraceCheckUtils]: 18: Hoare triple {5718#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5718#true} is VALID [2022-04-28 11:07:27,293 INFO L290 TraceCheckUtils]: 17: Hoare triple {5718#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5718#true} is VALID [2022-04-28 11:07:27,293 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5718#true} {5718#true} #63#return; {5718#true} is VALID [2022-04-28 11:07:27,293 INFO L290 TraceCheckUtils]: 15: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:07:27,293 INFO L290 TraceCheckUtils]: 14: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 11:07:27,294 INFO L290 TraceCheckUtils]: 13: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 11:07:27,294 INFO L272 TraceCheckUtils]: 12: Hoare triple {5718#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {5718#true} is VALID [2022-04-28 11:07:27,294 INFO L290 TraceCheckUtils]: 11: Hoare triple {5718#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5718#true} is VALID [2022-04-28 11:07:27,294 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5718#true} {5718#true} #61#return; {5718#true} is VALID [2022-04-28 11:07:27,294 INFO L290 TraceCheckUtils]: 9: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:07:27,294 INFO L290 TraceCheckUtils]: 8: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 11:07:27,294 INFO L290 TraceCheckUtils]: 7: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 11:07:27,294 INFO L272 TraceCheckUtils]: 6: Hoare triple {5718#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {5718#true} is VALID [2022-04-28 11:07:27,294 INFO L290 TraceCheckUtils]: 5: Hoare triple {5718#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; {5718#true} is VALID [2022-04-28 11:07:27,294 INFO L272 TraceCheckUtils]: 4: Hoare triple {5718#true} call #t~ret8 := main(); {5718#true} is VALID [2022-04-28 11:07:27,294 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5718#true} {5718#true} #69#return; {5718#true} is VALID [2022-04-28 11:07:27,294 INFO L290 TraceCheckUtils]: 2: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:07:27,294 INFO L290 TraceCheckUtils]: 1: Hoare triple {5718#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); {5718#true} is VALID [2022-04-28 11:07:27,294 INFO L272 TraceCheckUtils]: 0: Hoare triple {5718#true} call ULTIMATE.init(); {5718#true} is VALID [2022-04-28 11:07:27,295 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:07:27,295 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:07:27,295 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1367894934] [2022-04-28 11:07:27,295 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:07:27,295 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [143985306] [2022-04-28 11:07:27,295 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [143985306] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:07:27,295 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:07:27,295 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-28 11:07:27,295 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:07:27,295 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1055714649] [2022-04-28 11:07:27,296 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1055714649] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:07:27,296 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:07:27,296 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 11:07:27,296 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [291417713] [2022-04-28 11:07:27,296 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:07:27,296 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 11:07:27,296 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:07:27,296 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:27,329 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:27,329 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 11:07:27,329 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:27,330 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 11:07:27,330 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=475, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:07:27,330 INFO L87 Difference]: Start difference. First operand 76 states and 84 transitions. Second operand has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:28,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:28,228 INFO L93 Difference]: Finished difference Result 87 states and 96 transitions. [2022-04-28 11:07:28,228 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 11:07:28,229 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 11:07:28,229 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:07:28,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:28,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 61 transitions. [2022-04-28 11:07:28,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:28,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 61 transitions. [2022-04-28 11:07:28,231 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 61 transitions. [2022-04-28 11:07:28,273 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:28,274 INFO L225 Difference]: With dead ends: 87 [2022-04-28 11:07:28,274 INFO L226 Difference]: Without dead ends: 79 [2022-04-28 11:07:28,274 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 72 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 118 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=119, Invalid=693, Unknown=0, NotChecked=0, Total=812 [2022-04-28 11:07:28,275 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 20 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 320 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 326 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 320 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 11:07:28,275 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 211 Invalid, 326 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 320 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 11:07:28,275 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-28 11:07:28,390 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 73. [2022-04-28 11:07:28,391 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:07:28,391 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:28,391 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:28,391 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:28,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:28,392 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-28 11:07:28,392 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-28 11:07:28,393 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:28,393 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:28,393 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 79 states. [2022-04-28 11:07:28,393 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 79 states. [2022-04-28 11:07:28,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:28,394 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-28 11:07:28,394 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-28 11:07:28,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:28,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:28,395 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:07:28,395 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:07:28,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:28,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-28 11:07:28,396 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 48 [2022-04-28 11:07:28,396 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:07:28,396 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-28 11:07:28,396 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:28,396 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-28 11:07:28,525 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:28,525 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 11:07:28,526 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:07:28,526 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:07:28,526 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:07:28,542 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:07:28,726 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:07:28,727 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:07:28,727 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:07:28,727 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 5 times [2022-04-28 11:07:28,727 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:28,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2128227163] [2022-04-28 11:07:28,728 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:07:28,728 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 6 times [2022-04-28 11:07:28,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:07:28,728 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [325042692] [2022-04-28 11:07:28,728 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:07:28,728 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:07:28,737 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:07:28,737 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2061626476] [2022-04-28 11:07:28,737 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:07:28,738 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:07:28,738 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:07:28,740 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:07:28,740 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:07:28,777 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 11:07:28,780 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:07:28,781 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 11:07:28,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:07:28,793 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:07:36,191 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:07:39,401 INFO L272 TraceCheckUtils]: 0: Hoare triple {6517#true} call ULTIMATE.init(); {6517#true} is VALID [2022-04-28 11:07:39,401 INFO L290 TraceCheckUtils]: 1: Hoare triple {6517#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); {6517#true} is VALID [2022-04-28 11:07:39,401 INFO L290 TraceCheckUtils]: 2: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:07:39,402 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6517#true} {6517#true} #69#return; {6517#true} is VALID [2022-04-28 11:07:39,402 INFO L272 TraceCheckUtils]: 4: Hoare triple {6517#true} call #t~ret8 := main(); {6517#true} is VALID [2022-04-28 11:07:39,402 INFO L290 TraceCheckUtils]: 5: Hoare triple {6517#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; {6517#true} is VALID [2022-04-28 11:07:39,402 INFO L272 TraceCheckUtils]: 6: Hoare triple {6517#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {6517#true} is VALID [2022-04-28 11:07:39,402 INFO L290 TraceCheckUtils]: 7: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 11:07:39,402 INFO L290 TraceCheckUtils]: 8: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 11:07:39,402 INFO L290 TraceCheckUtils]: 9: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:07:39,402 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6517#true} {6517#true} #61#return; {6517#true} is VALID [2022-04-28 11:07:39,402 INFO L290 TraceCheckUtils]: 11: Hoare triple {6517#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6517#true} is VALID [2022-04-28 11:07:39,402 INFO L272 TraceCheckUtils]: 12: Hoare triple {6517#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {6517#true} is VALID [2022-04-28 11:07:39,402 INFO L290 TraceCheckUtils]: 13: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 11:07:39,402 INFO L290 TraceCheckUtils]: 14: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 11:07:39,402 INFO L290 TraceCheckUtils]: 15: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:07:39,402 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6517#true} {6517#true} #63#return; {6517#true} is VALID [2022-04-28 11:07:39,403 INFO L290 TraceCheckUtils]: 17: Hoare triple {6517#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:07:39,403 INFO L290 TraceCheckUtils]: 18: Hoare triple {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:07:39,403 INFO L272 TraceCheckUtils]: 19: Hoare triple {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= 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)); {6517#true} is VALID [2022-04-28 11:07:39,403 INFO L290 TraceCheckUtils]: 20: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 11:07:39,403 INFO L290 TraceCheckUtils]: 21: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 11:07:39,404 INFO L290 TraceCheckUtils]: 22: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:07:39,404 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6517#true} {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:07:39,404 INFO L290 TraceCheckUtils]: 24: Hoare triple {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:07:39,405 INFO L290 TraceCheckUtils]: 25: Hoare triple {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:07:39,405 INFO L290 TraceCheckUtils]: 26: Hoare triple {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:07:39,406 INFO L290 TraceCheckUtils]: 27: Hoare triple {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:07:39,406 INFO L272 TraceCheckUtils]: 28: Hoare triple {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 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)); {6517#true} is VALID [2022-04-28 11:07:39,406 INFO L290 TraceCheckUtils]: 29: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 11:07:39,406 INFO L290 TraceCheckUtils]: 30: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 11:07:39,406 INFO L290 TraceCheckUtils]: 31: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:07:39,407 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6517#true} {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #65#return; {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:07:39,407 INFO L290 TraceCheckUtils]: 33: Hoare triple {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-28 11:07:39,407 INFO L290 TraceCheckUtils]: 34: Hoare triple {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6626#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:07:39,408 INFO L290 TraceCheckUtils]: 35: Hoare triple {6626#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6626#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:07:39,408 INFO L290 TraceCheckUtils]: 36: Hoare triple {6626#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6633#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:07:39,408 INFO L272 TraceCheckUtils]: 37: Hoare triple {6633#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 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)); {6517#true} is VALID [2022-04-28 11:07:39,409 INFO L290 TraceCheckUtils]: 38: Hoare triple {6517#true} ~cond := #in~cond; {6640#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:39,409 INFO L290 TraceCheckUtils]: 39: Hoare triple {6640#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:39,409 INFO L290 TraceCheckUtils]: 40: Hoare triple {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:39,410 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} {6633#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {6651#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~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_~y~0 0))} is VALID [2022-04-28 11:07:39,411 INFO L290 TraceCheckUtils]: 42: Hoare triple {6651#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~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_~y~0 0))} assume !!(~x~0 <= ~X~0); {6651#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~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_~y~0 0))} is VALID [2022-04-28 11:07:39,411 INFO L290 TraceCheckUtils]: 43: Hoare triple {6651#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~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_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6658#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-28 11:07:39,413 INFO L290 TraceCheckUtils]: 44: Hoare triple {6658#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6662#(and (= main_~y~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-28 11:07:39,415 INFO L290 TraceCheckUtils]: 45: Hoare triple {6662#(and (= main_~y~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6666#(and (= main_~xy~0 0) (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-28 11:07:39,417 INFO L272 TraceCheckUtils]: 46: Hoare triple {6666#(and (= main_~xy~0 0) (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 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)); {6670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:07:39,417 INFO L290 TraceCheckUtils]: 47: Hoare triple {6670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:39,418 INFO L290 TraceCheckUtils]: 48: Hoare triple {6674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6518#false} is VALID [2022-04-28 11:07:39,418 INFO L290 TraceCheckUtils]: 49: Hoare triple {6518#false} assume !false; {6518#false} is VALID [2022-04-28 11:07:39,418 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 11 proven. 22 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 11:07:39,418 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:07:40,164 INFO L290 TraceCheckUtils]: 49: Hoare triple {6518#false} assume !false; {6518#false} is VALID [2022-04-28 11:07:40,165 INFO L290 TraceCheckUtils]: 48: Hoare triple {6674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6518#false} is VALID [2022-04-28 11:07:40,165 INFO L290 TraceCheckUtils]: 47: Hoare triple {6670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:07:40,166 INFO L272 TraceCheckUtils]: 46: Hoare triple {6690#(= (+ (* 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)); {6670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:07:40,167 INFO L290 TraceCheckUtils]: 45: Hoare triple {6694#(= (+ (* 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; {6690#(= (+ (* 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:40,168 INFO L290 TraceCheckUtils]: 44: Hoare triple {6698#(= (+ (* (* 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; {6694#(= (+ (* 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:40,169 INFO L290 TraceCheckUtils]: 43: Hoare triple {6694#(= (+ (* 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; {6698#(= (+ (* (* 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:40,169 INFO L290 TraceCheckUtils]: 42: Hoare triple {6694#(= (+ (* 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 !!(~x~0 <= ~X~0); {6694#(= (+ (* 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:40,170 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} {6708#(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)))))} #65#return; {6694#(= (+ (* 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:40,170 INFO L290 TraceCheckUtils]: 40: Hoare triple {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:40,170 INFO L290 TraceCheckUtils]: 39: Hoare triple {6718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:07:40,171 INFO L290 TraceCheckUtils]: 38: Hoare triple {6517#true} ~cond := #in~cond; {6718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:07:40,171 INFO L272 TraceCheckUtils]: 37: Hoare triple {6708#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-28 11:07:40,171 INFO L290 TraceCheckUtils]: 36: Hoare triple {6517#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6708#(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)))))} is VALID [2022-04-28 11:07:40,172 INFO L290 TraceCheckUtils]: 35: Hoare triple {6517#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6517#true} is VALID [2022-04-28 11:07:40,172 INFO L290 TraceCheckUtils]: 34: Hoare triple {6517#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6517#true} is VALID [2022-04-28 11:07:40,172 INFO L290 TraceCheckUtils]: 33: Hoare triple {6517#true} assume !!(~x~0 <= ~X~0); {6517#true} is VALID [2022-04-28 11:07:40,172 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6517#true} {6517#true} #65#return; {6517#true} is VALID [2022-04-28 11:07:40,172 INFO L290 TraceCheckUtils]: 31: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:07:40,172 INFO L290 TraceCheckUtils]: 30: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 11:07:40,172 INFO L290 TraceCheckUtils]: 29: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 11:07:40,172 INFO L272 TraceCheckUtils]: 28: Hoare triple {6517#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-28 11:07:40,172 INFO L290 TraceCheckUtils]: 27: Hoare triple {6517#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6517#true} is VALID [2022-04-28 11:07:40,172 INFO L290 TraceCheckUtils]: 26: Hoare triple {6517#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6517#true} is VALID [2022-04-28 11:07:40,172 INFO L290 TraceCheckUtils]: 25: Hoare triple {6517#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6517#true} is VALID [2022-04-28 11:07:40,172 INFO L290 TraceCheckUtils]: 24: Hoare triple {6517#true} assume !!(~x~0 <= ~X~0); {6517#true} is VALID [2022-04-28 11:07:40,172 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6517#true} {6517#true} #65#return; {6517#true} is VALID [2022-04-28 11:07:40,172 INFO L290 TraceCheckUtils]: 22: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:07:40,173 INFO L290 TraceCheckUtils]: 21: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 11:07:40,173 INFO L290 TraceCheckUtils]: 20: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 11:07:40,173 INFO L272 TraceCheckUtils]: 19: Hoare triple {6517#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-28 11:07:40,173 INFO L290 TraceCheckUtils]: 18: Hoare triple {6517#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6517#true} is VALID [2022-04-28 11:07:40,173 INFO L290 TraceCheckUtils]: 17: Hoare triple {6517#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6517#true} is VALID [2022-04-28 11:07:40,173 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6517#true} {6517#true} #63#return; {6517#true} is VALID [2022-04-28 11:07:40,173 INFO L290 TraceCheckUtils]: 15: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:07:40,173 INFO L290 TraceCheckUtils]: 14: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 11:07:40,173 INFO L290 TraceCheckUtils]: 13: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 11:07:40,173 INFO L272 TraceCheckUtils]: 12: Hoare triple {6517#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {6517#true} is VALID [2022-04-28 11:07:40,173 INFO L290 TraceCheckUtils]: 11: Hoare triple {6517#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6517#true} is VALID [2022-04-28 11:07:40,173 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6517#true} {6517#true} #61#return; {6517#true} is VALID [2022-04-28 11:07:40,173 INFO L290 TraceCheckUtils]: 9: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:07:40,173 INFO L290 TraceCheckUtils]: 8: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 11:07:40,174 INFO L290 TraceCheckUtils]: 7: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 11:07:40,174 INFO L272 TraceCheckUtils]: 6: Hoare triple {6517#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {6517#true} is VALID [2022-04-28 11:07:40,174 INFO L290 TraceCheckUtils]: 5: Hoare triple {6517#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; {6517#true} is VALID [2022-04-28 11:07:40,174 INFO L272 TraceCheckUtils]: 4: Hoare triple {6517#true} call #t~ret8 := main(); {6517#true} is VALID [2022-04-28 11:07:40,174 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6517#true} {6517#true} #69#return; {6517#true} is VALID [2022-04-28 11:07:40,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:07:40,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {6517#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); {6517#true} is VALID [2022-04-28 11:07:40,174 INFO L272 TraceCheckUtils]: 0: Hoare triple {6517#true} call ULTIMATE.init(); {6517#true} is VALID [2022-04-28 11:07:40,174 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:07:40,174 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:07:40,174 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [325042692] [2022-04-28 11:07:40,174 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:07:40,175 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2061626476] [2022-04-28 11:07:40,175 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2061626476] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:07:40,175 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:07:40,175 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-28 11:07:40,175 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:07:40,175 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2128227163] [2022-04-28 11:07:40,175 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2128227163] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:07:40,175 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:07:40,175 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:07:40,175 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [682447429] [2022-04-28 11:07:40,175 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:07:40,176 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:07:40,176 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:07:40,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:40,211 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:07:40,212 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:07:40,212 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:40,212 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:07:40,212 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=293, Unknown=0, NotChecked=0, Total=342 [2022-04-28 11:07:40,212 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:41,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:41,431 INFO L93 Difference]: Finished difference Result 88 states and 98 transitions. [2022-04-28 11:07:41,431 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 11:07:41,431 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:07:41,431 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:07:41,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:41,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-28 11:07:41,432 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:41,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-28 11:07:41,433 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 65 transitions. [2022-04-28 11:07:41,488 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:41,490 INFO L225 Difference]: With dead ends: 88 [2022-04-28 11:07:41,490 INFO L226 Difference]: Without dead ends: 84 [2022-04-28 11:07:41,490 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 80 SyntacticMatches, 2 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-28 11:07:41,490 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 18 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 352 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 182 SdHoareTripleChecker+Invalid, 360 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 352 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 11:07:41,491 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 182 Invalid, 360 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 352 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 11:07:41,491 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-28 11:07:41,620 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 75. [2022-04-28 11:07:41,620 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:07:41,620 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:41,620 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:41,621 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:41,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:41,622 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-28 11:07:41,622 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-28 11:07:41,622 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:41,622 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:41,622 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-28 11:07:41,623 INFO L87 Difference]: Start difference. First operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-28 11:07:41,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:07:41,624 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-28 11:07:41,624 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-28 11:07:41,624 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:07:41,624 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:07:41,624 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:07:41,624 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:07:41,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:07:41,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 83 transitions. [2022-04-28 11:07:41,625 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 83 transitions. Word has length 50 [2022-04-28 11:07:41,625 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:07:41,625 INFO L495 AbstractCegarLoop]: Abstraction has 75 states and 83 transitions. [2022-04-28 11:07:41,626 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:07:41,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 75 states and 83 transitions. [2022-04-28 11:07:41,778 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:07:41,778 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 83 transitions. [2022-04-28 11:07:41,779 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:07:41,779 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:07:41,779 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:07:41,795 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:07:41,984 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:07:41,984 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:07:41,985 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:07:41,985 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 5 times [2022-04-28 11:07:41,985 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:07:41,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1122782188] [2022-04-28 11:07:41,985 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:07:41,985 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 6 times [2022-04-28 11:07:41,985 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:07:41,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [883820259] [2022-04-28 11:07:41,985 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:07:41,985 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:07:41,995 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:07:41,995 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1353560509] [2022-04-28 11:07:41,995 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:07:41,995 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:07:41,995 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:07:41,996 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:07:41,997 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 11:07:42,036 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 11:07:42,036 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:07:42,037 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-28 11:07:42,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:07:42,048 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:08:07,487 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:08:13,511 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:08:24,309 INFO L272 TraceCheckUtils]: 0: Hoare triple {7337#true} call ULTIMATE.init(); {7337#true} is VALID [2022-04-28 11:08:24,310 INFO L290 TraceCheckUtils]: 1: Hoare triple {7337#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); {7337#true} is VALID [2022-04-28 11:08:24,310 INFO L290 TraceCheckUtils]: 2: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-28 11:08:24,310 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7337#true} {7337#true} #69#return; {7337#true} is VALID [2022-04-28 11:08:24,310 INFO L272 TraceCheckUtils]: 4: Hoare triple {7337#true} call #t~ret8 := main(); {7337#true} is VALID [2022-04-28 11:08:24,310 INFO L290 TraceCheckUtils]: 5: Hoare triple {7337#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; {7337#true} is VALID [2022-04-28 11:08:24,310 INFO L272 TraceCheckUtils]: 6: Hoare triple {7337#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {7337#true} is VALID [2022-04-28 11:08:24,310 INFO L290 TraceCheckUtils]: 7: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-28 11:08:24,310 INFO L290 TraceCheckUtils]: 8: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-28 11:08:24,310 INFO L290 TraceCheckUtils]: 9: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-28 11:08:24,310 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7337#true} {7337#true} #61#return; {7337#true} is VALID [2022-04-28 11:08:24,310 INFO L290 TraceCheckUtils]: 11: Hoare triple {7337#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7337#true} is VALID [2022-04-28 11:08:24,310 INFO L272 TraceCheckUtils]: 12: Hoare triple {7337#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {7337#true} is VALID [2022-04-28 11:08:24,311 INFO L290 TraceCheckUtils]: 13: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-28 11:08:24,311 INFO L290 TraceCheckUtils]: 14: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-28 11:08:24,311 INFO L290 TraceCheckUtils]: 15: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-28 11:08:24,311 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7337#true} {7337#true} #63#return; {7337#true} is VALID [2022-04-28 11:08:24,311 INFO L290 TraceCheckUtils]: 17: Hoare triple {7337#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:08:24,312 INFO L290 TraceCheckUtils]: 18: Hoare triple {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:08:24,312 INFO L272 TraceCheckUtils]: 19: Hoare triple {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= 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)); {7337#true} is VALID [2022-04-28 11:08:24,312 INFO L290 TraceCheckUtils]: 20: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-28 11:08:24,312 INFO L290 TraceCheckUtils]: 21: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-28 11:08:24,312 INFO L290 TraceCheckUtils]: 22: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-28 11:08:24,313 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7337#true} {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:08:24,313 INFO L290 TraceCheckUtils]: 24: Hoare triple {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:08:24,314 INFO L290 TraceCheckUtils]: 25: Hoare triple {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:08:24,314 INFO L290 TraceCheckUtils]: 26: Hoare triple {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:08:26,316 WARN L290 TraceCheckUtils]: 27: Hoare triple {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7425#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} is UNKNOWN [2022-04-28 11:08:26,316 INFO L272 TraceCheckUtils]: 28: Hoare triple {7425#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~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)); {7337#true} is VALID [2022-04-28 11:08:26,317 INFO L290 TraceCheckUtils]: 29: Hoare triple {7337#true} ~cond := #in~cond; {7432#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:08:26,317 INFO L290 TraceCheckUtils]: 30: Hoare triple {7432#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:08:26,317 INFO L290 TraceCheckUtils]: 31: Hoare triple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:08:26,318 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} {7425#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} #65#return; {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:08:26,318 INFO L290 TraceCheckUtils]: 33: Hoare triple {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:08:26,319 INFO L290 TraceCheckUtils]: 34: Hoare triple {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7449#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:08:26,319 INFO L290 TraceCheckUtils]: 35: Hoare triple {7449#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7449#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 11:08:26,320 INFO L290 TraceCheckUtils]: 36: Hoare triple {7449#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7456#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:08:26,320 INFO L272 TraceCheckUtils]: 37: Hoare triple {7456#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 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)); {7337#true} is VALID [2022-04-28 11:08:26,320 INFO L290 TraceCheckUtils]: 38: Hoare triple {7337#true} ~cond := #in~cond; {7432#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:08:26,320 INFO L290 TraceCheckUtils]: 39: Hoare triple {7432#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:08:26,321 INFO L290 TraceCheckUtils]: 40: Hoare triple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:08:26,322 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} {7456#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {7472#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~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_~y~0 0))} is VALID [2022-04-28 11:08:26,322 INFO L290 TraceCheckUtils]: 42: Hoare triple {7472#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~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_~y~0 0))} assume !!(~x~0 <= ~X~0); {7472#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~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_~y~0 0))} is VALID [2022-04-28 11:08:26,323 INFO L290 TraceCheckUtils]: 43: Hoare triple {7472#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~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_~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; {7479#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 6))))} is VALID [2022-04-28 11:08:26,327 INFO L290 TraceCheckUtils]: 44: Hoare triple {7479#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 6))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7483#(and (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2))))} is VALID [2022-04-28 11:08:26,331 INFO L290 TraceCheckUtils]: 45: Hoare triple {7483#(and (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7487#(and (or (and (= (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ (* (- 1) main_~X~0) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) (* main_~Y~0 2))))) (= main_~X~0 main_~xy~0))} is VALID [2022-04-28 11:08:26,333 INFO L272 TraceCheckUtils]: 46: Hoare triple {7487#(and (or (and (= (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ (* (- 1) main_~X~0) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) (* main_~Y~0 2))))) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7491#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:08:26,333 INFO L290 TraceCheckUtils]: 47: Hoare triple {7491#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7495#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:08:26,334 INFO L290 TraceCheckUtils]: 48: Hoare triple {7495#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7338#false} is VALID [2022-04-28 11:08:26,334 INFO L290 TraceCheckUtils]: 49: Hoare triple {7338#false} assume !false; {7338#false} is VALID [2022-04-28 11:08:26,334 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:08:26,334 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:08:30,840 INFO L290 TraceCheckUtils]: 49: Hoare triple {7338#false} assume !false; {7338#false} is VALID [2022-04-28 11:08:30,840 INFO L290 TraceCheckUtils]: 48: Hoare triple {7495#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7338#false} is VALID [2022-04-28 11:08:30,840 INFO L290 TraceCheckUtils]: 47: Hoare triple {7491#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7495#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:08:30,841 INFO L272 TraceCheckUtils]: 46: Hoare triple {7511#(= (+ (* 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)); {7491#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:08:30,842 INFO L290 TraceCheckUtils]: 45: Hoare triple {7515#(= (+ (* 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; {7511#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:08:30,844 INFO L290 TraceCheckUtils]: 44: Hoare triple {7519#(= (+ (* (* 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; {7515#(= (+ (* 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:08:30,845 INFO L290 TraceCheckUtils]: 43: Hoare triple {7515#(= (+ (* 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; {7519#(= (+ (* (* 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:08:30,845 INFO L290 TraceCheckUtils]: 42: Hoare triple {7515#(= (+ (* 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 !!(~x~0 <= ~X~0); {7515#(= (+ (* 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:08:30,846 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} {7529#(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)))))} #65#return; {7515#(= (+ (* 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:08:30,847 INFO L290 TraceCheckUtils]: 40: Hoare triple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:08:30,847 INFO L290 TraceCheckUtils]: 39: Hoare triple {7539#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:08:30,847 INFO L290 TraceCheckUtils]: 38: Hoare triple {7337#true} ~cond := #in~cond; {7539#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:08:30,847 INFO L272 TraceCheckUtils]: 37: Hoare triple {7529#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7337#true} is VALID [2022-04-28 11:08:30,848 INFO L290 TraceCheckUtils]: 36: Hoare triple {7337#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7529#(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)))))} is VALID [2022-04-28 11:08:30,848 INFO L290 TraceCheckUtils]: 35: Hoare triple {7337#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7337#true} is VALID [2022-04-28 11:08:30,848 INFO L290 TraceCheckUtils]: 34: Hoare triple {7337#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7337#true} is VALID [2022-04-28 11:08:30,848 INFO L290 TraceCheckUtils]: 33: Hoare triple {7337#true} assume !!(~x~0 <= ~X~0); {7337#true} is VALID [2022-04-28 11:08:30,848 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7337#true} {7337#true} #65#return; {7337#true} is VALID [2022-04-28 11:08:30,848 INFO L290 TraceCheckUtils]: 31: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-28 11:08:30,848 INFO L290 TraceCheckUtils]: 30: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-28 11:08:30,848 INFO L290 TraceCheckUtils]: 29: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-28 11:08:30,848 INFO L272 TraceCheckUtils]: 28: Hoare triple {7337#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7337#true} is VALID [2022-04-28 11:08:30,849 INFO L290 TraceCheckUtils]: 27: Hoare triple {7337#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7337#true} is VALID [2022-04-28 11:08:30,849 INFO L290 TraceCheckUtils]: 26: Hoare triple {7337#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7337#true} is VALID [2022-04-28 11:08:30,849 INFO L290 TraceCheckUtils]: 25: Hoare triple {7337#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7337#true} is VALID [2022-04-28 11:08:30,849 INFO L290 TraceCheckUtils]: 24: Hoare triple {7337#true} assume !!(~x~0 <= ~X~0); {7337#true} is VALID [2022-04-28 11:08:30,849 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7337#true} {7337#true} #65#return; {7337#true} is VALID [2022-04-28 11:08:30,849 INFO L290 TraceCheckUtils]: 22: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-28 11:08:30,849 INFO L290 TraceCheckUtils]: 21: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-28 11:08:30,849 INFO L290 TraceCheckUtils]: 20: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-28 11:08:30,849 INFO L272 TraceCheckUtils]: 19: Hoare triple {7337#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7337#true} is VALID [2022-04-28 11:08:30,849 INFO L290 TraceCheckUtils]: 18: Hoare triple {7337#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7337#true} is VALID [2022-04-28 11:08:30,849 INFO L290 TraceCheckUtils]: 17: Hoare triple {7337#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7337#true} is VALID [2022-04-28 11:08:30,849 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7337#true} {7337#true} #63#return; {7337#true} is VALID [2022-04-28 11:08:30,849 INFO L290 TraceCheckUtils]: 15: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-28 11:08:30,849 INFO L290 TraceCheckUtils]: 14: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-28 11:08:30,850 INFO L290 TraceCheckUtils]: 13: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-28 11:08:30,850 INFO L272 TraceCheckUtils]: 12: Hoare triple {7337#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {7337#true} is VALID [2022-04-28 11:08:30,850 INFO L290 TraceCheckUtils]: 11: Hoare triple {7337#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7337#true} is VALID [2022-04-28 11:08:30,850 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7337#true} {7337#true} #61#return; {7337#true} is VALID [2022-04-28 11:08:30,850 INFO L290 TraceCheckUtils]: 9: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-28 11:08:30,850 INFO L290 TraceCheckUtils]: 8: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-28 11:08:30,850 INFO L290 TraceCheckUtils]: 7: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-28 11:08:30,850 INFO L272 TraceCheckUtils]: 6: Hoare triple {7337#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {7337#true} is VALID [2022-04-28 11:08:30,850 INFO L290 TraceCheckUtils]: 5: Hoare triple {7337#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; {7337#true} is VALID [2022-04-28 11:08:30,850 INFO L272 TraceCheckUtils]: 4: Hoare triple {7337#true} call #t~ret8 := main(); {7337#true} is VALID [2022-04-28 11:08:30,850 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7337#true} {7337#true} #69#return; {7337#true} is VALID [2022-04-28 11:08:30,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-28 11:08:30,850 INFO L290 TraceCheckUtils]: 1: Hoare triple {7337#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); {7337#true} is VALID [2022-04-28 11:08:30,850 INFO L272 TraceCheckUtils]: 0: Hoare triple {7337#true} call ULTIMATE.init(); {7337#true} is VALID [2022-04-28 11:08:30,851 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:08:30,851 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:08:30,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [883820259] [2022-04-28 11:08:30,851 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:08:30,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1353560509] [2022-04-28 11:08:30,851 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1353560509] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:08:30,851 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:08:30,851 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 10] total 20 [2022-04-28 11:08:30,851 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:08:30,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1122782188] [2022-04-28 11:08:30,852 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1122782188] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:08:30,852 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:08:30,852 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 11:08:30,852 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [357202928] [2022-04-28 11:08:30,852 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:08:30,852 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:08:30,852 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:08:30,852 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:08:32,893 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:08:32,894 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 11:08:32,894 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:08:32,894 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 11:08:32,894 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=328, Unknown=0, NotChecked=0, Total=380 [2022-04-28 11:08:32,894 INFO L87 Difference]: Start difference. First operand 75 states and 83 transitions. Second operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:08:34,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:08:34,977 INFO L93 Difference]: Finished difference Result 88 states and 98 transitions. [2022-04-28 11:08:34,977 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 11:08:34,977 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:08:34,977 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:08:34,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:08:34,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 11:08:34,979 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:08:34,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 11:08:34,979 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-28 11:08:37,040 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:08:37,041 INFO L225 Difference]: With dead ends: 88 [2022-04-28 11:08:37,041 INFO L226 Difference]: Without dead ends: 86 [2022-04-28 11:08:37,042 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 78 SyntacticMatches, 3 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=80, Invalid=472, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:08:37,042 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 19 mSDsluCounter, 174 mSDsCounter, 0 mSdLazyCounter, 386 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 203 SdHoareTripleChecker+Invalid, 391 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 386 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 11:08:37,042 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 203 Invalid, 391 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 386 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 11:08:37,043 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-28 11:08:37,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 82. [2022-04-28 11:08:37,151 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:08:37,151 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:08:37,151 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:08:37,152 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:08:37,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:08:37,153 INFO L93 Difference]: Finished difference Result 86 states and 96 transitions. [2022-04-28 11:08:37,153 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 96 transitions. [2022-04-28 11:08:37,153 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:08:37,153 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:08:37,153 INFO L74 IsIncluded]: Start isIncluded. First operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 86 states. [2022-04-28 11:08:37,153 INFO L87 Difference]: Start difference. First operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 86 states. [2022-04-28 11:08:37,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:08:37,155 INFO L93 Difference]: Finished difference Result 86 states and 96 transitions. [2022-04-28 11:08:37,155 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 96 transitions. [2022-04-28 11:08:37,155 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:08:37,155 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:08:37,155 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:08:37,155 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:08:37,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:08:37,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 90 transitions. [2022-04-28 11:08:37,156 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 90 transitions. Word has length 50 [2022-04-28 11:08:37,156 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:08:37,156 INFO L495 AbstractCegarLoop]: Abstraction has 82 states and 90 transitions. [2022-04-28 11:08:37,157 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:08:37,157 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 82 states and 90 transitions. [2022-04-28 11:08:37,330 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:08:37,330 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2022-04-28 11:08:37,330 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:08:37,330 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:08:37,330 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:08:37,347 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 11:08:37,531 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 11:08:37,531 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:08:37,531 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:08:37,531 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 7 times [2022-04-28 11:08:37,531 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:08:37,531 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [508839194] [2022-04-28 11:08:37,532 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:08:37,532 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 8 times [2022-04-28 11:08:37,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:08:37,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1994380657] [2022-04-28 11:08:37,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:08:37,532 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:08:37,541 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:08:37,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1727863957] [2022-04-28 11:08:37,542 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:08:37,542 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:08:37,542 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:08:37,543 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:08:37,543 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 11:08:37,582 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:08:37,582 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:08:37,583 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 11:08:37,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:08:37,599 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:08:51,894 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:08:58,511 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:09:06,604 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:09:20,579 INFO L272 TraceCheckUtils]: 0: Hoare triple {8176#true} call ULTIMATE.init(); {8176#true} is VALID [2022-04-28 11:09:20,580 INFO L290 TraceCheckUtils]: 1: Hoare triple {8176#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); {8176#true} is VALID [2022-04-28 11:09:20,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-28 11:09:20,580 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8176#true} {8176#true} #69#return; {8176#true} is VALID [2022-04-28 11:09:20,580 INFO L272 TraceCheckUtils]: 4: Hoare triple {8176#true} call #t~ret8 := main(); {8176#true} is VALID [2022-04-28 11:09:20,580 INFO L290 TraceCheckUtils]: 5: Hoare triple {8176#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; {8176#true} is VALID [2022-04-28 11:09:20,580 INFO L272 TraceCheckUtils]: 6: Hoare triple {8176#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {8176#true} is VALID [2022-04-28 11:09:20,580 INFO L290 TraceCheckUtils]: 7: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-28 11:09:20,580 INFO L290 TraceCheckUtils]: 8: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-28 11:09:20,580 INFO L290 TraceCheckUtils]: 9: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-28 11:09:20,580 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8176#true} {8176#true} #61#return; {8176#true} is VALID [2022-04-28 11:09:20,580 INFO L290 TraceCheckUtils]: 11: Hoare triple {8176#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8176#true} is VALID [2022-04-28 11:09:20,580 INFO L272 TraceCheckUtils]: 12: Hoare triple {8176#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {8176#true} is VALID [2022-04-28 11:09:20,580 INFO L290 TraceCheckUtils]: 13: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-28 11:09:20,581 INFO L290 TraceCheckUtils]: 14: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-28 11:09:20,581 INFO L290 TraceCheckUtils]: 15: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-28 11:09:20,581 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8176#true} {8176#true} #63#return; {8176#true} is VALID [2022-04-28 11:09:20,581 INFO L290 TraceCheckUtils]: 17: Hoare triple {8176#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:09:20,581 INFO L290 TraceCheckUtils]: 18: Hoare triple {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:09:20,581 INFO L272 TraceCheckUtils]: 19: Hoare triple {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= 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)); {8176#true} is VALID [2022-04-28 11:09:20,582 INFO L290 TraceCheckUtils]: 20: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-28 11:09:20,582 INFO L290 TraceCheckUtils]: 21: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-28 11:09:20,582 INFO L290 TraceCheckUtils]: 22: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-28 11:09:20,582 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8176#true} {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:09:20,583 INFO L290 TraceCheckUtils]: 24: Hoare triple {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:09:20,583 INFO L290 TraceCheckUtils]: 25: Hoare triple {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8257#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:09:20,584 INFO L290 TraceCheckUtils]: 26: Hoare triple {8257#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8257#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:09:20,584 INFO L290 TraceCheckUtils]: 27: Hoare triple {8257#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8264#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:09:20,584 INFO L272 TraceCheckUtils]: 28: Hoare triple {8264#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* 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)); {8176#true} is VALID [2022-04-28 11:09:20,584 INFO L290 TraceCheckUtils]: 29: Hoare triple {8176#true} ~cond := #in~cond; {8271#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:20,585 INFO L290 TraceCheckUtils]: 30: Hoare triple {8271#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:20,585 INFO L290 TraceCheckUtils]: 31: Hoare triple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:20,586 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} {8264#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #65#return; {8282#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} is VALID [2022-04-28 11:09:20,586 INFO L290 TraceCheckUtils]: 33: Hoare triple {8282#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} assume !!(~x~0 <= ~X~0); {8282#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} is VALID [2022-04-28 11:09:20,587 INFO L290 TraceCheckUtils]: 34: Hoare triple {8282#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} 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; {8289#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-28 11:09:20,587 INFO L290 TraceCheckUtils]: 35: Hoare triple {8289#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8289#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-28 11:09:20,587 INFO L290 TraceCheckUtils]: 36: Hoare triple {8289#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8296#(and (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~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:20,587 INFO L272 TraceCheckUtils]: 37: Hoare triple {8296#(and (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~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)); {8176#true} is VALID [2022-04-28 11:09:20,588 INFO L290 TraceCheckUtils]: 38: Hoare triple {8176#true} ~cond := #in~cond; {8271#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:20,588 INFO L290 TraceCheckUtils]: 39: Hoare triple {8271#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:20,588 INFO L290 TraceCheckUtils]: 40: Hoare triple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:20,589 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} {8296#(and (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {8312#(and (= (+ (* 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_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:09:20,590 INFO L290 TraceCheckUtils]: 42: Hoare triple {8312#(and (= (+ (* 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_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {8312#(and (= (+ (* 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_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:09:20,591 INFO L290 TraceCheckUtils]: 43: Hoare triple {8312#(and (= (+ (* 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_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8319#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-28 11:09:20,592 INFO L290 TraceCheckUtils]: 44: Hoare triple {8319#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8323#(and (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))))} is VALID [2022-04-28 11:09:22,594 WARN L290 TraceCheckUtils]: 45: Hoare triple {8323#(and (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8327#(and (or (and (or (and (= (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) 0) (= main_~yx~0 0)) (and (= (mod (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) 0) (= (* (div (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) main_~X~0)) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (and (= main_~yx~0 0) (= main_~Y~0 0))))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is UNKNOWN [2022-04-28 11:09:22,598 INFO L272 TraceCheckUtils]: 46: Hoare triple {8327#(and (or (and (or (and (= (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) 0) (= main_~yx~0 0)) (and (= (mod (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) 0) (= (* (div (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) main_~X~0)) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (and (= main_~yx~0 0) (= main_~Y~0 0))))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8331#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:09:22,598 INFO L290 TraceCheckUtils]: 47: Hoare triple {8331#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8335#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:22,598 INFO L290 TraceCheckUtils]: 48: Hoare triple {8335#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8177#false} is VALID [2022-04-28 11:09:22,598 INFO L290 TraceCheckUtils]: 49: Hoare triple {8177#false} assume !false; {8177#false} is VALID [2022-04-28 11:09:22,599 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:09:22,599 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:09:25,317 INFO L290 TraceCheckUtils]: 49: Hoare triple {8177#false} assume !false; {8177#false} is VALID [2022-04-28 11:09:25,318 INFO L290 TraceCheckUtils]: 48: Hoare triple {8335#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8177#false} is VALID [2022-04-28 11:09:25,318 INFO L290 TraceCheckUtils]: 47: Hoare triple {8331#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8335#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:25,319 INFO L272 TraceCheckUtils]: 46: Hoare triple {8351#(= (+ (* 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)); {8331#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:09:25,320 INFO L290 TraceCheckUtils]: 45: Hoare triple {8355#(= (+ (* 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; {8351#(= (+ (* 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:25,321 INFO L290 TraceCheckUtils]: 44: Hoare triple {8359#(= (+ (* (* 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; {8355#(= (+ (* 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:25,322 INFO L290 TraceCheckUtils]: 43: Hoare triple {8355#(= (+ (* 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; {8359#(= (+ (* (* 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:25,322 INFO L290 TraceCheckUtils]: 42: Hoare triple {8355#(= (+ (* 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 !!(~x~0 <= ~X~0); {8355#(= (+ (* 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:25,323 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} {8369#(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)))))} #65#return; {8355#(= (+ (* 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:25,324 INFO L290 TraceCheckUtils]: 40: Hoare triple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:25,324 INFO L290 TraceCheckUtils]: 39: Hoare triple {8379#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:09:25,324 INFO L290 TraceCheckUtils]: 38: Hoare triple {8176#true} ~cond := #in~cond; {8379#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:09:25,324 INFO L272 TraceCheckUtils]: 37: Hoare triple {8369#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8176#true} is VALID [2022-04-28 11:09:25,325 INFO L290 TraceCheckUtils]: 36: Hoare triple {8176#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8369#(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)))))} is VALID [2022-04-28 11:09:25,325 INFO L290 TraceCheckUtils]: 35: Hoare triple {8176#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8176#true} is VALID [2022-04-28 11:09:25,325 INFO L290 TraceCheckUtils]: 34: Hoare triple {8176#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; {8176#true} is VALID [2022-04-28 11:09:25,325 INFO L290 TraceCheckUtils]: 33: Hoare triple {8176#true} assume !!(~x~0 <= ~X~0); {8176#true} is VALID [2022-04-28 11:09:25,325 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8176#true} {8176#true} #65#return; {8176#true} is VALID [2022-04-28 11:09:25,325 INFO L290 TraceCheckUtils]: 31: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-28 11:09:25,325 INFO L290 TraceCheckUtils]: 30: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-28 11:09:25,326 INFO L290 TraceCheckUtils]: 29: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-28 11:09:25,326 INFO L272 TraceCheckUtils]: 28: Hoare triple {8176#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8176#true} is VALID [2022-04-28 11:09:25,326 INFO L290 TraceCheckUtils]: 27: Hoare triple {8176#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8176#true} is VALID [2022-04-28 11:09:25,326 INFO L290 TraceCheckUtils]: 26: Hoare triple {8176#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8176#true} is VALID [2022-04-28 11:09:25,326 INFO L290 TraceCheckUtils]: 25: Hoare triple {8176#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8176#true} is VALID [2022-04-28 11:09:25,326 INFO L290 TraceCheckUtils]: 24: Hoare triple {8176#true} assume !!(~x~0 <= ~X~0); {8176#true} is VALID [2022-04-28 11:09:25,326 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8176#true} {8176#true} #65#return; {8176#true} is VALID [2022-04-28 11:09:25,326 INFO L290 TraceCheckUtils]: 22: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-28 11:09:25,326 INFO L290 TraceCheckUtils]: 21: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-28 11:09:25,326 INFO L290 TraceCheckUtils]: 20: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-28 11:09:25,326 INFO L272 TraceCheckUtils]: 19: Hoare triple {8176#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8176#true} is VALID [2022-04-28 11:09:25,326 INFO L290 TraceCheckUtils]: 18: Hoare triple {8176#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8176#true} is VALID [2022-04-28 11:09:25,326 INFO L290 TraceCheckUtils]: 17: Hoare triple {8176#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8176#true} is VALID [2022-04-28 11:09:25,326 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8176#true} {8176#true} #63#return; {8176#true} is VALID [2022-04-28 11:09:25,327 INFO L290 TraceCheckUtils]: 15: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-28 11:09:25,327 INFO L290 TraceCheckUtils]: 14: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-28 11:09:25,327 INFO L290 TraceCheckUtils]: 13: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-28 11:09:25,327 INFO L272 TraceCheckUtils]: 12: Hoare triple {8176#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {8176#true} is VALID [2022-04-28 11:09:25,327 INFO L290 TraceCheckUtils]: 11: Hoare triple {8176#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8176#true} is VALID [2022-04-28 11:09:25,327 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8176#true} {8176#true} #61#return; {8176#true} is VALID [2022-04-28 11:09:25,327 INFO L290 TraceCheckUtils]: 9: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-28 11:09:25,327 INFO L290 TraceCheckUtils]: 8: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-28 11:09:25,327 INFO L290 TraceCheckUtils]: 7: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-28 11:09:25,327 INFO L272 TraceCheckUtils]: 6: Hoare triple {8176#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {8176#true} is VALID [2022-04-28 11:09:25,327 INFO L290 TraceCheckUtils]: 5: Hoare triple {8176#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; {8176#true} is VALID [2022-04-28 11:09:25,327 INFO L272 TraceCheckUtils]: 4: Hoare triple {8176#true} call #t~ret8 := main(); {8176#true} is VALID [2022-04-28 11:09:25,327 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8176#true} {8176#true} #69#return; {8176#true} is VALID [2022-04-28 11:09:25,327 INFO L290 TraceCheckUtils]: 2: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-28 11:09:25,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {8176#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); {8176#true} is VALID [2022-04-28 11:09:25,328 INFO L272 TraceCheckUtils]: 0: Hoare triple {8176#true} call ULTIMATE.init(); {8176#true} is VALID [2022-04-28 11:09:25,328 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:09:25,328 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:09:25,328 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1994380657] [2022-04-28 11:09:25,328 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:09:25,328 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1727863957] [2022-04-28 11:09:25,328 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1727863957] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:09:25,328 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:09:25,328 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 10] total 21 [2022-04-28 11:09:25,328 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:09:25,329 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [508839194] [2022-04-28 11:09:25,329 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [508839194] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:09:25,329 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:09:25,329 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 11:09:25,329 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [495226354] [2022-04-28 11:09:25,329 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:09:25,329 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:09:25,329 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:09:25,329 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:27,365 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:27,366 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 11:09:27,366 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:27,366 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 11:09:27,366 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=365, Unknown=0, NotChecked=0, Total=420 [2022-04-28 11:09:27,366 INFO L87 Difference]: Start difference. First operand 82 states and 90 transitions. Second operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:31,765 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:09:40,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:40,493 INFO L93 Difference]: Finished difference Result 100 states and 112 transitions. [2022-04-28 11:09:40,493 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 11:09:40,493 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:09:40,493 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:09:40,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:40,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 11:09:40,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:40,495 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 11:09:40,495 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-28 11:09:42,553 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:42,555 INFO L225 Difference]: With dead ends: 100 [2022-04-28 11:09:42,555 INFO L226 Difference]: Without dead ends: 98 [2022-04-28 11:09:42,555 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 78 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 4.4s TimeCoverageRelationStatistics Valid=88, Invalid=562, Unknown=0, NotChecked=0, Total=650 [2022-04-28 11:09:42,555 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 22 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 367 mSolverCounterSat, 8 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 191 SdHoareTripleChecker+Invalid, 376 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 367 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:09:42,556 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 191 Invalid, 376 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 367 Invalid, 1 Unknown, 0 Unchecked, 5.0s Time] [2022-04-28 11:09:42,556 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-28 11:09:42,694 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 87. [2022-04-28 11:09:42,694 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:09:42,695 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 11:09:42,695 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 11:09:42,695 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 11:09:42,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:42,697 INFO L93 Difference]: Finished difference Result 98 states and 110 transitions. [2022-04-28 11:09:42,697 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 110 transitions. [2022-04-28 11:09:42,697 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:42,697 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:42,697 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 98 states. [2022-04-28 11:09:42,697 INFO L87 Difference]: Start difference. First operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 98 states. [2022-04-28 11:09:42,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:42,699 INFO L93 Difference]: Finished difference Result 98 states and 110 transitions. [2022-04-28 11:09:42,699 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 110 transitions. [2022-04-28 11:09:42,699 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:42,699 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:42,699 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:09:42,699 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:09:42,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 11:09:42,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 97 transitions. [2022-04-28 11:09:42,700 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 97 transitions. Word has length 50 [2022-04-28 11:09:42,700 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:09:42,701 INFO L495 AbstractCegarLoop]: Abstraction has 87 states and 97 transitions. [2022-04-28 11:09:42,701 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:42,701 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 97 transitions. [2022-04-28 11:09:44,913 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 96 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:44,913 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 97 transitions. [2022-04-28 11:09:44,914 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:09:44,914 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:09:44,914 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:44,930 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 11:09:45,114 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 11:09:45,115 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:09:45,115 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:09:45,115 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 9 times [2022-04-28 11:09:45,115 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:45,115 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [350560221] [2022-04-28 11:09:45,116 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:09:45,116 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 10 times [2022-04-28 11:09:45,116 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:09:45,116 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [380035912] [2022-04-28 11:09:45,116 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:09:45,116 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:09:45,124 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:09:45,124 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1918979097] [2022-04-28 11:09:45,124 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:09:45,124 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:09:45,124 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:09:45,125 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:09:45,126 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 11:09:45,159 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:09:45,159 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:09:45,159 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 11:09:45,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:09:45,168 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:09:45,459 INFO L272 TraceCheckUtils]: 0: Hoare triple {9076#true} call ULTIMATE.init(); {9076#true} is VALID [2022-04-28 11:09:45,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {9076#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); {9076#true} is VALID [2022-04-28 11:09:45,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-28 11:09:45,460 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9076#true} {9076#true} #69#return; {9076#true} is VALID [2022-04-28 11:09:45,460 INFO L272 TraceCheckUtils]: 4: Hoare triple {9076#true} call #t~ret8 := main(); {9076#true} is VALID [2022-04-28 11:09:45,460 INFO L290 TraceCheckUtils]: 5: Hoare triple {9076#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; {9076#true} is VALID [2022-04-28 11:09:45,460 INFO L272 TraceCheckUtils]: 6: Hoare triple {9076#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {9076#true} is VALID [2022-04-28 11:09:45,460 INFO L290 TraceCheckUtils]: 7: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-28 11:09:45,460 INFO L290 TraceCheckUtils]: 8: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-28 11:09:45,460 INFO L290 TraceCheckUtils]: 9: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-28 11:09:45,460 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9076#true} {9076#true} #61#return; {9076#true} is VALID [2022-04-28 11:09:45,460 INFO L290 TraceCheckUtils]: 11: Hoare triple {9076#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9076#true} is VALID [2022-04-28 11:09:45,460 INFO L272 TraceCheckUtils]: 12: Hoare triple {9076#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {9076#true} is VALID [2022-04-28 11:09:45,460 INFO L290 TraceCheckUtils]: 13: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-28 11:09:45,460 INFO L290 TraceCheckUtils]: 14: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-28 11:09:45,460 INFO L290 TraceCheckUtils]: 15: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-28 11:09:45,461 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9076#true} {9076#true} #63#return; {9076#true} is VALID [2022-04-28 11:09:45,463 INFO L290 TraceCheckUtils]: 17: Hoare triple {9076#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-28 11:09:45,464 INFO L290 TraceCheckUtils]: 18: Hoare triple {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-28 11:09:45,464 INFO L272 TraceCheckUtils]: 19: Hoare triple {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9076#true} is VALID [2022-04-28 11:09:45,464 INFO L290 TraceCheckUtils]: 20: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-28 11:09:45,464 INFO L290 TraceCheckUtils]: 21: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-28 11:09:45,464 INFO L290 TraceCheckUtils]: 22: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-28 11:09:45,464 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9076#true} {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} #65#return; {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-28 11:09:45,465 INFO L290 TraceCheckUtils]: 24: Hoare triple {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-28 11:09:45,465 INFO L290 TraceCheckUtils]: 25: Hoare triple {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:09:45,466 INFO L290 TraceCheckUtils]: 26: Hoare triple {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:09:45,466 INFO L290 TraceCheckUtils]: 27: Hoare triple {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:09:45,466 INFO L272 TraceCheckUtils]: 28: Hoare triple {9157#(and (< (* main_~Y~0 2) 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)); {9076#true} is VALID [2022-04-28 11:09:45,466 INFO L290 TraceCheckUtils]: 29: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-28 11:09:45,466 INFO L290 TraceCheckUtils]: 30: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-28 11:09:45,466 INFO L290 TraceCheckUtils]: 31: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-28 11:09:45,467 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9076#true} {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} #65#return; {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:09:45,467 INFO L290 TraceCheckUtils]: 33: Hoare triple {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:09:45,468 INFO L290 TraceCheckUtils]: 34: Hoare triple {9157#(and (< (* main_~Y~0 2) 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; {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-28 11:09:45,468 INFO L290 TraceCheckUtils]: 35: Hoare triple {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-28 11:09:45,469 INFO L290 TraceCheckUtils]: 36: Hoare triple {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-28 11:09:45,469 INFO L272 TraceCheckUtils]: 37: Hoare triple {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9076#true} is VALID [2022-04-28 11:09:45,469 INFO L290 TraceCheckUtils]: 38: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-28 11:09:45,469 INFO L290 TraceCheckUtils]: 39: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-28 11:09:45,469 INFO L290 TraceCheckUtils]: 40: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-28 11:09:45,469 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9076#true} {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} #65#return; {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-28 11:09:45,470 INFO L290 TraceCheckUtils]: 42: Hoare triple {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !!(~x~0 <= ~X~0); {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-28 11:09:45,470 INFO L290 TraceCheckUtils]: 43: Hoare triple {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~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; {9077#false} is VALID [2022-04-28 11:09:45,470 INFO L290 TraceCheckUtils]: 44: Hoare triple {9077#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9077#false} is VALID [2022-04-28 11:09:45,470 INFO L290 TraceCheckUtils]: 45: Hoare triple {9077#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9077#false} is VALID [2022-04-28 11:09:45,471 INFO L272 TraceCheckUtils]: 46: Hoare triple {9077#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9077#false} is VALID [2022-04-28 11:09:45,471 INFO L290 TraceCheckUtils]: 47: Hoare triple {9077#false} ~cond := #in~cond; {9077#false} is VALID [2022-04-28 11:09:45,471 INFO L290 TraceCheckUtils]: 48: Hoare triple {9077#false} assume 0 == ~cond; {9077#false} is VALID [2022-04-28 11:09:45,471 INFO L290 TraceCheckUtils]: 49: Hoare triple {9077#false} assume !false; {9077#false} is VALID [2022-04-28 11:09:45,471 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 11:09:45,471 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:09:45,648 INFO L290 TraceCheckUtils]: 49: Hoare triple {9077#false} assume !false; {9077#false} is VALID [2022-04-28 11:09:45,648 INFO L290 TraceCheckUtils]: 48: Hoare triple {9077#false} assume 0 == ~cond; {9077#false} is VALID [2022-04-28 11:09:45,649 INFO L290 TraceCheckUtils]: 47: Hoare triple {9077#false} ~cond := #in~cond; {9077#false} is VALID [2022-04-28 11:09:45,649 INFO L272 TraceCheckUtils]: 46: Hoare triple {9077#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9077#false} is VALID [2022-04-28 11:09:45,649 INFO L290 TraceCheckUtils]: 45: Hoare triple {9077#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9077#false} is VALID [2022-04-28 11:09:45,649 INFO L290 TraceCheckUtils]: 44: Hoare triple {9077#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9077#false} is VALID [2022-04-28 11:09:45,649 INFO L290 TraceCheckUtils]: 43: Hoare triple {9249#(< main_~v~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; {9077#false} is VALID [2022-04-28 11:09:45,649 INFO L290 TraceCheckUtils]: 42: Hoare triple {9249#(< main_~v~0 0)} assume !!(~x~0 <= ~X~0); {9249#(< main_~v~0 0)} is VALID [2022-04-28 11:09:45,650 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9076#true} {9249#(< main_~v~0 0)} #65#return; {9249#(< main_~v~0 0)} is VALID [2022-04-28 11:09:45,650 INFO L290 TraceCheckUtils]: 40: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-28 11:09:45,650 INFO L290 TraceCheckUtils]: 39: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-28 11:09:45,650 INFO L290 TraceCheckUtils]: 38: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-28 11:09:45,650 INFO L272 TraceCheckUtils]: 37: Hoare triple {9249#(< main_~v~0 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9076#true} is VALID [2022-04-28 11:09:45,650 INFO L290 TraceCheckUtils]: 36: Hoare triple {9249#(< main_~v~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9249#(< main_~v~0 0)} is VALID [2022-04-28 11:09:45,651 INFO L290 TraceCheckUtils]: 35: Hoare triple {9249#(< main_~v~0 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9249#(< main_~v~0 0)} is VALID [2022-04-28 11:09:45,651 INFO L290 TraceCheckUtils]: 34: Hoare triple {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~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; {9249#(< main_~v~0 0)} is VALID [2022-04-28 11:09:45,652 INFO L290 TraceCheckUtils]: 33: Hoare triple {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !!(~x~0 <= ~X~0); {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-28 11:09:45,661 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9076#true} {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} #65#return; {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-28 11:09:45,661 INFO L290 TraceCheckUtils]: 31: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-28 11:09:45,661 INFO L290 TraceCheckUtils]: 30: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-28 11:09:45,661 INFO L290 TraceCheckUtils]: 29: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-28 11:09:45,661 INFO L272 TraceCheckUtils]: 28: Hoare triple {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* 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)); {9076#true} is VALID [2022-04-28 11:09:45,662 INFO L290 TraceCheckUtils]: 27: Hoare triple {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-28 11:09:45,662 INFO L290 TraceCheckUtils]: 26: Hoare triple {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-28 11:09:45,663 INFO L290 TraceCheckUtils]: 25: Hoare triple {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-28 11:09:45,663 INFO L290 TraceCheckUtils]: 24: Hoare triple {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:09:45,663 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9076#true} {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} #65#return; {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:09:45,664 INFO L290 TraceCheckUtils]: 22: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-28 11:09:45,664 INFO L290 TraceCheckUtils]: 21: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-28 11:09:45,664 INFO L290 TraceCheckUtils]: 20: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-28 11:09:45,664 INFO L272 TraceCheckUtils]: 19: Hoare triple {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9076#true} is VALID [2022-04-28 11:09:45,664 INFO L290 TraceCheckUtils]: 18: Hoare triple {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:09:45,665 INFO L290 TraceCheckUtils]: 17: Hoare triple {9076#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:09:45,665 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9076#true} {9076#true} #63#return; {9076#true} is VALID [2022-04-28 11:09:45,665 INFO L290 TraceCheckUtils]: 15: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-28 11:09:45,665 INFO L290 TraceCheckUtils]: 14: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-28 11:09:45,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-28 11:09:45,665 INFO L272 TraceCheckUtils]: 12: Hoare triple {9076#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {9076#true} is VALID [2022-04-28 11:09:45,665 INFO L290 TraceCheckUtils]: 11: Hoare triple {9076#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9076#true} is VALID [2022-04-28 11:09:45,665 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9076#true} {9076#true} #61#return; {9076#true} is VALID [2022-04-28 11:09:45,665 INFO L290 TraceCheckUtils]: 9: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-28 11:09:45,665 INFO L290 TraceCheckUtils]: 8: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-28 11:09:45,666 INFO L290 TraceCheckUtils]: 7: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-28 11:09:45,666 INFO L272 TraceCheckUtils]: 6: Hoare triple {9076#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {9076#true} is VALID [2022-04-28 11:09:45,666 INFO L290 TraceCheckUtils]: 5: Hoare triple {9076#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; {9076#true} is VALID [2022-04-28 11:09:45,666 INFO L272 TraceCheckUtils]: 4: Hoare triple {9076#true} call #t~ret8 := main(); {9076#true} is VALID [2022-04-28 11:09:45,666 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9076#true} {9076#true} #69#return; {9076#true} is VALID [2022-04-28 11:09:45,666 INFO L290 TraceCheckUtils]: 2: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-28 11:09:45,666 INFO L290 TraceCheckUtils]: 1: Hoare triple {9076#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); {9076#true} is VALID [2022-04-28 11:09:45,666 INFO L272 TraceCheckUtils]: 0: Hoare triple {9076#true} call ULTIMATE.init(); {9076#true} is VALID [2022-04-28 11:09:45,666 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 11:09:45,666 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:09:45,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [380035912] [2022-04-28 11:09:45,666 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:09:45,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1918979097] [2022-04-28 11:09:45,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1918979097] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:09:45,667 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:09:45,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 11:09:45,667 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:09:45,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [350560221] [2022-04-28 11:09:45,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [350560221] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:09:45,667 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:09:45,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 11:09:45,667 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1194373860] [2022-04-28 11:09:45,667 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:09:45,668 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:09:45,668 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:09:45,668 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:45,695 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:45,695 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 11:09:45,695 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:45,696 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 11:09:45,696 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 11:09:45,696 INFO L87 Difference]: Start difference. First operand 87 states and 97 transitions. Second operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:46,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:46,074 INFO L93 Difference]: Finished difference Result 121 states and 141 transitions. [2022-04-28 11:09:46,074 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 11:09:46,074 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:09:46,075 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:09:46,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:46,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-28 11:09:46,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:46,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-28 11:09:46,076 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 71 transitions. [2022-04-28 11:09:46,137 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:46,139 INFO L225 Difference]: With dead ends: 121 [2022-04-28 11:09:46,139 INFO L226 Difference]: Without dead ends: 108 [2022-04-28 11:09:46,139 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 93 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2022-04-28 11:09:46,139 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 4 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 80 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 82 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 80 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:09:46,140 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [4 Valid, 91 Invalid, 82 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 80 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:09:46,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-28 11:09:46,340 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 104. [2022-04-28 11:09:46,341 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:09:46,341 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:09:46,341 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:09:46,341 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:09:46,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:46,343 INFO L93 Difference]: Finished difference Result 108 states and 124 transitions. [2022-04-28 11:09:46,343 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 124 transitions. [2022-04-28 11:09:46,343 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:46,343 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:46,343 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 108 states. [2022-04-28 11:09:46,344 INFO L87 Difference]: Start difference. First operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 108 states. [2022-04-28 11:09:46,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:46,345 INFO L93 Difference]: Finished difference Result 108 states and 124 transitions. [2022-04-28 11:09:46,345 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 124 transitions. [2022-04-28 11:09:46,346 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:46,346 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:46,346 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:09:46,346 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:09:46,346 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:09:46,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 120 transitions. [2022-04-28 11:09:46,347 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 120 transitions. Word has length 50 [2022-04-28 11:09:46,347 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:09:46,348 INFO L495 AbstractCegarLoop]: Abstraction has 104 states and 120 transitions. [2022-04-28 11:09:46,348 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:46,348 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 104 states and 120 transitions. [2022-04-28 11:09:50,697 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 118 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:50,697 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 120 transitions. [2022-04-28 11:09:50,698 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:09:50,698 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:09:50,698 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:50,713 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 11:09:50,898 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:09:50,898 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:09:50,899 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:09:50,899 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 11 times [2022-04-28 11:09:50,899 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:50,899 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1962714266] [2022-04-28 11:09:50,899 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:09:50,899 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 12 times [2022-04-28 11:09:50,899 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:09:50,899 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [305093119] [2022-04-28 11:09:50,900 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:09:50,900 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:09:50,909 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:09:50,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1864345793] [2022-04-28 11:09:50,909 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:09:50,909 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:09:50,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:09:50,910 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:09:50,911 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 11:09:50,952 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 11:09:50,952 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:09:50,953 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 11:09:50,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:09:50,962 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:09:51,503 INFO L272 TraceCheckUtils]: 0: Hoare triple {10051#true} call ULTIMATE.init(); {10051#true} is VALID [2022-04-28 11:09:51,503 INFO L290 TraceCheckUtils]: 1: Hoare triple {10051#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); {10051#true} is VALID [2022-04-28 11:09:51,503 INFO L290 TraceCheckUtils]: 2: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-28 11:09:51,503 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10051#true} {10051#true} #69#return; {10051#true} is VALID [2022-04-28 11:09:51,503 INFO L272 TraceCheckUtils]: 4: Hoare triple {10051#true} call #t~ret8 := main(); {10051#true} is VALID [2022-04-28 11:09:51,504 INFO L290 TraceCheckUtils]: 5: Hoare triple {10051#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; {10051#true} is VALID [2022-04-28 11:09:51,504 INFO L272 TraceCheckUtils]: 6: Hoare triple {10051#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {10051#true} is VALID [2022-04-28 11:09:51,504 INFO L290 TraceCheckUtils]: 7: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-28 11:09:51,504 INFO L290 TraceCheckUtils]: 8: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-28 11:09:51,504 INFO L290 TraceCheckUtils]: 9: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-28 11:09:51,504 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10051#true} {10051#true} #61#return; {10051#true} is VALID [2022-04-28 11:09:51,504 INFO L290 TraceCheckUtils]: 11: Hoare triple {10051#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10051#true} is VALID [2022-04-28 11:09:51,504 INFO L272 TraceCheckUtils]: 12: Hoare triple {10051#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {10051#true} is VALID [2022-04-28 11:09:51,504 INFO L290 TraceCheckUtils]: 13: Hoare triple {10051#true} ~cond := #in~cond; {10095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:09:51,505 INFO L290 TraceCheckUtils]: 14: Hoare triple {10095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:09:51,505 INFO L290 TraceCheckUtils]: 15: Hoare triple {10099#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:09:51,505 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10099#(not (= |assume_abort_if_not_#in~cond| 0))} {10051#true} #63#return; {10106#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:09:51,506 INFO L290 TraceCheckUtils]: 17: Hoare triple {10106#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10110#(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 100))} is VALID [2022-04-28 11:09:51,506 INFO L290 TraceCheckUtils]: 18: Hoare triple {10110#(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 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10110#(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 100))} is VALID [2022-04-28 11:09:51,506 INFO L272 TraceCheckUtils]: 19: Hoare triple {10110#(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 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10051#true} is VALID [2022-04-28 11:09:51,506 INFO L290 TraceCheckUtils]: 20: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-28 11:09:51,506 INFO L290 TraceCheckUtils]: 21: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-28 11:09:51,506 INFO L290 TraceCheckUtils]: 22: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-28 11:09:51,507 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10051#true} {10110#(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 100))} #65#return; {10110#(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 100))} is VALID [2022-04-28 11:09:51,507 INFO L290 TraceCheckUtils]: 24: Hoare triple {10110#(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 100))} assume !!(~x~0 <= ~X~0); {10110#(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 100))} is VALID [2022-04-28 11:09:51,508 INFO L290 TraceCheckUtils]: 25: Hoare triple {10110#(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 100))} 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; {10135#(and (= main_~x~0 0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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:09:51,508 INFO L290 TraceCheckUtils]: 26: Hoare triple {10135#(and (= main_~x~0 0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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; {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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:09:51,509 INFO L290 TraceCheckUtils]: 27: Hoare triple {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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; {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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:09:51,509 INFO L272 TraceCheckUtils]: 28: Hoare triple {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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)); {10051#true} is VALID [2022-04-28 11:09:51,509 INFO L290 TraceCheckUtils]: 29: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-28 11:09:51,509 INFO L290 TraceCheckUtils]: 30: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-28 11:09:51,509 INFO L290 TraceCheckUtils]: 31: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-28 11:09:51,510 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10051#true} {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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:09:51,510 INFO L290 TraceCheckUtils]: 33: Hoare triple {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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:09:51,511 INFO L290 TraceCheckUtils]: 34: Hoare triple {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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; {10164#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:09:51,511 INFO L290 TraceCheckUtils]: 35: Hoare triple {10164#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:09:51,514 INFO L290 TraceCheckUtils]: 36: Hoare triple {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:09:51,514 INFO L272 TraceCheckUtils]: 37: Hoare triple {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10051#true} is VALID [2022-04-28 11:09:51,514 INFO L290 TraceCheckUtils]: 38: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-28 11:09:51,514 INFO L290 TraceCheckUtils]: 39: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-28 11:09:51,514 INFO L290 TraceCheckUtils]: 40: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-28 11:09:51,515 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10051#true} {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} #65#return; {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:09:51,515 INFO L290 TraceCheckUtils]: 42: Hoare triple {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:09:51,516 INFO L290 TraceCheckUtils]: 43: Hoare triple {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} 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; {10193#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~y~0) 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:09:51,516 INFO L290 TraceCheckUtils]: 44: Hoare triple {10193#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~y~0) 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10197#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~x~0 3) (= (+ (- 1) main_~y~0) 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:09:51,517 INFO L290 TraceCheckUtils]: 45: Hoare triple {10197#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~x~0 3) (= (+ (- 1) main_~y~0) 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ 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; {10201#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:09:51,518 INFO L272 TraceCheckUtils]: 46: Hoare triple {10201#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ 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)); {10205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:09:51,518 INFO L290 TraceCheckUtils]: 47: Hoare triple {10205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:51,518 INFO L290 TraceCheckUtils]: 48: Hoare triple {10209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10052#false} is VALID [2022-04-28 11:09:51,518 INFO L290 TraceCheckUtils]: 49: Hoare triple {10052#false} assume !false; {10052#false} is VALID [2022-04-28 11:09:51,519 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 9 proven. 21 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 11:09:51,519 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:09:52,087 INFO L290 TraceCheckUtils]: 49: Hoare triple {10052#false} assume !false; {10052#false} is VALID [2022-04-28 11:09:52,087 INFO L290 TraceCheckUtils]: 48: Hoare triple {10209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10052#false} is VALID [2022-04-28 11:09:52,087 INFO L290 TraceCheckUtils]: 47: Hoare triple {10205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:09:52,088 INFO L272 TraceCheckUtils]: 46: Hoare triple {10225#(= (+ (* 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)); {10205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:09:52,089 INFO L290 TraceCheckUtils]: 45: Hoare triple {10229#(= (+ (* 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; {10225#(= (+ (* 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:52,091 INFO L290 TraceCheckUtils]: 44: Hoare triple {10233#(= (+ (* (* 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; {10229#(= (+ (* 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:52,092 INFO L290 TraceCheckUtils]: 43: Hoare triple {10229#(= (+ (* 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; {10233#(= (+ (* (* 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:52,092 INFO L290 TraceCheckUtils]: 42: Hoare triple {10229#(= (+ (* 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 !!(~x~0 <= ~X~0); {10229#(= (+ (* 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:52,093 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10051#true} {10229#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {10229#(= (+ (* 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:52,093 INFO L290 TraceCheckUtils]: 40: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-28 11:09:52,093 INFO L290 TraceCheckUtils]: 39: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-28 11:09:52,093 INFO L290 TraceCheckUtils]: 38: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-28 11:09:52,093 INFO L272 TraceCheckUtils]: 37: Hoare triple {10229#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10051#true} is VALID [2022-04-28 11:09:52,094 INFO L290 TraceCheckUtils]: 36: Hoare triple {10229#(= (+ (* 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; {10229#(= (+ (* 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:52,095 INFO L290 TraceCheckUtils]: 35: Hoare triple {10233#(= (+ (* (* 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; {10229#(= (+ (* 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:52,096 INFO L290 TraceCheckUtils]: 34: Hoare triple {10264#(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; {10233#(= (+ (* (* 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:52,096 INFO L290 TraceCheckUtils]: 33: Hoare triple {10264#(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); {10264#(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:52,097 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10051#true} {10264#(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)))))} #65#return; {10264#(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:52,097 INFO L290 TraceCheckUtils]: 31: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-28 11:09:52,097 INFO L290 TraceCheckUtils]: 30: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-28 11:09:52,097 INFO L290 TraceCheckUtils]: 29: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-28 11:09:52,097 INFO L272 TraceCheckUtils]: 28: Hoare triple {10264#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10051#true} is VALID [2022-04-28 11:09:52,097 INFO L290 TraceCheckUtils]: 27: Hoare triple {10264#(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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10264#(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:52,099 INFO L290 TraceCheckUtils]: 26: Hoare triple {10289#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10264#(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:52,101 INFO L290 TraceCheckUtils]: 25: Hoare triple {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~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; {10289#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 11:09:52,101 INFO L290 TraceCheckUtils]: 24: Hoare triple {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} assume !!(~x~0 <= ~X~0); {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-28 11:09:52,102 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10051#true} {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} #65#return; {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-28 11:09:52,102 INFO L290 TraceCheckUtils]: 22: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-28 11:09:52,102 INFO L290 TraceCheckUtils]: 21: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-28 11:09:52,102 INFO L290 TraceCheckUtils]: 20: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-28 11:09:52,102 INFO L272 TraceCheckUtils]: 19: Hoare triple {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* 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)); {10051#true} is VALID [2022-04-28 11:09:52,102 INFO L290 TraceCheckUtils]: 18: Hoare triple {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-28 11:09:52,103 INFO L290 TraceCheckUtils]: 17: Hoare triple {10051#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-28 11:09:52,103 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10051#true} {10051#true} #63#return; {10051#true} is VALID [2022-04-28 11:09:52,103 INFO L290 TraceCheckUtils]: 15: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-28 11:09:52,103 INFO L290 TraceCheckUtils]: 14: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-28 11:09:52,103 INFO L290 TraceCheckUtils]: 13: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-28 11:09:52,103 INFO L272 TraceCheckUtils]: 12: Hoare triple {10051#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {10051#true} is VALID [2022-04-28 11:09:52,103 INFO L290 TraceCheckUtils]: 11: Hoare triple {10051#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10051#true} is VALID [2022-04-28 11:09:52,103 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10051#true} {10051#true} #61#return; {10051#true} is VALID [2022-04-28 11:09:52,103 INFO L290 TraceCheckUtils]: 9: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-28 11:09:52,104 INFO L290 TraceCheckUtils]: 8: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-28 11:09:52,104 INFO L290 TraceCheckUtils]: 7: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-28 11:09:52,104 INFO L272 TraceCheckUtils]: 6: Hoare triple {10051#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {10051#true} is VALID [2022-04-28 11:09:52,104 INFO L290 TraceCheckUtils]: 5: Hoare triple {10051#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; {10051#true} is VALID [2022-04-28 11:09:52,104 INFO L272 TraceCheckUtils]: 4: Hoare triple {10051#true} call #t~ret8 := main(); {10051#true} is VALID [2022-04-28 11:09:52,104 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10051#true} {10051#true} #69#return; {10051#true} is VALID [2022-04-28 11:09:52,104 INFO L290 TraceCheckUtils]: 2: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-28 11:09:52,104 INFO L290 TraceCheckUtils]: 1: Hoare triple {10051#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); {10051#true} is VALID [2022-04-28 11:09:52,104 INFO L272 TraceCheckUtils]: 0: Hoare triple {10051#true} call ULTIMATE.init(); {10051#true} is VALID [2022-04-28 11:09:52,104 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 18 proven. 7 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 11:09:52,104 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:09:52,105 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [305093119] [2022-04-28 11:09:52,105 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:09:52,105 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1864345793] [2022-04-28 11:09:52,105 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1864345793] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:09:52,105 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:09:52,105 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 10] total 21 [2022-04-28 11:09:52,105 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:09:52,105 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1962714266] [2022-04-28 11:09:52,105 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1962714266] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:09:52,105 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:09:52,105 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 11:09:52,105 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [778271587] [2022-04-28 11:09:52,105 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:09:52,106 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:09:52,106 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:09:52,106 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:52,140 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:09:52,140 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 11:09:52,140 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:52,141 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 11:09:52,141 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=351, Unknown=0, NotChecked=0, Total=420 [2022-04-28 11:09:52,141 INFO L87 Difference]: Start difference. First operand 104 states and 120 transitions. Second operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:53,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:53,188 INFO L93 Difference]: Finished difference Result 117 states and 135 transitions. [2022-04-28 11:09:53,188 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 11:09:53,188 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:09:53,188 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:09:53,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:53,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-28 11:09:53,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:53,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-28 11:09:53,190 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 64 transitions. [2022-04-28 11:09:53,256 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:53,257 INFO L225 Difference]: With dead ends: 117 [2022-04-28 11:09:53,257 INFO L226 Difference]: Without dead ends: 115 [2022-04-28 11:09:53,257 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 78 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 112 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=86, Invalid=466, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:09:53,258 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 22 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 424 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 432 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 424 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 11:09:53,258 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 148 Invalid, 432 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 424 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 11:09:53,258 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-04-28 11:09:53,467 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 111. [2022-04-28 11:09:53,467 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:09:53,467 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:53,467 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:53,467 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:53,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:53,469 INFO L93 Difference]: Finished difference Result 115 states and 133 transitions. [2022-04-28 11:09:53,469 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 133 transitions. [2022-04-28 11:09:53,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:53,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:53,470 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) Second operand 115 states. [2022-04-28 11:09:53,470 INFO L87 Difference]: Start difference. First operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) Second operand 115 states. [2022-04-28 11:09:53,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:09:53,472 INFO L93 Difference]: Finished difference Result 115 states and 133 transitions. [2022-04-28 11:09:53,472 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 133 transitions. [2022-04-28 11:09:53,472 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:09:53,472 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:09:53,472 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:09:53,472 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:09:53,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:09:53,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 127 transitions. [2022-04-28 11:09:53,474 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 127 transitions. Word has length 50 [2022-04-28 11:09:53,474 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:09:53,474 INFO L495 AbstractCegarLoop]: Abstraction has 111 states and 127 transitions. [2022-04-28 11:09:53,478 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:09:53,478 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 111 states and 127 transitions. [2022-04-28 11:09:57,792 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 125 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:09:57,792 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 127 transitions. [2022-04-28 11:09:57,792 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:09:57,792 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:09:57,792 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:57,811 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 11:09:58,011 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 11:09:58,013 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:09:58,013 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:09:58,013 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 13 times [2022-04-28 11:09:58,013 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:09:58,013 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2098355728] [2022-04-28 11:09:58,014 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:09:58,014 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 14 times [2022-04-28 11:09:58,014 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:09:58,014 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1364998736] [2022-04-28 11:09:58,014 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:09:58,014 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:09:58,022 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:09:58,022 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1555101629] [2022-04-28 11:09:58,022 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:09:58,023 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:09:58,023 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:09:58,023 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:09:58,024 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 11:09:58,064 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:09:58,064 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:09:58,065 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 11:09:58,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:09:58,075 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:10:14,293 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:10:23,145 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:10:29,169 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:10:29,479 INFO L272 TraceCheckUtils]: 0: Hoare triple {11063#true} call ULTIMATE.init(); {11063#true} is VALID [2022-04-28 11:10:29,479 INFO L290 TraceCheckUtils]: 1: Hoare triple {11063#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); {11063#true} is VALID [2022-04-28 11:10:29,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-28 11:10:29,480 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11063#true} {11063#true} #69#return; {11063#true} is VALID [2022-04-28 11:10:29,480 INFO L272 TraceCheckUtils]: 4: Hoare triple {11063#true} call #t~ret8 := main(); {11063#true} is VALID [2022-04-28 11:10:29,480 INFO L290 TraceCheckUtils]: 5: Hoare triple {11063#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; {11063#true} is VALID [2022-04-28 11:10:29,480 INFO L272 TraceCheckUtils]: 6: Hoare triple {11063#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {11063#true} is VALID [2022-04-28 11:10:29,480 INFO L290 TraceCheckUtils]: 7: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-28 11:10:29,480 INFO L290 TraceCheckUtils]: 8: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-28 11:10:29,480 INFO L290 TraceCheckUtils]: 9: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-28 11:10:29,480 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11063#true} {11063#true} #61#return; {11063#true} is VALID [2022-04-28 11:10:29,480 INFO L290 TraceCheckUtils]: 11: Hoare triple {11063#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11063#true} is VALID [2022-04-28 11:10:29,480 INFO L272 TraceCheckUtils]: 12: Hoare triple {11063#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {11063#true} is VALID [2022-04-28 11:10:29,480 INFO L290 TraceCheckUtils]: 13: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-28 11:10:29,480 INFO L290 TraceCheckUtils]: 14: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-28 11:10:29,481 INFO L290 TraceCheckUtils]: 15: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-28 11:10:29,481 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11063#true} {11063#true} #63#return; {11063#true} is VALID [2022-04-28 11:10:29,481 INFO L290 TraceCheckUtils]: 17: Hoare triple {11063#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:10:29,481 INFO L290 TraceCheckUtils]: 18: Hoare triple {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:10:29,481 INFO L272 TraceCheckUtils]: 19: Hoare triple {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11063#true} is VALID [2022-04-28 11:10:29,482 INFO L290 TraceCheckUtils]: 20: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-28 11:10:29,482 INFO L290 TraceCheckUtils]: 21: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-28 11:10:29,482 INFO L290 TraceCheckUtils]: 22: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-28 11:10:29,482 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11063#true} {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:10:29,483 INFO L290 TraceCheckUtils]: 24: Hoare triple {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:10:29,483 INFO L290 TraceCheckUtils]: 25: Hoare triple {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) 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; {11144#(and (= main_~x~0 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:29,484 INFO L290 TraceCheckUtils]: 26: Hoare triple {11144#(and (= main_~x~0 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; {11148#(and (= (+ (- 1) main_~x~0) 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:29,484 INFO L290 TraceCheckUtils]: 27: Hoare triple {11148#(and (= (+ (- 1) main_~x~0) 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; {11148#(and (= (+ (- 1) main_~x~0) 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:29,484 INFO L272 TraceCheckUtils]: 28: Hoare triple {11148#(and (= (+ (- 1) main_~x~0) 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)); {11063#true} is VALID [2022-04-28 11:10:29,484 INFO L290 TraceCheckUtils]: 29: Hoare triple {11063#true} ~cond := #in~cond; {11158#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:10:29,485 INFO L290 TraceCheckUtils]: 30: Hoare triple {11158#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:29,485 INFO L290 TraceCheckUtils]: 31: Hoare triple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:29,485 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {11148#(and (= (+ (- 1) main_~x~0) 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:29,486 INFO L290 TraceCheckUtils]: 33: Hoare triple {11148#(and (= (+ (- 1) main_~x~0) 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); {11148#(and (= (+ (- 1) main_~x~0) 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:29,487 INFO L290 TraceCheckUtils]: 34: Hoare triple {11148#(and (= (+ (- 1) main_~x~0) 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 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11175#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} is VALID [2022-04-28 11:10:29,487 INFO L290 TraceCheckUtils]: 35: Hoare triple {11175#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11179#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} is VALID [2022-04-28 11:10:29,488 INFO L290 TraceCheckUtils]: 36: Hoare triple {11179#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11183#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:10:29,488 INFO L272 TraceCheckUtils]: 37: Hoare triple {11183#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= (* 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)); {11063#true} is VALID [2022-04-28 11:10:29,488 INFO L290 TraceCheckUtils]: 38: Hoare triple {11063#true} ~cond := #in~cond; {11158#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:10:29,488 INFO L290 TraceCheckUtils]: 39: Hoare triple {11158#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:29,489 INFO L290 TraceCheckUtils]: 40: Hoare triple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:29,490 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} {11183#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {11199#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 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)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} is VALID [2022-04-28 11:10:29,491 INFO L290 TraceCheckUtils]: 42: Hoare triple {11199#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 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)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} assume !!(~x~0 <= ~X~0); {11199#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 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)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} is VALID [2022-04-28 11:10:29,492 INFO L290 TraceCheckUtils]: 43: Hoare triple {11199#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 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)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11206#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (< (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} is VALID [2022-04-28 11:10:29,493 INFO L290 TraceCheckUtils]: 44: Hoare triple {11206#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (< (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11210#(and (= (+ main_~x~0 (- 3)) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (< (* 2 (* main_~Y~0 main_~x~0)) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} is VALID [2022-04-28 11:10:29,495 INFO L290 TraceCheckUtils]: 45: Hoare triple {11210#(and (= (+ main_~x~0 (- 3)) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (< (* 2 (* main_~Y~0 main_~x~0)) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11214#(and (= (* main_~Y~0 3) main_~yx~0) (= (* main_~Y~0 8) (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) main_~X~0 main_~v~0)) (= (* (div (* main_~X~0 2) main_~X~0) main_~X~0) main_~xy~0) (< (* main_~Y~0 6) (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) main_~X~0)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} is VALID [2022-04-28 11:10:29,496 INFO L272 TraceCheckUtils]: 46: Hoare triple {11214#(and (= (* main_~Y~0 3) main_~yx~0) (= (* main_~Y~0 8) (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) main_~X~0 main_~v~0)) (= (* (div (* main_~X~0 2) main_~X~0) main_~X~0) main_~xy~0) (< (* main_~Y~0 6) (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) main_~X~0)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11218#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:10:29,496 INFO L290 TraceCheckUtils]: 47: Hoare triple {11218#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11222#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:10:29,497 INFO L290 TraceCheckUtils]: 48: Hoare triple {11222#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11064#false} is VALID [2022-04-28 11:10:29,497 INFO L290 TraceCheckUtils]: 49: Hoare triple {11064#false} assume !false; {11064#false} is VALID [2022-04-28 11:10:29,497 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:10:29,497 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:10:32,183 INFO L290 TraceCheckUtils]: 49: Hoare triple {11064#false} assume !false; {11064#false} is VALID [2022-04-28 11:10:32,183 INFO L290 TraceCheckUtils]: 48: Hoare triple {11222#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11064#false} is VALID [2022-04-28 11:10:32,183 INFO L290 TraceCheckUtils]: 47: Hoare triple {11218#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11222#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:10:32,184 INFO L272 TraceCheckUtils]: 46: Hoare triple {11238#(= (+ (* 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)); {11218#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:10:32,185 INFO L290 TraceCheckUtils]: 45: Hoare triple {11242#(= (+ (* 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; {11238#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:10:32,187 INFO L290 TraceCheckUtils]: 44: Hoare triple {11246#(= (+ (* (* 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; {11242#(= (+ (* 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:10:32,187 INFO L290 TraceCheckUtils]: 43: Hoare triple {11250#(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; {11246#(= (+ (* (* 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:10:32,188 INFO L290 TraceCheckUtils]: 42: Hoare triple {11250#(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); {11250#(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:10:32,189 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} {11257#(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; {11250#(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:10:32,189 INFO L290 TraceCheckUtils]: 40: Hoare triple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:32,189 INFO L290 TraceCheckUtils]: 39: Hoare triple {11267#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:32,190 INFO L290 TraceCheckUtils]: 38: Hoare triple {11063#true} ~cond := #in~cond; {11267#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:10:32,190 INFO L272 TraceCheckUtils]: 37: Hoare triple {11257#(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)); {11063#true} is VALID [2022-04-28 11:10:32,191 INFO L290 TraceCheckUtils]: 36: Hoare triple {11063#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11257#(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:10:32,191 INFO L290 TraceCheckUtils]: 35: Hoare triple {11063#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11063#true} is VALID [2022-04-28 11:10:32,191 INFO L290 TraceCheckUtils]: 34: Hoare triple {11063#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; {11063#true} is VALID [2022-04-28 11:10:32,191 INFO L290 TraceCheckUtils]: 33: Hoare triple {11063#true} assume !!(~x~0 <= ~X~0); {11063#true} is VALID [2022-04-28 11:10:32,191 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11063#true} {11063#true} #65#return; {11063#true} is VALID [2022-04-28 11:10:32,191 INFO L290 TraceCheckUtils]: 31: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-28 11:10:32,191 INFO L290 TraceCheckUtils]: 30: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-28 11:10:32,191 INFO L290 TraceCheckUtils]: 29: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-28 11:10:32,191 INFO L272 TraceCheckUtils]: 28: Hoare triple {11063#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11063#true} is VALID [2022-04-28 11:10:32,191 INFO L290 TraceCheckUtils]: 27: Hoare triple {11063#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11063#true} is VALID [2022-04-28 11:10:32,191 INFO L290 TraceCheckUtils]: 26: Hoare triple {11063#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11063#true} is VALID [2022-04-28 11:10:32,191 INFO L290 TraceCheckUtils]: 25: Hoare triple {11063#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; {11063#true} is VALID [2022-04-28 11:10:32,192 INFO L290 TraceCheckUtils]: 24: Hoare triple {11063#true} assume !!(~x~0 <= ~X~0); {11063#true} is VALID [2022-04-28 11:10:32,192 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11063#true} {11063#true} #65#return; {11063#true} is VALID [2022-04-28 11:10:32,192 INFO L290 TraceCheckUtils]: 22: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-28 11:10:32,192 INFO L290 TraceCheckUtils]: 21: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-28 11:10:32,192 INFO L290 TraceCheckUtils]: 20: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-28 11:10:32,192 INFO L272 TraceCheckUtils]: 19: Hoare triple {11063#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11063#true} is VALID [2022-04-28 11:10:32,192 INFO L290 TraceCheckUtils]: 18: Hoare triple {11063#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11063#true} is VALID [2022-04-28 11:10:32,192 INFO L290 TraceCheckUtils]: 17: Hoare triple {11063#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11063#true} is VALID [2022-04-28 11:10:32,192 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11063#true} {11063#true} #63#return; {11063#true} is VALID [2022-04-28 11:10:32,192 INFO L290 TraceCheckUtils]: 15: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-28 11:10:32,192 INFO L290 TraceCheckUtils]: 14: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-28 11:10:32,192 INFO L290 TraceCheckUtils]: 13: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-28 11:10:32,192 INFO L272 TraceCheckUtils]: 12: Hoare triple {11063#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {11063#true} is VALID [2022-04-28 11:10:32,192 INFO L290 TraceCheckUtils]: 11: Hoare triple {11063#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11063#true} is VALID [2022-04-28 11:10:32,193 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11063#true} {11063#true} #61#return; {11063#true} is VALID [2022-04-28 11:10:32,193 INFO L290 TraceCheckUtils]: 9: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-28 11:10:32,193 INFO L290 TraceCheckUtils]: 8: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-28 11:10:32,193 INFO L290 TraceCheckUtils]: 7: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-28 11:10:32,193 INFO L272 TraceCheckUtils]: 6: Hoare triple {11063#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {11063#true} is VALID [2022-04-28 11:10:32,193 INFO L290 TraceCheckUtils]: 5: Hoare triple {11063#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; {11063#true} is VALID [2022-04-28 11:10:32,193 INFO L272 TraceCheckUtils]: 4: Hoare triple {11063#true} call #t~ret8 := main(); {11063#true} is VALID [2022-04-28 11:10:32,193 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11063#true} {11063#true} #69#return; {11063#true} is VALID [2022-04-28 11:10:32,193 INFO L290 TraceCheckUtils]: 2: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-28 11:10:32,193 INFO L290 TraceCheckUtils]: 1: Hoare triple {11063#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); {11063#true} is VALID [2022-04-28 11:10:32,193 INFO L272 TraceCheckUtils]: 0: Hoare triple {11063#true} call ULTIMATE.init(); {11063#true} is VALID [2022-04-28 11:10:32,193 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:10:32,194 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:10:32,194 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1364998736] [2022-04-28 11:10:32,194 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:10:32,194 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1555101629] [2022-04-28 11:10:32,194 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1555101629] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:10:32,194 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:10:32,194 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 11] total 22 [2022-04-28 11:10:32,194 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:10:32,194 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2098355728] [2022-04-28 11:10:32,194 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2098355728] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:10:32,194 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:10:32,194 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 11:10:32,194 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1575574411] [2022-04-28 11:10:32,194 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:10:32,195 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:10:32,195 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:10:32,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:10:32,235 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:32,235 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 11:10:32,236 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:32,236 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 11:10:32,236 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=399, Unknown=0, NotChecked=0, Total=462 [2022-04-28 11:10:32,236 INFO L87 Difference]: Start difference. First operand 111 states and 127 transitions. Second operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:10:34,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:34,129 INFO L93 Difference]: Finished difference Result 134 states and 156 transitions. [2022-04-28 11:10:34,129 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 11:10:34,129 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:10:34,129 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:10:34,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:10:34,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 77 transitions. [2022-04-28 11:10:34,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:10:34,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 77 transitions. [2022-04-28 11:10:34,131 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 77 transitions. [2022-04-28 11:10:34,227 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:10:34,229 INFO L225 Difference]: With dead ends: 134 [2022-04-28 11:10:34,229 INFO L226 Difference]: Without dead ends: 121 [2022-04-28 11:10:34,229 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 77 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=93, Invalid=557, Unknown=0, NotChecked=0, Total=650 [2022-04-28 11:10:34,229 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 15 mSDsluCounter, 200 mSDsCounter, 0 mSdLazyCounter, 490 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 227 SdHoareTripleChecker+Invalid, 495 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 490 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 11:10:34,230 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 227 Invalid, 495 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 490 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 11:10:34,230 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-28 11:10:34,464 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 121. [2022-04-28 11:10:34,464 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:10:34,464 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:10:34,465 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:10:34,465 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:10:34,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:34,469 INFO L93 Difference]: Finished difference Result 121 states and 138 transitions. [2022-04-28 11:10:34,469 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 138 transitions. [2022-04-28 11:10:34,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:34,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:34,471 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 121 states. [2022-04-28 11:10:34,471 INFO L87 Difference]: Start difference. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 121 states. [2022-04-28 11:10:34,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:34,472 INFO L93 Difference]: Finished difference Result 121 states and 138 transitions. [2022-04-28 11:10:34,473 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 138 transitions. [2022-04-28 11:10:34,473 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:34,473 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:34,473 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:10:34,473 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:10:34,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:10:34,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 138 transitions. [2022-04-28 11:10:34,475 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 138 transitions. Word has length 50 [2022-04-28 11:10:34,475 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:10:34,475 INFO L495 AbstractCegarLoop]: Abstraction has 121 states and 138 transitions. [2022-04-28 11:10:34,475 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:10:34,475 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 138 transitions. [2022-04-28 11:10:38,784 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 136 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:10:38,784 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 138 transitions. [2022-04-28 11:10:38,785 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:10:38,785 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:10:38,785 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:38,802 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 11:10:38,991 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 11:10:38,992 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:10:38,992 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:10:38,992 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 5 times [2022-04-28 11:10:38,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:38,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1366223620] [2022-04-28 11:10:38,992 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:10:38,992 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 6 times [2022-04-28 11:10:38,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:10:38,993 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [870513285] [2022-04-28 11:10:38,993 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:10:38,993 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:10:39,010 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:10:39,010 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [229667829] [2022-04-28 11:10:39,010 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:10:39,010 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:10:39,010 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:10:39,011 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:10:39,012 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 11:10:39,056 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 11:10:39,056 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:10:39,057 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 54 conjunts are in the unsatisfiable core [2022-04-28 11:10:39,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:39,067 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:10:39,713 INFO L272 TraceCheckUtils]: 0: Hoare triple {12144#true} call ULTIMATE.init(); {12144#true} is VALID [2022-04-28 11:10:39,714 INFO L290 TraceCheckUtils]: 1: Hoare triple {12144#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); {12144#true} is VALID [2022-04-28 11:10:39,714 INFO L290 TraceCheckUtils]: 2: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-28 11:10:39,714 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12144#true} {12144#true} #69#return; {12144#true} is VALID [2022-04-28 11:10:39,714 INFO L272 TraceCheckUtils]: 4: Hoare triple {12144#true} call #t~ret8 := main(); {12144#true} is VALID [2022-04-28 11:10:39,714 INFO L290 TraceCheckUtils]: 5: Hoare triple {12144#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; {12144#true} is VALID [2022-04-28 11:10:39,714 INFO L272 TraceCheckUtils]: 6: Hoare triple {12144#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {12144#true} is VALID [2022-04-28 11:10:39,714 INFO L290 TraceCheckUtils]: 7: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-28 11:10:39,714 INFO L290 TraceCheckUtils]: 8: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-28 11:10:39,714 INFO L290 TraceCheckUtils]: 9: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-28 11:10:39,714 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12144#true} {12144#true} #61#return; {12144#true} is VALID [2022-04-28 11:10:39,714 INFO L290 TraceCheckUtils]: 11: Hoare triple {12144#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12144#true} is VALID [2022-04-28 11:10:39,714 INFO L272 TraceCheckUtils]: 12: Hoare triple {12144#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {12144#true} is VALID [2022-04-28 11:10:39,715 INFO L290 TraceCheckUtils]: 13: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-28 11:10:39,715 INFO L290 TraceCheckUtils]: 14: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-28 11:10:39,715 INFO L290 TraceCheckUtils]: 15: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-28 11:10:39,715 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12144#true} {12144#true} #63#return; {12144#true} is VALID [2022-04-28 11:10:39,715 INFO L290 TraceCheckUtils]: 17: Hoare triple {12144#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12200#(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:10:39,716 INFO L290 TraceCheckUtils]: 18: Hoare triple {12200#(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; {12200#(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:10:39,716 INFO L272 TraceCheckUtils]: 19: Hoare triple {12200#(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)); {12144#true} is VALID [2022-04-28 11:10:39,716 INFO L290 TraceCheckUtils]: 20: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-28 11:10:39,716 INFO L290 TraceCheckUtils]: 21: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-28 11:10:39,716 INFO L290 TraceCheckUtils]: 22: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-28 11:10:39,717 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12144#true} {12200#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {12200#(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:10:39,717 INFO L290 TraceCheckUtils]: 24: Hoare triple {12200#(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); {12200#(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:10:39,718 INFO L290 TraceCheckUtils]: 25: Hoare triple {12200#(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; {12225#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:10:39,718 INFO L290 TraceCheckUtils]: 26: Hoare triple {12225#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12229#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:10:39,719 INFO L290 TraceCheckUtils]: 27: Hoare triple {12229#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= 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; {12233#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:10:39,719 INFO L272 TraceCheckUtils]: 28: Hoare triple {12233#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* 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)); {12144#true} is VALID [2022-04-28 11:10:39,719 INFO L290 TraceCheckUtils]: 29: Hoare triple {12144#true} ~cond := #in~cond; {12240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:10:39,719 INFO L290 TraceCheckUtils]: 30: Hoare triple {12240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:39,719 INFO L290 TraceCheckUtils]: 31: Hoare triple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:39,720 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} {12233#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {12229#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:10:39,721 INFO L290 TraceCheckUtils]: 33: Hoare triple {12229#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {12254#(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))))} is VALID [2022-04-28 11:10:39,730 INFO L290 TraceCheckUtils]: 34: Hoare triple {12254#(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))))} 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; {12258#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0))} is VALID [2022-04-28 11:10:39,731 INFO L290 TraceCheckUtils]: 35: Hoare triple {12258#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:10:39,731 INFO L290 TraceCheckUtils]: 36: Hoare triple {12262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12266#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 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:10:39,732 INFO L272 TraceCheckUtils]: 37: Hoare triple {12266#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 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)); {12144#true} is VALID [2022-04-28 11:10:39,732 INFO L290 TraceCheckUtils]: 38: Hoare triple {12144#true} ~cond := #in~cond; {12240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:10:39,732 INFO L290 TraceCheckUtils]: 39: Hoare triple {12240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:39,732 INFO L290 TraceCheckUtils]: 40: Hoare triple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:39,733 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} {12266#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 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; {12262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:10:39,734 INFO L290 TraceCheckUtils]: 42: Hoare triple {12262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(~x~0 <= ~X~0); {12262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:10:39,734 INFO L290 TraceCheckUtils]: 43: Hoare triple {12262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 (+ 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; {12288#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= main_~y~0 3) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:10:39,735 INFO L290 TraceCheckUtils]: 44: Hoare triple {12288#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= main_~y~0 3) (<= main_~x~0 (+ main_~X~0 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12292#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 3) (<= main_~x~0 (+ main_~X~0 2)))} is VALID [2022-04-28 11:10:39,735 INFO L290 TraceCheckUtils]: 45: Hoare triple {12292#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 3) (<= main_~x~0 (+ main_~X~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12296#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~Y~0 3) main_~yx~0) (= main_~xy~0 (* main_~X~0 3)) (<= 1 main_~X~0))} is VALID [2022-04-28 11:10:39,736 INFO L272 TraceCheckUtils]: 46: Hoare triple {12296#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~Y~0 3) main_~yx~0) (= main_~xy~0 (* main_~X~0 3)) (<= 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)); {12300#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:10:39,736 INFO L290 TraceCheckUtils]: 47: Hoare triple {12300#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12304#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:10:39,737 INFO L290 TraceCheckUtils]: 48: Hoare triple {12304#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12145#false} is VALID [2022-04-28 11:10:39,737 INFO L290 TraceCheckUtils]: 49: Hoare triple {12145#false} assume !false; {12145#false} is VALID [2022-04-28 11:10:39,737 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:10:39,737 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:10:45,882 INFO L290 TraceCheckUtils]: 49: Hoare triple {12145#false} assume !false; {12145#false} is VALID [2022-04-28 11:10:45,883 INFO L290 TraceCheckUtils]: 48: Hoare triple {12304#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12145#false} is VALID [2022-04-28 11:10:45,883 INFO L290 TraceCheckUtils]: 47: Hoare triple {12300#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12304#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:10:45,884 INFO L272 TraceCheckUtils]: 46: Hoare triple {12320#(= (+ (* 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)); {12300#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:10:45,884 INFO L290 TraceCheckUtils]: 45: Hoare triple {12324#(= (+ (* 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; {12320#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:10:45,886 INFO L290 TraceCheckUtils]: 44: Hoare triple {12328#(= (+ (* (* 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; {12324#(= (+ (* 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:10:45,888 INFO L290 TraceCheckUtils]: 43: Hoare triple {12324#(= (+ (* 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; {12328#(= (+ (* (* 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:10:45,888 INFO L290 TraceCheckUtils]: 42: Hoare triple {12324#(= (+ (* 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 !!(~x~0 <= ~X~0); {12324#(= (+ (* 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:10:45,889 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} {12338#(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)))))} #65#return; {12324#(= (+ (* 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:10:45,889 INFO L290 TraceCheckUtils]: 40: Hoare triple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:45,890 INFO L290 TraceCheckUtils]: 39: Hoare triple {12348#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:10:45,890 INFO L290 TraceCheckUtils]: 38: Hoare triple {12144#true} ~cond := #in~cond; {12348#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:10:45,890 INFO L272 TraceCheckUtils]: 37: Hoare triple {12338#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12144#true} is VALID [2022-04-28 11:10:45,891 INFO L290 TraceCheckUtils]: 36: Hoare triple {12144#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12338#(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)))))} is VALID [2022-04-28 11:10:45,891 INFO L290 TraceCheckUtils]: 35: Hoare triple {12144#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12144#true} is VALID [2022-04-28 11:10:45,891 INFO L290 TraceCheckUtils]: 34: Hoare triple {12144#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; {12144#true} is VALID [2022-04-28 11:10:45,891 INFO L290 TraceCheckUtils]: 33: Hoare triple {12144#true} assume !!(~x~0 <= ~X~0); {12144#true} is VALID [2022-04-28 11:10:45,891 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12144#true} {12144#true} #65#return; {12144#true} is VALID [2022-04-28 11:10:45,891 INFO L290 TraceCheckUtils]: 31: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-28 11:10:45,891 INFO L290 TraceCheckUtils]: 30: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-28 11:10:45,891 INFO L290 TraceCheckUtils]: 29: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-28 11:10:45,891 INFO L272 TraceCheckUtils]: 28: Hoare triple {12144#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12144#true} is VALID [2022-04-28 11:10:45,891 INFO L290 TraceCheckUtils]: 27: Hoare triple {12144#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12144#true} is VALID [2022-04-28 11:10:45,891 INFO L290 TraceCheckUtils]: 26: Hoare triple {12144#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12144#true} is VALID [2022-04-28 11:10:45,891 INFO L290 TraceCheckUtils]: 25: Hoare triple {12144#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; {12144#true} is VALID [2022-04-28 11:10:45,892 INFO L290 TraceCheckUtils]: 24: Hoare triple {12144#true} assume !!(~x~0 <= ~X~0); {12144#true} is VALID [2022-04-28 11:10:45,892 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12144#true} {12144#true} #65#return; {12144#true} is VALID [2022-04-28 11:10:45,892 INFO L290 TraceCheckUtils]: 22: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-28 11:10:45,892 INFO L290 TraceCheckUtils]: 21: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-28 11:10:45,892 INFO L290 TraceCheckUtils]: 20: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-28 11:10:45,892 INFO L272 TraceCheckUtils]: 19: Hoare triple {12144#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12144#true} is VALID [2022-04-28 11:10:45,892 INFO L290 TraceCheckUtils]: 18: Hoare triple {12144#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12144#true} is VALID [2022-04-28 11:10:45,892 INFO L290 TraceCheckUtils]: 17: Hoare triple {12144#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12144#true} is VALID [2022-04-28 11:10:45,892 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12144#true} {12144#true} #63#return; {12144#true} is VALID [2022-04-28 11:10:45,892 INFO L290 TraceCheckUtils]: 15: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-28 11:10:45,892 INFO L290 TraceCheckUtils]: 14: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-28 11:10:45,892 INFO L290 TraceCheckUtils]: 13: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-28 11:10:45,892 INFO L272 TraceCheckUtils]: 12: Hoare triple {12144#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {12144#true} is VALID [2022-04-28 11:10:45,892 INFO L290 TraceCheckUtils]: 11: Hoare triple {12144#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12144#true} is VALID [2022-04-28 11:10:45,892 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12144#true} {12144#true} #61#return; {12144#true} is VALID [2022-04-28 11:10:45,893 INFO L290 TraceCheckUtils]: 9: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-28 11:10:45,893 INFO L290 TraceCheckUtils]: 8: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-28 11:10:45,893 INFO L290 TraceCheckUtils]: 7: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-28 11:10:45,893 INFO L272 TraceCheckUtils]: 6: Hoare triple {12144#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {12144#true} is VALID [2022-04-28 11:10:45,893 INFO L290 TraceCheckUtils]: 5: Hoare triple {12144#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; {12144#true} is VALID [2022-04-28 11:10:45,893 INFO L272 TraceCheckUtils]: 4: Hoare triple {12144#true} call #t~ret8 := main(); {12144#true} is VALID [2022-04-28 11:10:45,893 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12144#true} {12144#true} #69#return; {12144#true} is VALID [2022-04-28 11:10:45,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-28 11:10:45,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {12144#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); {12144#true} is VALID [2022-04-28 11:10:45,893 INFO L272 TraceCheckUtils]: 0: Hoare triple {12144#true} call ULTIMATE.init(); {12144#true} is VALID [2022-04-28 11:10:45,893 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:10:45,893 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:10:45,894 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [870513285] [2022-04-28 11:10:45,894 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:10:45,894 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [229667829] [2022-04-28 11:10:45,894 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [229667829] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:10:45,894 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:10:45,894 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 10] total 22 [2022-04-28 11:10:45,894 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:10:45,894 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1366223620] [2022-04-28 11:10:45,894 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1366223620] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:10:45,894 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:10:45,894 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 11:10:45,894 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1161248040] [2022-04-28 11:10:45,894 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:10:45,895 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:10:45,895 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:10:45,895 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:10:45,931 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:45,932 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 11:10:45,932 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:45,932 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 11:10:45,932 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=393, Unknown=0, NotChecked=0, Total=462 [2022-04-28 11:10:45,932 INFO L87 Difference]: Start difference. First operand 121 states and 138 transitions. Second operand has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:10:47,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:47,297 INFO L93 Difference]: Finished difference Result 142 states and 159 transitions. [2022-04-28 11:10:47,297 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 11:10:47,298 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:10:47,298 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:10:47,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:10:47,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-28 11:10:47,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:10:47,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-28 11:10:47,299 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 65 transitions. [2022-04-28 11:10:47,361 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:10:47,363 INFO L225 Difference]: With dead ends: 142 [2022-04-28 11:10:47,363 INFO L226 Difference]: Without dead ends: 140 [2022-04-28 11:10:47,364 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 75 SyntacticMatches, 4 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 94 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=97, Invalid=553, Unknown=0, NotChecked=0, Total=650 [2022-04-28 11:10:47,364 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 20 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 502 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 510 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 502 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 11:10:47,364 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 214 Invalid, 510 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 502 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 11:10:47,365 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2022-04-28 11:10:47,611 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 129. [2022-04-28 11:10:47,611 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:10:47,625 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:10:47,625 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:10:47,626 INFO L87 Difference]: Start difference. First operand 140 states. Second operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:10:47,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:47,628 INFO L93 Difference]: Finished difference Result 140 states and 157 transitions. [2022-04-28 11:10:47,628 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 157 transitions. [2022-04-28 11:10:47,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:47,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:47,628 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 140 states. [2022-04-28 11:10:47,628 INFO L87 Difference]: Start difference. First operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 140 states. [2022-04-28 11:10:47,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:47,630 INFO L93 Difference]: Finished difference Result 140 states and 157 transitions. [2022-04-28 11:10:47,630 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 157 transitions. [2022-04-28 11:10:47,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:47,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:47,630 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:10:47,631 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:10:47,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:10:47,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 144 transitions. [2022-04-28 11:10:47,632 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 144 transitions. Word has length 50 [2022-04-28 11:10:47,632 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:10:47,633 INFO L495 AbstractCegarLoop]: Abstraction has 129 states and 144 transitions. [2022-04-28 11:10:47,633 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:10:47,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 144 transitions. [2022-04-28 11:10:51,945 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 142 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:10:51,945 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 144 transitions. [2022-04-28 11:10:51,946 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 11:10:51,946 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:10:51,946 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:10:51,964 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 11:10:52,152 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 11:10:52,153 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:10:52,153 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:10:52,153 INFO L85 PathProgramCache]: Analyzing trace with hash 850213676, now seen corresponding path program 3 times [2022-04-28 11:10:52,153 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:52,153 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [968708829] [2022-04-28 11:10:52,154 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:10:52,154 INFO L85 PathProgramCache]: Analyzing trace with hash 850213676, now seen corresponding path program 4 times [2022-04-28 11:10:52,154 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:10:52,154 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [514742296] [2022-04-28 11:10:52,154 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:10:52,154 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:10:52,166 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:10:52,167 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [561433081] [2022-04-28 11:10:52,167 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:10:52,167 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:10:52,167 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:10:52,168 INFO L229 MonitoredProcess]: Starting monitored process 19 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:52,169 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 11:10:52,209 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:10:52,209 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:10:52,209 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 11:10:52,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:52,220 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:10:52,955 INFO L272 TraceCheckUtils]: 0: Hoare triple {13295#true} call ULTIMATE.init(); {13295#true} is VALID [2022-04-28 11:10:52,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {13295#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); {13295#true} is VALID [2022-04-28 11:10:52,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-28 11:10:52,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13295#true} {13295#true} #69#return; {13295#true} is VALID [2022-04-28 11:10:52,955 INFO L272 TraceCheckUtils]: 4: Hoare triple {13295#true} call #t~ret8 := main(); {13295#true} is VALID [2022-04-28 11:10:52,955 INFO L290 TraceCheckUtils]: 5: Hoare triple {13295#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; {13295#true} is VALID [2022-04-28 11:10:52,955 INFO L272 TraceCheckUtils]: 6: Hoare triple {13295#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {13295#true} is VALID [2022-04-28 11:10:52,955 INFO L290 TraceCheckUtils]: 7: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-28 11:10:52,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-28 11:10:52,956 INFO L290 TraceCheckUtils]: 9: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-28 11:10:52,956 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13295#true} {13295#true} #61#return; {13295#true} is VALID [2022-04-28 11:10:52,956 INFO L290 TraceCheckUtils]: 11: Hoare triple {13295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13295#true} is VALID [2022-04-28 11:10:52,956 INFO L272 TraceCheckUtils]: 12: Hoare triple {13295#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {13295#true} is VALID [2022-04-28 11:10:52,956 INFO L290 TraceCheckUtils]: 13: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-28 11:10:52,956 INFO L290 TraceCheckUtils]: 14: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-28 11:10:52,956 INFO L290 TraceCheckUtils]: 15: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-28 11:10:52,956 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13295#true} {13295#true} #63#return; {13295#true} is VALID [2022-04-28 11:10:52,956 INFO L290 TraceCheckUtils]: 17: Hoare triple {13295#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:10:52,957 INFO L290 TraceCheckUtils]: 18: Hoare triple {13351#(and (<= main_~x~0 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; {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:10:52,957 INFO L272 TraceCheckUtils]: 19: Hoare triple {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-28 11:10:52,957 INFO L290 TraceCheckUtils]: 20: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-28 11:10:52,957 INFO L290 TraceCheckUtils]: 21: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-28 11:10:52,957 INFO L290 TraceCheckUtils]: 22: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-28 11:10:52,958 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13295#true} {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:10:52,958 INFO L290 TraceCheckUtils]: 24: Hoare triple {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:10:52,959 INFO L290 TraceCheckUtils]: 25: Hoare triple {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13376#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 0))} is VALID [2022-04-28 11:10:52,960 INFO L290 TraceCheckUtils]: 26: Hoare triple {13376#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-28 11:10:52,960 INFO L290 TraceCheckUtils]: 27: Hoare triple {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-28 11:10:52,960 INFO L272 TraceCheckUtils]: 28: Hoare triple {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~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)); {13295#true} is VALID [2022-04-28 11:10:52,960 INFO L290 TraceCheckUtils]: 29: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-28 11:10:52,960 INFO L290 TraceCheckUtils]: 30: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-28 11:10:52,960 INFO L290 TraceCheckUtils]: 31: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-28 11:10:52,961 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13295#true} {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} #65#return; {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-28 11:10:52,961 INFO L290 TraceCheckUtils]: 33: Hoare triple {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-28 11:10:52,962 INFO L290 TraceCheckUtils]: 34: Hoare triple {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13405#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)))} is VALID [2022-04-28 11:10:52,963 INFO L290 TraceCheckUtils]: 35: Hoare triple {13405#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-28 11:10:52,963 INFO L290 TraceCheckUtils]: 36: Hoare triple {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-28 11:10:52,963 INFO L272 TraceCheckUtils]: 37: Hoare triple {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= 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)); {13295#true} is VALID [2022-04-28 11:10:52,964 INFO L290 TraceCheckUtils]: 38: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-28 11:10:52,964 INFO L290 TraceCheckUtils]: 39: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-28 11:10:52,964 INFO L290 TraceCheckUtils]: 40: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-28 11:10:52,964 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13295#true} {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} #65#return; {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-28 11:10:52,965 INFO L290 TraceCheckUtils]: 42: Hoare triple {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-28 11:10:52,965 INFO L290 TraceCheckUtils]: 43: Hoare triple {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~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; {13434#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} is VALID [2022-04-28 11:10:52,966 INFO L290 TraceCheckUtils]: 44: Hoare triple {13434#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-28 11:10:52,966 INFO L290 TraceCheckUtils]: 45: Hoare triple {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-28 11:10:52,967 INFO L272 TraceCheckUtils]: 46: Hoare triple {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-28 11:10:52,967 INFO L290 TraceCheckUtils]: 47: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-28 11:10:52,967 INFO L290 TraceCheckUtils]: 48: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-28 11:10:52,967 INFO L290 TraceCheckUtils]: 49: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-28 11:10:52,967 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13295#true} {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} #65#return; {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-28 11:10:52,968 INFO L290 TraceCheckUtils]: 51: Hoare triple {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !(~x~0 <= ~X~0); {13296#false} is VALID [2022-04-28 11:10:52,968 INFO L290 TraceCheckUtils]: 52: Hoare triple {13296#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13296#false} is VALID [2022-04-28 11:10:52,968 INFO L272 TraceCheckUtils]: 53: Hoare triple {13296#false} 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)); {13296#false} is VALID [2022-04-28 11:10:52,968 INFO L290 TraceCheckUtils]: 54: Hoare triple {13296#false} ~cond := #in~cond; {13296#false} is VALID [2022-04-28 11:10:52,968 INFO L290 TraceCheckUtils]: 55: Hoare triple {13296#false} assume 0 == ~cond; {13296#false} is VALID [2022-04-28 11:10:52,968 INFO L290 TraceCheckUtils]: 56: Hoare triple {13296#false} assume !false; {13296#false} is VALID [2022-04-28 11:10:52,969 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:10:52,969 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:10:53,365 INFO L290 TraceCheckUtils]: 56: Hoare triple {13296#false} assume !false; {13296#false} is VALID [2022-04-28 11:10:53,365 INFO L290 TraceCheckUtils]: 55: Hoare triple {13296#false} assume 0 == ~cond; {13296#false} is VALID [2022-04-28 11:10:53,365 INFO L290 TraceCheckUtils]: 54: Hoare triple {13296#false} ~cond := #in~cond; {13296#false} is VALID [2022-04-28 11:10:53,365 INFO L272 TraceCheckUtils]: 53: Hoare triple {13296#false} 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)); {13296#false} is VALID [2022-04-28 11:10:53,365 INFO L290 TraceCheckUtils]: 52: Hoare triple {13296#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13296#false} is VALID [2022-04-28 11:10:53,366 INFO L290 TraceCheckUtils]: 51: Hoare triple {13490#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {13296#false} is VALID [2022-04-28 11:10:53,366 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13295#true} {13490#(<= main_~x~0 main_~X~0)} #65#return; {13490#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:10:53,366 INFO L290 TraceCheckUtils]: 49: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-28 11:10:53,366 INFO L290 TraceCheckUtils]: 48: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-28 11:10:53,366 INFO L290 TraceCheckUtils]: 47: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-28 11:10:53,367 INFO L272 TraceCheckUtils]: 46: Hoare triple {13490#(<= 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)); {13295#true} is VALID [2022-04-28 11:10:53,367 INFO L290 TraceCheckUtils]: 45: Hoare triple {13490#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13490#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:10:53,368 INFO L290 TraceCheckUtils]: 44: Hoare triple {13512#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13490#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:10:53,369 INFO L290 TraceCheckUtils]: 43: Hoare triple {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) 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; {13512#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:10:53,369 INFO L290 TraceCheckUtils]: 42: Hoare triple {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:10:53,369 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13295#true} {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:10:53,369 INFO L290 TraceCheckUtils]: 40: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-28 11:10:53,369 INFO L290 TraceCheckUtils]: 39: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-28 11:10:53,370 INFO L290 TraceCheckUtils]: 38: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-28 11:10:53,370 INFO L272 TraceCheckUtils]: 37: Hoare triple {13516#(or (< main_~v~0 0) (<= (+ 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)); {13295#true} is VALID [2022-04-28 11:10:53,370 INFO L290 TraceCheckUtils]: 36: Hoare triple {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:10:53,371 INFO L290 TraceCheckUtils]: 35: Hoare triple {13541#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:10:53,371 INFO L290 TraceCheckUtils]: 34: Hoare triple {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13541#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:10:53,372 INFO L290 TraceCheckUtils]: 33: Hoare triple {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:10:53,372 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13295#true} {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #65#return; {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:10:53,373 INFO L290 TraceCheckUtils]: 31: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-28 11:10:53,373 INFO L290 TraceCheckUtils]: 30: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-28 11:10:53,373 INFO L290 TraceCheckUtils]: 29: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-28 11:10:53,373 INFO L272 TraceCheckUtils]: 28: Hoare triple {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-28 11:10:53,373 INFO L290 TraceCheckUtils]: 27: Hoare triple {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:10:53,374 INFO L290 TraceCheckUtils]: 26: Hoare triple {13570#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:10:53,375 INFO L290 TraceCheckUtils]: 25: Hoare triple {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13570#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 11:10:53,376 INFO L290 TraceCheckUtils]: 24: Hoare triple {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume !!(~x~0 <= ~X~0); {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-28 11:10:53,376 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13295#true} {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} #65#return; {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-28 11:10:53,376 INFO L290 TraceCheckUtils]: 22: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-28 11:10:53,376 INFO L290 TraceCheckUtils]: 21: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-28 11:10:53,376 INFO L290 TraceCheckUtils]: 20: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-28 11:10:53,376 INFO L272 TraceCheckUtils]: 19: Hoare triple {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-28 11:10:53,377 INFO L290 TraceCheckUtils]: 18: Hoare triple {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-28 11:10:53,378 INFO L290 TraceCheckUtils]: 17: Hoare triple {13295#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-28 11:10:53,378 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13295#true} {13295#true} #63#return; {13295#true} is VALID [2022-04-28 11:10:53,378 INFO L290 TraceCheckUtils]: 15: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-28 11:10:53,378 INFO L290 TraceCheckUtils]: 14: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-28 11:10:53,378 INFO L290 TraceCheckUtils]: 13: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-28 11:10:53,378 INFO L272 TraceCheckUtils]: 12: Hoare triple {13295#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {13295#true} is VALID [2022-04-28 11:10:53,378 INFO L290 TraceCheckUtils]: 11: Hoare triple {13295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13295#true} is VALID [2022-04-28 11:10:53,378 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13295#true} {13295#true} #61#return; {13295#true} is VALID [2022-04-28 11:10:53,378 INFO L290 TraceCheckUtils]: 9: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-28 11:10:53,378 INFO L290 TraceCheckUtils]: 8: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-28 11:10:53,378 INFO L290 TraceCheckUtils]: 7: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-28 11:10:53,378 INFO L272 TraceCheckUtils]: 6: Hoare triple {13295#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {13295#true} is VALID [2022-04-28 11:10:53,379 INFO L290 TraceCheckUtils]: 5: Hoare triple {13295#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; {13295#true} is VALID [2022-04-28 11:10:53,379 INFO L272 TraceCheckUtils]: 4: Hoare triple {13295#true} call #t~ret8 := main(); {13295#true} is VALID [2022-04-28 11:10:53,379 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13295#true} {13295#true} #69#return; {13295#true} is VALID [2022-04-28 11:10:53,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-28 11:10:53,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {13295#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); {13295#true} is VALID [2022-04-28 11:10:53,379 INFO L272 TraceCheckUtils]: 0: Hoare triple {13295#true} call ULTIMATE.init(); {13295#true} is VALID [2022-04-28 11:10:53,379 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:10:53,379 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:10:53,379 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [514742296] [2022-04-28 11:10:53,379 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:10:53,379 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [561433081] [2022-04-28 11:10:53,380 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [561433081] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:10:53,380 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:10:53,380 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 11:10:53,380 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:10:53,380 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [968708829] [2022-04-28 11:10:53,380 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [968708829] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:10:53,380 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:10:53,380 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 11:10:53,380 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [79792749] [2022-04-28 11:10:53,380 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:10:53,381 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 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:10:53,381 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:10:53,381 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 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:10:53,416 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:10:53,416 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 11:10:53,416 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:53,416 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 11:10:53,416 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-28 11:10:53,416 INFO L87 Difference]: Start difference. First operand 129 states and 144 transitions. Second operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 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:10:54,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:54,166 INFO L93 Difference]: Finished difference Result 140 states and 155 transitions. [2022-04-28 11:10:54,166 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 11:10:54,166 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 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:10:54,167 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:10:54,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 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:10:54,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-28 11:10:54,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 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:10:54,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-28 11:10:54,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-04-28 11:10:54,232 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:10:54,234 INFO L225 Difference]: With dead ends: 140 [2022-04-28 11:10:54,234 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 11:10:54,234 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 99 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-28 11:10:54,235 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 2 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 225 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 154 SdHoareTripleChecker+Invalid, 228 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 225 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 11:10:54,235 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [2 Valid, 154 Invalid, 228 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 225 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 11:10:54,235 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 11:10:54,533 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 130. [2022-04-28 11:10:54,533 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:10:54,533 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:10:54,533 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:10:54,534 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:10:54,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:54,535 INFO L93 Difference]: Finished difference Result 132 states and 147 transitions. [2022-04-28 11:10:54,535 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 147 transitions. [2022-04-28 11:10:54,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:54,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:54,536 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 132 states. [2022-04-28 11:10:54,536 INFO L87 Difference]: Start difference. First operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 132 states. [2022-04-28 11:10:54,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:54,539 INFO L93 Difference]: Finished difference Result 132 states and 147 transitions. [2022-04-28 11:10:54,539 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 147 transitions. [2022-04-28 11:10:54,539 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:54,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:54,539 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:10:54,539 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:10:54,540 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:10:54,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 145 transitions. [2022-04-28 11:10:54,543 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 145 transitions. Word has length 57 [2022-04-28 11:10:54,543 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:10:54,543 INFO L495 AbstractCegarLoop]: Abstraction has 130 states and 145 transitions. [2022-04-28 11:10:54,543 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 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:10:54,543 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 130 states and 145 transitions. [2022-04-28 11:10:58,875 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 143 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:10:58,876 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-28 11:10:58,876 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 11:10:58,876 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:10:58,876 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:10:58,892 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 11:10:59,092 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:10:59,092 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:10:59,093 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:10:59,093 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 5 times [2022-04-28 11:10:59,093 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:59,093 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [421895222] [2022-04-28 11:10:59,094 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:10:59,094 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 6 times [2022-04-28 11:10:59,094 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:10:59,094 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1287636656] [2022-04-28 11:10:59,094 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:10:59,094 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:10:59,114 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:10:59,115 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [604040784] [2022-04-28 11:10:59,115 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:10:59,115 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:10:59,115 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:10:59,116 INFO L229 MonitoredProcess]: Starting monitored process 20 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:59,132 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 11:10:59,389 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 11:10:59,389 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:10:59,391 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 11:10:59,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:59,423 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:11:12,949 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:11:18,048 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:11:20,439 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:11:30,511 WARN L833 $PredicateComparison]: unable to prove that (let ((.cse7 (* 2 c_main_~Y~0))) (and (let ((.cse3 (+ c_main_~X~0 1)) (.cse2 (+ (* (- 1) c_main_~Y~0) (div (+ c_main_~v~0 c_main_~X~0) 2) (* c_main_~X~0 c_main_~y~0))) (.cse0 (= c_main_~Y~0 0)) (.cse4 (= (mod (+ (* 2 c_main_~X~0 c_main_~y~0) c_main_~v~0 c_main_~X~0) 2) 0))) (or (let ((.cse1 (div .cse2 c_main_~Y~0))) (and (not .cse0) (not (<= .cse1 c_main_~X~0)) (= (mod .cse2 c_main_~Y~0) 0) (= c_main_~xy~0 (* c_main_~y~0 .cse1)) (<= .cse1 .cse3) (= c_main_~yx~0 (* c_main_~Y~0 .cse1)) .cse4)) (and (let ((.cse6 (= c_main_~y~0 0))) (or (let ((.cse5 (div c_main_~xy~0 c_main_~y~0))) (and (<= .cse5 .cse3) (= (mod c_main_~xy~0 c_main_~y~0) 0) (not .cse6) (< c_main_~X~0 .cse5))) (and .cse6 (= c_main_~xy~0 0)))) (= 0 .cse2) .cse0 (= c_main_~yx~0 0) .cse4))) (<= c_main_~X~0 100) (< .cse7 c_main_~X~0) (< c_main_~v~0 .cse7) (<= 0 c_main_~Y~0))) is different from false [2022-04-28 11:11:54,661 INFO L272 TraceCheckUtils]: 0: Hoare triple {14456#true} call ULTIMATE.init(); {14456#true} is VALID [2022-04-28 11:11:54,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {14456#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); {14456#true} is VALID [2022-04-28 11:11:54,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-28 11:11:54,661 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14456#true} {14456#true} #69#return; {14456#true} is VALID [2022-04-28 11:11:54,661 INFO L272 TraceCheckUtils]: 4: Hoare triple {14456#true} call #t~ret8 := main(); {14456#true} is VALID [2022-04-28 11:11:54,661 INFO L290 TraceCheckUtils]: 5: Hoare triple {14456#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; {14456#true} is VALID [2022-04-28 11:11:54,661 INFO L272 TraceCheckUtils]: 6: Hoare triple {14456#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {14456#true} is VALID [2022-04-28 11:11:54,662 INFO L290 TraceCheckUtils]: 7: Hoare triple {14456#true} ~cond := #in~cond; {14482#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:11:54,662 INFO L290 TraceCheckUtils]: 8: Hoare triple {14482#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14486#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:11:54,662 INFO L290 TraceCheckUtils]: 9: Hoare triple {14486#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14486#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:11:54,663 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14486#(not (= |assume_abort_if_not_#in~cond| 0))} {14456#true} #61#return; {14493#(and (<= main_~X~0 100) (<= 0 main_~X~0))} is VALID [2022-04-28 11:11:54,663 INFO L290 TraceCheckUtils]: 11: Hoare triple {14493#(and (<= main_~X~0 100) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14493#(and (<= main_~X~0 100) (<= 0 main_~X~0))} is VALID [2022-04-28 11:11:54,663 INFO L272 TraceCheckUtils]: 12: Hoare triple {14493#(and (<= main_~X~0 100) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {14456#true} is VALID [2022-04-28 11:11:54,663 INFO L290 TraceCheckUtils]: 13: Hoare triple {14456#true} ~cond := #in~cond; {14482#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:11:54,664 INFO L290 TraceCheckUtils]: 14: Hoare triple {14482#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14486#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:11:54,664 INFO L290 TraceCheckUtils]: 15: Hoare triple {14486#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14486#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:11:54,664 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14486#(not (= |assume_abort_if_not_#in~cond| 0))} {14493#(and (<= main_~X~0 100) (<= 0 main_~X~0))} #63#return; {14512#(and (<= main_~X~0 100) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:11:54,665 INFO L290 TraceCheckUtils]: 17: Hoare triple {14512#(and (<= main_~X~0 100) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:11:54,665 INFO L290 TraceCheckUtils]: 18: Hoare triple {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:11:54,665 INFO L272 TraceCheckUtils]: 19: Hoare triple {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-28 11:11:54,665 INFO L290 TraceCheckUtils]: 20: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-28 11:11:54,665 INFO L290 TraceCheckUtils]: 21: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-28 11:11:54,666 INFO L290 TraceCheckUtils]: 22: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-28 11:11:54,666 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14456#true} {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} #65#return; {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:11:54,666 INFO L290 TraceCheckUtils]: 24: Hoare triple {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:11:54,667 INFO L290 TraceCheckUtils]: 25: Hoare triple {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-28 11:11:54,667 INFO L290 TraceCheckUtils]: 26: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-28 11:11:54,668 INFO L290 TraceCheckUtils]: 27: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-28 11:11:54,668 INFO L272 TraceCheckUtils]: 28: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 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)); {14456#true} is VALID [2022-04-28 11:11:54,668 INFO L290 TraceCheckUtils]: 29: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-28 11:11:54,668 INFO L290 TraceCheckUtils]: 30: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-28 11:11:54,668 INFO L290 TraceCheckUtils]: 31: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-28 11:11:54,668 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14456#true} {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} #65#return; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-28 11:11:54,669 INFO L290 TraceCheckUtils]: 33: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} assume !!(~x~0 <= ~X~0); {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-28 11:11:54,669 INFO L290 TraceCheckUtils]: 34: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 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; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-28 11:11:54,669 INFO L290 TraceCheckUtils]: 35: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-28 11:11:54,670 INFO L290 TraceCheckUtils]: 36: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-28 11:11:54,670 INFO L272 TraceCheckUtils]: 37: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 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)); {14456#true} is VALID [2022-04-28 11:11:54,670 INFO L290 TraceCheckUtils]: 38: Hoare triple {14456#true} ~cond := #in~cond; {14581#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:11:54,670 INFO L290 TraceCheckUtils]: 39: Hoare triple {14581#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:54,671 INFO L290 TraceCheckUtils]: 40: Hoare triple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:54,672 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} #65#return; {14592#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 0 main_~Y~0))} is VALID [2022-04-28 11:11:54,672 INFO L290 TraceCheckUtils]: 42: Hoare triple {14592#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 0 main_~Y~0))} assume !!(~x~0 <= ~X~0); {14596#(and (<= main_~x~0 main_~X~0) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 0 main_~Y~0))} is VALID [2022-04-28 11:11:54,674 INFO L290 TraceCheckUtils]: 43: Hoare triple {14596#(and (<= main_~x~0 main_~X~0) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 0 main_~Y~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14600#(and (<= main_~x~0 main_~X~0) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0))} is VALID [2022-04-28 11:11:54,675 INFO L290 TraceCheckUtils]: 44: Hoare triple {14600#(and (<= main_~x~0 main_~X~0) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14604#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:11:54,675 INFO L290 TraceCheckUtils]: 45: Hoare triple {14604#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14608#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~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:11:54,675 INFO L272 TraceCheckUtils]: 46: Hoare triple {14608#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~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)); {14456#true} is VALID [2022-04-28 11:11:54,676 INFO L290 TraceCheckUtils]: 47: Hoare triple {14456#true} ~cond := #in~cond; {14581#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:11:54,676 INFO L290 TraceCheckUtils]: 48: Hoare triple {14581#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:54,676 INFO L290 TraceCheckUtils]: 49: Hoare triple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:54,678 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} {14608#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~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; {14624#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (+ (* 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_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:11:54,678 INFO L290 TraceCheckUtils]: 51: Hoare triple {14624#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (+ (* 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_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {14628#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (+ (* 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_~Y~0 2)) (<= 0 main_~Y~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:11:56,682 WARN L290 TraceCheckUtils]: 52: Hoare triple {14628#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (+ (* 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_~Y~0 2)) (<= 0 main_~Y~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; {14632#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~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 UNKNOWN [2022-04-28 11:11:56,698 INFO L272 TraceCheckUtils]: 53: Hoare triple {14632#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~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)); {14636#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:11:56,698 INFO L290 TraceCheckUtils]: 54: Hoare triple {14636#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14640#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:11:56,698 INFO L290 TraceCheckUtils]: 55: Hoare triple {14640#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14457#false} is VALID [2022-04-28 11:11:56,699 INFO L290 TraceCheckUtils]: 56: Hoare triple {14457#false} assume !false; {14457#false} is VALID [2022-04-28 11:11:56,699 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 28 proven. 13 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 11:11:56,699 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:11:59,656 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:13:11,973 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:13:18,476 INFO L290 TraceCheckUtils]: 56: Hoare triple {14457#false} assume !false; {14457#false} is VALID [2022-04-28 11:13:18,477 INFO L290 TraceCheckUtils]: 55: Hoare triple {14640#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14457#false} is VALID [2022-04-28 11:13:18,477 INFO L290 TraceCheckUtils]: 54: Hoare triple {14636#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14640#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:13:18,478 INFO L272 TraceCheckUtils]: 53: Hoare triple {14656#(= (+ (* 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)); {14636#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:13:18,479 INFO L290 TraceCheckUtils]: 52: Hoare triple {14660#(= (+ (* 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; {14656#(= (+ (* 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:13:18,480 INFO L290 TraceCheckUtils]: 51: Hoare triple {14664#(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); {14660#(= (+ (* 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:13:18,480 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} {14668#(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; {14664#(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:13:18,481 INFO L290 TraceCheckUtils]: 49: Hoare triple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:18,481 INFO L290 TraceCheckUtils]: 48: Hoare triple {14678#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:18,481 INFO L290 TraceCheckUtils]: 47: Hoare triple {14456#true} ~cond := #in~cond; {14678#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:13:18,481 INFO L272 TraceCheckUtils]: 46: Hoare triple {14668#(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)); {14456#true} is VALID [2022-04-28 11:13:20,484 WARN L290 TraceCheckUtils]: 45: Hoare triple {14685#(or (<= main_~x~0 main_~X~0) (and (or (= (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) main_~x~0) 2)) (+ (* main_~Y~0 2) (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 2) (* 2 (* main_~Y~0 main_~x~0)))) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 0)) (= main_~X~0 0) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0))) (or (forall ((main_~y~0 Int)) (= (+ (* 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))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14668#(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 UNKNOWN [2022-04-28 11:13:20,852 INFO L290 TraceCheckUtils]: 44: Hoare triple {14689#(or (and (or (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (= main_~X~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0))) (+ (* 2 (* (+ main_~x~0 1) (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0))) main_~X~0 main_~v~0)) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0) 0))) (or (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (forall ((main_~y~0 Int)) (= (+ (* (* (+ 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))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) 0)))) (<= (+ main_~x~0 1) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14685#(or (<= main_~x~0 main_~X~0) (and (or (= (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) main_~x~0) 2)) (+ (* main_~Y~0 2) (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 2) (* 2 (* main_~Y~0 main_~x~0)))) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 0)) (= main_~X~0 0) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0))) (or (forall ((main_~y~0 Int)) (= (+ (* 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))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0)))))} is VALID [2022-04-28 11:13:20,884 INFO L290 TraceCheckUtils]: 43: Hoare triple {14693#(or (and (or (not (= (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) 0)) (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (forall ((main_~y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (not (= main_~X~0 0))) (or (not (= (mod (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0) 0)) (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (= (+ (* (* (+ main_~x~0 1) (div (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0)) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (div (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0)))) (= main_~X~0 0))) (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14689#(or (and (or (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (= main_~X~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0))) (+ (* 2 (* (+ main_~x~0 1) (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0))) main_~X~0 main_~v~0)) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0) 0))) (or (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (forall ((main_~y~0 Int)) (= (+ (* (* (+ 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))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) 0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:13:20,947 INFO L290 TraceCheckUtils]: 42: Hoare triple {14456#true} assume !!(~x~0 <= ~X~0); {14693#(or (and (or (not (= (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) 0)) (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (forall ((main_~y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (not (= main_~X~0 0))) (or (not (= (mod (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0) 0)) (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (= (+ (* (* (+ main_~x~0 1) (div (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0)) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (div (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0)))) (= main_~X~0 0))) (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 11:13:20,947 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14456#true} {14456#true} #65#return; {14456#true} is VALID [2022-04-28 11:13:20,947 INFO L290 TraceCheckUtils]: 40: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-28 11:13:20,947 INFO L290 TraceCheckUtils]: 39: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-28 11:13:20,948 INFO L290 TraceCheckUtils]: 38: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-28 11:13:20,948 INFO L272 TraceCheckUtils]: 37: Hoare triple {14456#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-28 11:13:20,948 INFO L290 TraceCheckUtils]: 36: Hoare triple {14456#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14456#true} is VALID [2022-04-28 11:13:20,948 INFO L290 TraceCheckUtils]: 35: Hoare triple {14456#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14456#true} is VALID [2022-04-28 11:13:20,948 INFO L290 TraceCheckUtils]: 34: Hoare triple {14456#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; {14456#true} is VALID [2022-04-28 11:13:20,948 INFO L290 TraceCheckUtils]: 33: Hoare triple {14456#true} assume !!(~x~0 <= ~X~0); {14456#true} is VALID [2022-04-28 11:13:20,948 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14456#true} {14456#true} #65#return; {14456#true} is VALID [2022-04-28 11:13:20,948 INFO L290 TraceCheckUtils]: 31: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-28 11:13:20,948 INFO L290 TraceCheckUtils]: 30: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-28 11:13:20,948 INFO L290 TraceCheckUtils]: 29: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-28 11:13:20,948 INFO L272 TraceCheckUtils]: 28: Hoare triple {14456#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-28 11:13:20,948 INFO L290 TraceCheckUtils]: 27: Hoare triple {14456#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14456#true} is VALID [2022-04-28 11:13:20,948 INFO L290 TraceCheckUtils]: 26: Hoare triple {14456#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14456#true} is VALID [2022-04-28 11:13:20,948 INFO L290 TraceCheckUtils]: 25: Hoare triple {14456#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14456#true} is VALID [2022-04-28 11:13:20,949 INFO L290 TraceCheckUtils]: 24: Hoare triple {14456#true} assume !!(~x~0 <= ~X~0); {14456#true} is VALID [2022-04-28 11:13:20,949 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14456#true} {14456#true} #65#return; {14456#true} is VALID [2022-04-28 11:13:20,949 INFO L290 TraceCheckUtils]: 22: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-28 11:13:20,949 INFO L290 TraceCheckUtils]: 21: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-28 11:13:20,949 INFO L290 TraceCheckUtils]: 20: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-28 11:13:20,949 INFO L272 TraceCheckUtils]: 19: Hoare triple {14456#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-28 11:13:20,949 INFO L290 TraceCheckUtils]: 18: Hoare triple {14456#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14456#true} is VALID [2022-04-28 11:13:20,949 INFO L290 TraceCheckUtils]: 17: Hoare triple {14456#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14456#true} is VALID [2022-04-28 11:13:20,949 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14456#true} {14456#true} #63#return; {14456#true} is VALID [2022-04-28 11:13:20,949 INFO L290 TraceCheckUtils]: 15: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-28 11:13:20,949 INFO L290 TraceCheckUtils]: 14: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-28 11:13:20,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-28 11:13:20,949 INFO L272 TraceCheckUtils]: 12: Hoare triple {14456#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {14456#true} is VALID [2022-04-28 11:13:20,949 INFO L290 TraceCheckUtils]: 11: Hoare triple {14456#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14456#true} is VALID [2022-04-28 11:13:20,949 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14456#true} {14456#true} #61#return; {14456#true} is VALID [2022-04-28 11:13:20,950 INFO L290 TraceCheckUtils]: 9: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-28 11:13:20,950 INFO L290 TraceCheckUtils]: 8: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-28 11:13:20,950 INFO L290 TraceCheckUtils]: 7: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-28 11:13:20,950 INFO L272 TraceCheckUtils]: 6: Hoare triple {14456#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {14456#true} is VALID [2022-04-28 11:13:20,950 INFO L290 TraceCheckUtils]: 5: Hoare triple {14456#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; {14456#true} is VALID [2022-04-28 11:13:20,950 INFO L272 TraceCheckUtils]: 4: Hoare triple {14456#true} call #t~ret8 := main(); {14456#true} is VALID [2022-04-28 11:13:20,950 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14456#true} {14456#true} #69#return; {14456#true} is VALID [2022-04-28 11:13:20,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-28 11:13:20,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {14456#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); {14456#true} is VALID [2022-04-28 11:13:20,950 INFO L272 TraceCheckUtils]: 0: Hoare triple {14456#true} call ULTIMATE.init(); {14456#true} is VALID [2022-04-28 11:13:20,950 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:13:20,951 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:13:20,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1287636656] [2022-04-28 11:13:20,951 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:13:20,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [604040784] [2022-04-28 11:13:20,951 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [604040784] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:13:20,954 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:13:20,954 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 13] total 28 [2022-04-28 11:13:20,954 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:13:20,954 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [421895222] [2022-04-28 11:13:20,954 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [421895222] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:13:20,954 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:13:20,954 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-28 11:13:20,954 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1178998845] [2022-04-28 11:13:20,954 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:13:20,955 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-28 11:13:20,955 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:13:20,955 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:13:23,017 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 44 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:13:23,017 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-28 11:13:23,018 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:13:23,018 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-28 11:13:23,018 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=118, Invalid=587, Unknown=1, NotChecked=50, Total=756 [2022-04-28 11:13:23,018 INFO L87 Difference]: Start difference. First operand 130 states and 145 transitions. Second operand has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:13:55,670 WARN L232 SmtUtils]: Spent 9.20s on a formula simplification. DAG size of input: 65 DAG size of output: 59 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 11:13:57,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:13:57,052 INFO L93 Difference]: Finished difference Result 138 states and 152 transitions. [2022-04-28 11:13:57,052 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 11:13:57,052 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-28 11:13:57,053 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:13:57,053 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:13:57,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 60 transitions. [2022-04-28 11:13:57,054 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:13:57,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 60 transitions. [2022-04-28 11:13:57,054 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 60 transitions. [2022-04-28 11:13:59,134 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 59 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:13:59,136 INFO L225 Difference]: With dead ends: 138 [2022-04-28 11:13:59,136 INFO L226 Difference]: Without dead ends: 130 [2022-04-28 11:13:59,136 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 86 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 232 ImplicationChecksByTransitivity, 36.4s TimeCoverageRelationStatistics Valid=209, Invalid=981, Unknown=4, NotChecked=66, Total=1260 [2022-04-28 11:13:59,137 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 31 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 336 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 398 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 336 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 45 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-28 11:13:59,137 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [34 Valid, 141 Invalid, 398 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 336 Invalid, 0 Unknown, 45 Unchecked, 2.2s Time] [2022-04-28 11:13:59,137 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-28 11:13:59,439 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 128. [2022-04-28 11:13:59,439 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:13:59,440 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:13:59,440 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:13:59,440 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:13:59,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:13:59,442 INFO L93 Difference]: Finished difference Result 130 states and 143 transitions. [2022-04-28 11:13:59,442 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 143 transitions. [2022-04-28 11:13:59,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:13:59,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:13:59,442 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) Second operand 130 states. [2022-04-28 11:13:59,442 INFO L87 Difference]: Start difference. First operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) Second operand 130 states. [2022-04-28 11:13:59,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:13:59,444 INFO L93 Difference]: Finished difference Result 130 states and 143 transitions. [2022-04-28 11:13:59,444 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 143 transitions. [2022-04-28 11:13:59,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:13:59,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:13:59,444 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:13:59,444 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:13:59,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:13:59,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 141 transitions. [2022-04-28 11:13:59,446 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 141 transitions. Word has length 57 [2022-04-28 11:13:59,446 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:13:59,446 INFO L495 AbstractCegarLoop]: Abstraction has 128 states and 141 transitions. [2022-04-28 11:13:59,446 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:13:59,446 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 128 states and 141 transitions. [2022-04-28 11:14:03,795 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 139 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:14:03,796 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 141 transitions. [2022-04-28 11:14:03,796 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 11:14:03,796 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:14:03,796 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:14:03,803 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 11:14:04,000 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:14:04,001 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:14:04,001 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:14:04,001 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 7 times [2022-04-28 11:14:04,001 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:14:04,001 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [608767276] [2022-04-28 11:14:04,001 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:14:04,002 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 8 times [2022-04-28 11:14:04,002 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:14:04,002 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [858742282] [2022-04-28 11:14:04,002 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:14:04,002 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:14:04,011 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:14:04,011 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [478654015] [2022-04-28 11:14:04,011 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:14:04,011 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:14:04,011 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:14:04,012 INFO L229 MonitoredProcess]: Starting monitored process 21 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:14:04,013 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 11:14:04,053 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:14:04,054 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:14:04,054 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 11:14:04,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:14:04,066 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:14:04,831 INFO L272 TraceCheckUtils]: 0: Hoare triple {15633#true} call ULTIMATE.init(); {15633#true} is VALID [2022-04-28 11:14:04,831 INFO L290 TraceCheckUtils]: 1: Hoare triple {15633#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); {15633#true} is VALID [2022-04-28 11:14:04,831 INFO L290 TraceCheckUtils]: 2: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-28 11:14:04,831 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15633#true} {15633#true} #69#return; {15633#true} is VALID [2022-04-28 11:14:04,831 INFO L272 TraceCheckUtils]: 4: Hoare triple {15633#true} call #t~ret8 := main(); {15633#true} is VALID [2022-04-28 11:14:04,831 INFO L290 TraceCheckUtils]: 5: Hoare triple {15633#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; {15633#true} is VALID [2022-04-28 11:14:04,831 INFO L272 TraceCheckUtils]: 6: Hoare triple {15633#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {15633#true} is VALID [2022-04-28 11:14:04,831 INFO L290 TraceCheckUtils]: 7: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-28 11:14:04,831 INFO L290 TraceCheckUtils]: 8: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-28 11:14:04,831 INFO L290 TraceCheckUtils]: 9: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-28 11:14:04,831 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15633#true} {15633#true} #61#return; {15633#true} is VALID [2022-04-28 11:14:04,832 INFO L290 TraceCheckUtils]: 11: Hoare triple {15633#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15633#true} is VALID [2022-04-28 11:14:04,832 INFO L272 TraceCheckUtils]: 12: Hoare triple {15633#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {15633#true} is VALID [2022-04-28 11:14:04,832 INFO L290 TraceCheckUtils]: 13: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-28 11:14:04,832 INFO L290 TraceCheckUtils]: 14: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-28 11:14:04,832 INFO L290 TraceCheckUtils]: 15: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-28 11:14:04,832 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15633#true} {15633#true} #63#return; {15633#true} is VALID [2022-04-28 11:14:04,832 INFO L290 TraceCheckUtils]: 17: Hoare triple {15633#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {15689#(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:14:04,833 INFO L290 TraceCheckUtils]: 18: Hoare triple {15689#(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; {15689#(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:14:04,833 INFO L272 TraceCheckUtils]: 19: Hoare triple {15689#(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)); {15633#true} is VALID [2022-04-28 11:14:04,833 INFO L290 TraceCheckUtils]: 20: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-28 11:14:04,833 INFO L290 TraceCheckUtils]: 21: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-28 11:14:04,833 INFO L290 TraceCheckUtils]: 22: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-28 11:14:04,834 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15633#true} {15689#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {15689#(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:14:04,834 INFO L290 TraceCheckUtils]: 24: Hoare triple {15689#(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); {15689#(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:14:04,835 INFO L290 TraceCheckUtils]: 25: Hoare triple {15689#(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; {15714#(and (= main_~x~0 0) (= main_~y~0 1) (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))))} is VALID [2022-04-28 11:14:04,835 INFO L290 TraceCheckUtils]: 26: Hoare triple {15714#(and (= main_~x~0 0) (= main_~y~0 1) (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))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (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))))} is VALID [2022-04-28 11:14:04,836 INFO L290 TraceCheckUtils]: 27: Hoare triple {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (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))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (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))))} is VALID [2022-04-28 11:14:04,836 INFO L272 TraceCheckUtils]: 28: Hoare triple {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (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))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15633#true} is VALID [2022-04-28 11:14:04,836 INFO L290 TraceCheckUtils]: 29: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-28 11:14:04,836 INFO L290 TraceCheckUtils]: 30: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-28 11:14:04,836 INFO L290 TraceCheckUtils]: 31: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-28 11:14:04,836 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15633#true} {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (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))))} #65#return; {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (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))))} is VALID [2022-04-28 11:14:04,837 INFO L290 TraceCheckUtils]: 33: Hoare triple {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (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))))} assume !!(~x~0 <= ~X~0); {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (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))))} is VALID [2022-04-28 11:14:04,838 INFO L290 TraceCheckUtils]: 34: Hoare triple {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (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))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {15743#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:14:04,838 INFO L290 TraceCheckUtils]: 35: Hoare triple {15743#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:14:04,839 INFO L290 TraceCheckUtils]: 36: Hoare triple {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:14:04,839 INFO L272 TraceCheckUtils]: 37: Hoare triple {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< 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)); {15633#true} is VALID [2022-04-28 11:14:04,839 INFO L290 TraceCheckUtils]: 38: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-28 11:14:04,839 INFO L290 TraceCheckUtils]: 39: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-28 11:14:04,839 INFO L290 TraceCheckUtils]: 40: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-28 11:14:04,840 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15633#true} {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} #65#return; {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:14:04,840 INFO L290 TraceCheckUtils]: 42: Hoare triple {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:14:04,841 INFO L290 TraceCheckUtils]: 43: Hoare triple {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< 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; {15772#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= main_~x~0 2) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-28 11:14:04,842 INFO L290 TraceCheckUtils]: 44: Hoare triple {15772#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= main_~x~0 2) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-28 11:14:04,842 INFO L290 TraceCheckUtils]: 45: Hoare triple {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-28 11:14:04,842 INFO L272 TraceCheckUtils]: 46: Hoare triple {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15633#true} is VALID [2022-04-28 11:14:04,843 INFO L290 TraceCheckUtils]: 47: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-28 11:14:04,843 INFO L290 TraceCheckUtils]: 48: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-28 11:14:04,843 INFO L290 TraceCheckUtils]: 49: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-28 11:14:04,843 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15633#true} {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} #65#return; {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-28 11:14:04,844 INFO L290 TraceCheckUtils]: 51: Hoare triple {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} assume !(~x~0 <= ~X~0); {15798#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (not (<= main_~x~0 main_~X~0)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-28 11:14:04,844 INFO L290 TraceCheckUtils]: 52: Hoare triple {15798#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (not (<= main_~x~0 main_~X~0)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {15802#(and (= main_~y~0 2) (= (* main_~Y~0 3) main_~yx~0) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (= main_~xy~0 (* main_~y~0 3)) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))) (not (<= 3 main_~X~0)))} is VALID [2022-04-28 11:14:04,845 INFO L272 TraceCheckUtils]: 53: Hoare triple {15802#(and (= main_~y~0 2) (= (* main_~Y~0 3) main_~yx~0) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (= main_~xy~0 (* main_~y~0 3)) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))) (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)); {15806#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:14:04,846 INFO L290 TraceCheckUtils]: 54: Hoare triple {15806#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15810#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:14:04,846 INFO L290 TraceCheckUtils]: 55: Hoare triple {15810#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15634#false} is VALID [2022-04-28 11:14:04,846 INFO L290 TraceCheckUtils]: 56: Hoare triple {15634#false} assume !false; {15634#false} is VALID [2022-04-28 11:14:04,846 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:14:04,846 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:14:05,841 INFO L290 TraceCheckUtils]: 56: Hoare triple {15634#false} assume !false; {15634#false} is VALID [2022-04-28 11:14:05,841 INFO L290 TraceCheckUtils]: 55: Hoare triple {15810#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15634#false} is VALID [2022-04-28 11:14:05,841 INFO L290 TraceCheckUtils]: 54: Hoare triple {15806#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15810#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:14:05,842 INFO L272 TraceCheckUtils]: 53: Hoare triple {15826#(= (+ (* 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)); {15806#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:14:05,843 INFO L290 TraceCheckUtils]: 52: Hoare triple {15830#(= (+ (* 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; {15826#(= (+ (* 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:14:05,844 INFO L290 TraceCheckUtils]: 51: Hoare triple {15834#(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); {15830#(= (+ (* 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:14:05,844 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15633#true} {15834#(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; {15834#(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:14:05,844 INFO L290 TraceCheckUtils]: 49: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-28 11:14:05,845 INFO L290 TraceCheckUtils]: 48: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-28 11:14:05,845 INFO L290 TraceCheckUtils]: 47: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-28 11:14:05,845 INFO L272 TraceCheckUtils]: 46: Hoare triple {15834#(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)); {15633#true} is VALID [2022-04-28 11:14:05,845 INFO L290 TraceCheckUtils]: 45: Hoare triple {15834#(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; {15834#(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:14:05,849 INFO L290 TraceCheckUtils]: 44: Hoare triple {15856#(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; {15834#(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:14:05,851 INFO L290 TraceCheckUtils]: 43: Hoare triple {15860#(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; {15856#(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:14:05,851 INFO L290 TraceCheckUtils]: 42: Hoare triple {15864#(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); {15860#(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:14:05,852 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15633#true} {15864#(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; {15864#(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:14:05,852 INFO L290 TraceCheckUtils]: 40: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-28 11:14:05,852 INFO L290 TraceCheckUtils]: 39: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-28 11:14:05,852 INFO L290 TraceCheckUtils]: 38: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-28 11:14:05,852 INFO L272 TraceCheckUtils]: 37: Hoare triple {15864#(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)); {15633#true} is VALID [2022-04-28 11:14:05,853 INFO L290 TraceCheckUtils]: 36: Hoare triple {15864#(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; {15864#(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:14:05,855 INFO L290 TraceCheckUtils]: 35: Hoare triple {15886#(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; {15864#(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:14:05,856 INFO L290 TraceCheckUtils]: 34: Hoare triple {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 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 (* main_~Y~0 2)) 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; {15886#(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:14:05,856 INFO L290 TraceCheckUtils]: 33: Hoare triple {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 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 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !!(~x~0 <= ~X~0); {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 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 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 11:14:05,857 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15633#true} {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 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 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} #65#return; {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 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 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 11:14:05,857 INFO L290 TraceCheckUtils]: 31: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-28 11:14:05,857 INFO L290 TraceCheckUtils]: 30: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-28 11:14:05,857 INFO L290 TraceCheckUtils]: 29: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-28 11:14:05,857 INFO L272 TraceCheckUtils]: 28: Hoare triple {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 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 (* main_~Y~0 2)) 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)); {15633#true} is VALID [2022-04-28 11:14:05,858 INFO L290 TraceCheckUtils]: 27: Hoare triple {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 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 (* main_~Y~0 2)) 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; {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 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 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 11:14:05,860 INFO L290 TraceCheckUtils]: 26: Hoare triple {15915#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0) (= (+ main_~v~0 (* (* (+ main_~x~0 3) (+ main_~y~0 1)) 2) (* (- 1) main_~X~0) (* main_~Y~0 4)) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 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 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 11:14:05,863 INFO L290 TraceCheckUtils]: 25: Hoare triple {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ 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; {15915#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0) (= (+ main_~v~0 (* (* (+ main_~x~0 3) (+ main_~y~0 1)) 2) (* (- 1) main_~X~0) (* main_~Y~0 4)) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 11:14:05,863 INFO L290 TraceCheckUtils]: 24: Hoare triple {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ 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); {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ 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:14:05,864 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15633#true} {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ 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; {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ 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:14:05,864 INFO L290 TraceCheckUtils]: 22: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-28 11:14:05,864 INFO L290 TraceCheckUtils]: 21: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-28 11:14:05,864 INFO L290 TraceCheckUtils]: 20: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-28 11:14:05,864 INFO L272 TraceCheckUtils]: 19: Hoare triple {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ 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)); {15633#true} is VALID [2022-04-28 11:14:05,865 INFO L290 TraceCheckUtils]: 18: Hoare triple {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ 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; {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ 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:14:05,866 INFO L290 TraceCheckUtils]: 17: Hoare triple {15633#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ 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:14:05,866 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15633#true} {15633#true} #63#return; {15633#true} is VALID [2022-04-28 11:14:05,866 INFO L290 TraceCheckUtils]: 15: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-28 11:14:05,866 INFO L290 TraceCheckUtils]: 14: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-28 11:14:05,866 INFO L290 TraceCheckUtils]: 13: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-28 11:14:05,866 INFO L272 TraceCheckUtils]: 12: Hoare triple {15633#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {15633#true} is VALID [2022-04-28 11:14:05,866 INFO L290 TraceCheckUtils]: 11: Hoare triple {15633#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15633#true} is VALID [2022-04-28 11:14:05,866 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15633#true} {15633#true} #61#return; {15633#true} is VALID [2022-04-28 11:14:05,867 INFO L290 TraceCheckUtils]: 9: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-28 11:14:05,867 INFO L290 TraceCheckUtils]: 8: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-28 11:14:05,867 INFO L290 TraceCheckUtils]: 7: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-28 11:14:05,867 INFO L272 TraceCheckUtils]: 6: Hoare triple {15633#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {15633#true} is VALID [2022-04-28 11:14:05,867 INFO L290 TraceCheckUtils]: 5: Hoare triple {15633#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; {15633#true} is VALID [2022-04-28 11:14:05,867 INFO L272 TraceCheckUtils]: 4: Hoare triple {15633#true} call #t~ret8 := main(); {15633#true} is VALID [2022-04-28 11:14:05,867 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15633#true} {15633#true} #69#return; {15633#true} is VALID [2022-04-28 11:14:05,867 INFO L290 TraceCheckUtils]: 2: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-28 11:14:05,867 INFO L290 TraceCheckUtils]: 1: Hoare triple {15633#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); {15633#true} is VALID [2022-04-28 11:14:05,867 INFO L272 TraceCheckUtils]: 0: Hoare triple {15633#true} call ULTIMATE.init(); {15633#true} is VALID [2022-04-28 11:14:05,868 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:14:05,868 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:14:05,868 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [858742282] [2022-04-28 11:14:05,868 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:14:05,868 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [478654015] [2022-04-28 11:14:05,868 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [478654015] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:14:05,868 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:14:05,868 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 23 [2022-04-28 11:14:05,868 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:14:05,868 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [608767276] [2022-04-28 11:14:05,868 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [608767276] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:14:05,868 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:14:05,868 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 11:14:05,869 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1631563172] [2022-04-28 11:14:05,869 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:14:05,869 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:14:05,869 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:14:05,869 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:14:05,911 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:14:05,911 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 11:14:05,911 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:14:05,911 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 11:14:05,911 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=406, Unknown=0, NotChecked=0, Total=506 [2022-04-28 11:14:05,912 INFO L87 Difference]: Start difference. First operand 128 states and 141 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:14:07,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:14:07,070 INFO L93 Difference]: Finished difference Result 141 states and 156 transitions. [2022-04-28 11:14:07,070 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 11:14:07,070 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:14:07,070 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:14:07,070 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:14:07,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 64 transitions. [2022-04-28 11:14:07,071 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:14:07,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 64 transitions. [2022-04-28 11:14:07,072 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 64 transitions. [2022-04-28 11:14:07,156 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:14:07,158 INFO L225 Difference]: With dead ends: 141 [2022-04-28 11:14:07,158 INFO L226 Difference]: Without dead ends: 133 [2022-04-28 11:14:07,158 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 90 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=118, Invalid=482, Unknown=0, NotChecked=0, Total=600 [2022-04-28 11:14:07,159 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 9 mSDsluCounter, 185 mSDsCounter, 0 mSdLazyCounter, 359 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 217 SdHoareTripleChecker+Invalid, 359 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 359 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 11:14:07,159 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 217 Invalid, 359 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 359 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 11:14:07,159 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2022-04-28 11:14:07,470 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 132. [2022-04-28 11:14:07,470 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:14:07,470 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 11:14:07,470 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 11:14:07,470 INFO L87 Difference]: Start difference. First operand 133 states. Second operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 11:14:07,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:14:07,472 INFO L93 Difference]: Finished difference Result 133 states and 148 transitions. [2022-04-28 11:14:07,472 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 148 transitions. [2022-04-28 11:14:07,472 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:14:07,473 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:14:07,473 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) Second operand 133 states. [2022-04-28 11:14:07,473 INFO L87 Difference]: Start difference. First operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) Second operand 133 states. [2022-04-28 11:14:07,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:14:07,474 INFO L93 Difference]: Finished difference Result 133 states and 148 transitions. [2022-04-28 11:14:07,474 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 148 transitions. [2022-04-28 11:14:07,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:14:07,475 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:14:07,475 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:14:07,475 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:14:07,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 11:14:07,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 146 transitions. [2022-04-28 11:14:07,477 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 146 transitions. Word has length 57 [2022-04-28 11:14:07,477 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:14:07,477 INFO L495 AbstractCegarLoop]: Abstraction has 132 states and 146 transitions. [2022-04-28 11:14:07,477 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:14:07,477 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 146 transitions. [2022-04-28 11:14:11,822 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 146 edges. 144 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 11:14:11,823 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 146 transitions. [2022-04-28 11:14:11,824 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 11:14:11,824 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:14:11,824 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:14:11,839 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 11:14:12,024 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-28 11:14:12,024 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:14:12,024 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:14:12,025 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 5 times [2022-04-28 11:14:12,025 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:14:12,025 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [844059342] [2022-04-28 11:14:12,025 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:14:12,025 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 6 times [2022-04-28 11:14:12,025 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:14:12,025 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1187563654] [2022-04-28 11:14:12,025 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:14:12,025 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:14:12,033 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:14:12,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1134882959] [2022-04-28 11:14:12,033 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:14:12,033 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:14:12,034 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:14:12,034 INFO L229 MonitoredProcess]: Starting monitored process 22 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:14:12,035 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 11:14:12,467 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 11:14:12,467 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:14:12,469 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 11:14:12,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:14:12,486 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:14:28,692 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:14:34,273 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:14:35,074 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:14:38,884 WARN L833 $PredicateComparison]: unable to prove that (and (let ((.cse3 (+ c_main_~X~0 1)) (.cse2 (+ (* (- 1) c_main_~Y~0) (div (+ c_main_~v~0 c_main_~X~0) 2) (* c_main_~X~0 c_main_~y~0))) (.cse0 (= c_main_~Y~0 0)) (.cse4 (= (mod (+ (* 2 c_main_~X~0 c_main_~y~0) c_main_~v~0 c_main_~X~0) 2) 0))) (or (let ((.cse1 (div .cse2 c_main_~Y~0))) (and (not .cse0) (not (<= .cse1 c_main_~X~0)) (= (mod .cse2 c_main_~Y~0) 0) (= c_main_~xy~0 (* c_main_~y~0 .cse1)) (<= .cse1 .cse3) (= c_main_~yx~0 (* c_main_~Y~0 .cse1)) .cse4)) (and (let ((.cse6 (= c_main_~y~0 0))) (or (let ((.cse5 (div c_main_~xy~0 c_main_~y~0))) (and (<= .cse5 .cse3) (= (mod c_main_~xy~0 c_main_~y~0) 0) (not .cse6) (< c_main_~X~0 .cse5))) (and .cse6 (= c_main_~xy~0 0)))) (= 0 .cse2) .cse0 (= c_main_~yx~0 0) .cse4))) (<= 0 c_main_~X~0)) is different from false [2022-04-28 11:15:19,926 WARN L232 SmtUtils]: Spent 5.09s on a formula simplification. DAG size of input: 3 DAG size of output: 1 (called from [L 988] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2022-04-28 11:15:44,556 INFO L272 TraceCheckUtils]: 0: Hoare triple {16813#true} call ULTIMATE.init(); {16813#true} is VALID [2022-04-28 11:15:44,557 INFO L290 TraceCheckUtils]: 1: Hoare triple {16813#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); {16813#true} is VALID [2022-04-28 11:15:44,557 INFO L290 TraceCheckUtils]: 2: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-28 11:15:44,557 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16813#true} {16813#true} #69#return; {16813#true} is VALID [2022-04-28 11:15:44,557 INFO L272 TraceCheckUtils]: 4: Hoare triple {16813#true} call #t~ret8 := main(); {16813#true} is VALID [2022-04-28 11:15:44,557 INFO L290 TraceCheckUtils]: 5: Hoare triple {16813#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; {16813#true} is VALID [2022-04-28 11:15:44,557 INFO L272 TraceCheckUtils]: 6: Hoare triple {16813#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {16813#true} is VALID [2022-04-28 11:15:44,557 INFO L290 TraceCheckUtils]: 7: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-28 11:15:44,557 INFO L290 TraceCheckUtils]: 8: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-28 11:15:44,557 INFO L290 TraceCheckUtils]: 9: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-28 11:15:44,557 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16813#true} {16813#true} #61#return; {16813#true} is VALID [2022-04-28 11:15:44,557 INFO L290 TraceCheckUtils]: 11: Hoare triple {16813#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {16813#true} is VALID [2022-04-28 11:15:44,557 INFO L272 TraceCheckUtils]: 12: Hoare triple {16813#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {16813#true} is VALID [2022-04-28 11:15:44,557 INFO L290 TraceCheckUtils]: 13: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-28 11:15:44,557 INFO L290 TraceCheckUtils]: 14: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-28 11:15:44,558 INFO L290 TraceCheckUtils]: 15: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-28 11:15:44,558 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16813#true} {16813#true} #63#return; {16813#true} is VALID [2022-04-28 11:15:44,558 INFO L290 TraceCheckUtils]: 17: Hoare triple {16813#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {16869#(<= 0 main_~x~0)} is VALID [2022-04-28 11:15:44,558 INFO L290 TraceCheckUtils]: 18: Hoare triple {16869#(<= 0 main_~x~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16869#(<= 0 main_~x~0)} is VALID [2022-04-28 11:15:44,558 INFO L272 TraceCheckUtils]: 19: Hoare triple {16869#(<= 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)); {16813#true} is VALID [2022-04-28 11:15:44,558 INFO L290 TraceCheckUtils]: 20: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-28 11:15:44,558 INFO L290 TraceCheckUtils]: 21: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-28 11:15:44,559 INFO L290 TraceCheckUtils]: 22: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-28 11:15:44,559 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16813#true} {16869#(<= 0 main_~x~0)} #65#return; {16869#(<= 0 main_~x~0)} is VALID [2022-04-28 11:15:44,560 INFO L290 TraceCheckUtils]: 24: Hoare triple {16869#(<= 0 main_~x~0)} assume !!(~x~0 <= ~X~0); {16891#(<= 0 main_~X~0)} is VALID [2022-04-28 11:15:44,560 INFO L290 TraceCheckUtils]: 25: Hoare triple {16891#(<= 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; {16891#(<= 0 main_~X~0)} is VALID [2022-04-28 11:15:44,560 INFO L290 TraceCheckUtils]: 26: Hoare triple {16891#(<= 0 main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16891#(<= 0 main_~X~0)} is VALID [2022-04-28 11:15:44,561 INFO L290 TraceCheckUtils]: 27: Hoare triple {16891#(<= 0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16891#(<= 0 main_~X~0)} is VALID [2022-04-28 11:15:44,561 INFO L272 TraceCheckUtils]: 28: Hoare triple {16891#(<= 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)); {16813#true} is VALID [2022-04-28 11:15:44,561 INFO L290 TraceCheckUtils]: 29: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-28 11:15:44,561 INFO L290 TraceCheckUtils]: 30: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-28 11:15:44,561 INFO L290 TraceCheckUtils]: 31: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-28 11:15:44,561 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16813#true} {16891#(<= 0 main_~X~0)} #65#return; {16891#(<= 0 main_~X~0)} is VALID [2022-04-28 11:15:44,562 INFO L290 TraceCheckUtils]: 33: Hoare triple {16891#(<= 0 main_~X~0)} assume !!(~x~0 <= ~X~0); {16891#(<= 0 main_~X~0)} is VALID [2022-04-28 11:15:44,562 INFO L290 TraceCheckUtils]: 34: Hoare triple {16891#(<= 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; {16891#(<= 0 main_~X~0)} is VALID [2022-04-28 11:15:44,562 INFO L290 TraceCheckUtils]: 35: Hoare triple {16891#(<= 0 main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16891#(<= 0 main_~X~0)} is VALID [2022-04-28 11:15:44,562 INFO L290 TraceCheckUtils]: 36: Hoare triple {16891#(<= 0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16891#(<= 0 main_~X~0)} is VALID [2022-04-28 11:15:44,562 INFO L272 TraceCheckUtils]: 37: Hoare triple {16891#(<= 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)); {16813#true} is VALID [2022-04-28 11:15:44,563 INFO L290 TraceCheckUtils]: 38: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-28 11:15:44,563 INFO L290 TraceCheckUtils]: 39: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-28 11:15:44,563 INFO L290 TraceCheckUtils]: 40: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-28 11:15:44,563 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16813#true} {16891#(<= 0 main_~X~0)} #65#return; {16891#(<= 0 main_~X~0)} is VALID [2022-04-28 11:15:44,563 INFO L290 TraceCheckUtils]: 42: Hoare triple {16891#(<= 0 main_~X~0)} assume !!(~x~0 <= ~X~0); {16946#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:15:44,564 INFO L290 TraceCheckUtils]: 43: Hoare triple {16946#(and (<= 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; {16946#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:15:44,565 INFO L290 TraceCheckUtils]: 44: Hoare triple {16946#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16953#(and (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:15:44,565 INFO L290 TraceCheckUtils]: 45: Hoare triple {16953#(and (<= 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; {16957#(and (<= 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:15:44,565 INFO L272 TraceCheckUtils]: 46: Hoare triple {16957#(and (<= 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)); {16813#true} is VALID [2022-04-28 11:15:44,565 INFO L290 TraceCheckUtils]: 47: Hoare triple {16813#true} ~cond := #in~cond; {16964#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:15:44,566 INFO L290 TraceCheckUtils]: 48: Hoare triple {16964#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:15:44,566 INFO L290 TraceCheckUtils]: 49: Hoare triple {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:15:44,567 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} {16957#(and (<= 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; {16975#(and (= (+ (* 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:15:44,568 INFO L290 TraceCheckUtils]: 51: Hoare triple {16975#(and (= (+ (* 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); {16979#(and (= (+ (* 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:15:46,570 WARN L290 TraceCheckUtils]: 52: Hoare triple {16979#(and (= (+ (* 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; {16983#(and (<= 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 UNKNOWN [2022-04-28 11:15:46,585 INFO L272 TraceCheckUtils]: 53: Hoare triple {16983#(and (<= 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)); {16987#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:15:46,585 INFO L290 TraceCheckUtils]: 54: Hoare triple {16987#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16991#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:15:46,585 INFO L290 TraceCheckUtils]: 55: Hoare triple {16991#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16814#false} is VALID [2022-04-28 11:15:46,585 INFO L290 TraceCheckUtils]: 56: Hoare triple {16814#false} assume !false; {16814#false} is VALID [2022-04-28 11:15:46,586 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 26 proven. 10 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 11:15:46,586 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:16:01,148 INFO L290 TraceCheckUtils]: 56: Hoare triple {16814#false} assume !false; {16814#false} is VALID [2022-04-28 11:16:01,148 INFO L290 TraceCheckUtils]: 55: Hoare triple {16991#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16814#false} is VALID [2022-04-28 11:16:01,149 INFO L290 TraceCheckUtils]: 54: Hoare triple {16987#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16991#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:01,149 INFO L272 TraceCheckUtils]: 53: Hoare triple {17007#(= (+ (* 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)); {16987#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:16:01,151 INFO L290 TraceCheckUtils]: 52: Hoare triple {17011#(= (+ (* 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; {17007#(= (+ (* 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:16:01,151 INFO L290 TraceCheckUtils]: 51: Hoare triple {17015#(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); {17011#(= (+ (* 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:16:01,152 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} {17019#(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; {17015#(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:16:01,152 INFO L290 TraceCheckUtils]: 49: Hoare triple {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:01,153 INFO L290 TraceCheckUtils]: 48: Hoare triple {17029#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:01,153 INFO L290 TraceCheckUtils]: 47: Hoare triple {16813#true} ~cond := #in~cond; {17029#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:16:01,153 INFO L272 TraceCheckUtils]: 46: Hoare triple {17019#(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)); {16813#true} is VALID [2022-04-28 11:16:01,154 INFO L290 TraceCheckUtils]: 45: Hoare triple {17036#(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; {17019#(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:16:01,157 INFO L290 TraceCheckUtils]: 44: Hoare triple {17040#(forall ((v_main_~x~0_80 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_80 main_~y~0) 2)))) (<= v_main_~x~0_80 main_~X~0) (not (<= v_main_~x~0_80 (+ main_~x~0 1)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17036#(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:16:01,157 INFO L290 TraceCheckUtils]: 43: Hoare triple {17040#(forall ((v_main_~x~0_80 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_80 main_~y~0) 2)))) (<= v_main_~x~0_80 main_~X~0) (not (<= v_main_~x~0_80 (+ 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; {17040#(forall ((v_main_~x~0_80 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_80 main_~y~0) 2)))) (<= v_main_~x~0_80 main_~X~0) (not (<= v_main_~x~0_80 (+ main_~x~0 1)))))} is VALID [2022-04-28 11:16:01,159 INFO L290 TraceCheckUtils]: 42: Hoare triple {16813#true} assume !!(~x~0 <= ~X~0); {17040#(forall ((v_main_~x~0_80 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_80 main_~y~0) 2)))) (<= v_main_~x~0_80 main_~X~0) (not (<= v_main_~x~0_80 (+ main_~x~0 1)))))} is VALID [2022-04-28 11:16:01,159 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16813#true} {16813#true} #65#return; {16813#true} is VALID [2022-04-28 11:16:01,159 INFO L290 TraceCheckUtils]: 40: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-28 11:16:01,159 INFO L290 TraceCheckUtils]: 39: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-28 11:16:01,159 INFO L290 TraceCheckUtils]: 38: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-28 11:16:01,159 INFO L272 TraceCheckUtils]: 37: Hoare triple {16813#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {16813#true} is VALID [2022-04-28 11:16:01,159 INFO L290 TraceCheckUtils]: 36: Hoare triple {16813#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16813#true} is VALID [2022-04-28 11:16:01,160 INFO L290 TraceCheckUtils]: 35: Hoare triple {16813#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16813#true} is VALID [2022-04-28 11:16:01,160 INFO L290 TraceCheckUtils]: 34: Hoare triple {16813#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; {16813#true} is VALID [2022-04-28 11:16:01,160 INFO L290 TraceCheckUtils]: 33: Hoare triple {16813#true} assume !!(~x~0 <= ~X~0); {16813#true} is VALID [2022-04-28 11:16:01,160 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16813#true} {16813#true} #65#return; {16813#true} is VALID [2022-04-28 11:16:01,160 INFO L290 TraceCheckUtils]: 31: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-28 11:16:01,160 INFO L290 TraceCheckUtils]: 30: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-28 11:16:01,160 INFO L290 TraceCheckUtils]: 29: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-28 11:16:01,160 INFO L272 TraceCheckUtils]: 28: Hoare triple {16813#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {16813#true} is VALID [2022-04-28 11:16:01,160 INFO L290 TraceCheckUtils]: 27: Hoare triple {16813#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16813#true} is VALID [2022-04-28 11:16:01,160 INFO L290 TraceCheckUtils]: 26: Hoare triple {16813#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16813#true} is VALID [2022-04-28 11:16:01,160 INFO L290 TraceCheckUtils]: 25: Hoare triple {16813#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; {16813#true} is VALID [2022-04-28 11:16:01,160 INFO L290 TraceCheckUtils]: 24: Hoare triple {16813#true} assume !!(~x~0 <= ~X~0); {16813#true} is VALID [2022-04-28 11:16:01,160 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16813#true} {16813#true} #65#return; {16813#true} is VALID [2022-04-28 11:16:01,160 INFO L290 TraceCheckUtils]: 22: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-28 11:16:01,160 INFO L290 TraceCheckUtils]: 21: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-28 11:16:01,161 INFO L290 TraceCheckUtils]: 20: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-28 11:16:01,161 INFO L272 TraceCheckUtils]: 19: Hoare triple {16813#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {16813#true} is VALID [2022-04-28 11:16:01,161 INFO L290 TraceCheckUtils]: 18: Hoare triple {16813#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16813#true} is VALID [2022-04-28 11:16:01,161 INFO L290 TraceCheckUtils]: 17: Hoare triple {16813#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {16813#true} is VALID [2022-04-28 11:16:01,161 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16813#true} {16813#true} #63#return; {16813#true} is VALID [2022-04-28 11:16:01,161 INFO L290 TraceCheckUtils]: 15: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-28 11:16:01,161 INFO L290 TraceCheckUtils]: 14: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-28 11:16:01,161 INFO L290 TraceCheckUtils]: 13: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-28 11:16:01,161 INFO L272 TraceCheckUtils]: 12: Hoare triple {16813#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {16813#true} is VALID [2022-04-28 11:16:01,161 INFO L290 TraceCheckUtils]: 11: Hoare triple {16813#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {16813#true} is VALID [2022-04-28 11:16:01,161 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16813#true} {16813#true} #61#return; {16813#true} is VALID [2022-04-28 11:16:01,161 INFO L290 TraceCheckUtils]: 9: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-28 11:16:01,161 INFO L290 TraceCheckUtils]: 8: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-28 11:16:01,161 INFO L290 TraceCheckUtils]: 7: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-28 11:16:01,161 INFO L272 TraceCheckUtils]: 6: Hoare triple {16813#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {16813#true} is VALID [2022-04-28 11:16:01,162 INFO L290 TraceCheckUtils]: 5: Hoare triple {16813#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; {16813#true} is VALID [2022-04-28 11:16:01,162 INFO L272 TraceCheckUtils]: 4: Hoare triple {16813#true} call #t~ret8 := main(); {16813#true} is VALID [2022-04-28 11:16:01,162 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16813#true} {16813#true} #69#return; {16813#true} is VALID [2022-04-28 11:16:01,162 INFO L290 TraceCheckUtils]: 2: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-28 11:16:01,162 INFO L290 TraceCheckUtils]: 1: Hoare triple {16813#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); {16813#true} is VALID [2022-04-28 11:16:01,162 INFO L272 TraceCheckUtils]: 0: Hoare triple {16813#true} call ULTIMATE.init(); {16813#true} is VALID [2022-04-28 11:16:01,162 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:16:01,162 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:16:01,162 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1187563654] [2022-04-28 11:16:01,162 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:16:01,162 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1134882959] [2022-04-28 11:16:01,163 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1134882959] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:16:01,163 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:16:01,163 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12] total 21 [2022-04-28 11:16:01,163 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:16:01,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [844059342] [2022-04-28 11:16:01,163 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [844059342] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:16:01,163 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:16:01,163 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:16:01,163 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1146476663] [2022-04-28 11:16:01,163 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:16:01,164 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 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:16:01,164 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:16:01,164 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:16:03,215 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 42 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:16:03,215 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:16:03,216 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:16:03,216 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:16:03,216 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=313, Unknown=1, NotChecked=36, Total=420 [2022-04-28 11:16:03,216 INFO L87 Difference]: Start difference. First operand 132 states and 146 transitions. Second operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:16:06,223 WARN L833 $PredicateComparison]: unable to prove that (let ((.cse7 (* c_main_~X~0 c_main_~y~0)) (.cse3 (+ c_main_~X~0 1))) (and (let ((.cse2 (+ (* (- 1) c_main_~Y~0) (div (+ c_main_~v~0 c_main_~X~0) 2) .cse7)) (.cse0 (= c_main_~Y~0 0)) (.cse4 (= (mod (+ (* 2 c_main_~X~0 c_main_~y~0) c_main_~v~0 c_main_~X~0) 2) 0))) (or (let ((.cse1 (div .cse2 c_main_~Y~0))) (and (not .cse0) (not (<= .cse1 c_main_~X~0)) (= (mod .cse2 c_main_~Y~0) 0) (= c_main_~xy~0 (* c_main_~y~0 .cse1)) (<= .cse1 .cse3) (= c_main_~yx~0 (* c_main_~Y~0 .cse1)) .cse4)) (and (let ((.cse6 (= c_main_~y~0 0))) (or (let ((.cse5 (div c_main_~xy~0 c_main_~y~0))) (and (<= .cse5 .cse3) (= (mod c_main_~xy~0 c_main_~y~0) 0) (not .cse6) (< c_main_~X~0 .cse5))) (and .cse6 (= c_main_~xy~0 0)))) (= 0 .cse2) .cse0 (= c_main_~yx~0 0) .cse4))) (<= 0 c_main_~X~0) (not (<= c_main_~x~0 c_main_~X~0)) (= (+ (* 2 (* c_main_~Y~0 c_main_~x~0)) (* 2 c_main_~Y~0)) (+ (* 2 .cse7) c_main_~v~0 c_main_~X~0)) (<= c_main_~x~0 .cse3))) is different from false [2022-04-28 11:16:06,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:06,295 INFO L93 Difference]: Finished difference Result 139 states and 152 transitions. [2022-04-28 11:16:06,295 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 11:16:06,295 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 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:16:06,295 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:16:06,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:16:06,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 42 transitions. [2022-04-28 11:16:06,296 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:16:06,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 42 transitions. [2022-04-28 11:16:06,296 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 42 transitions. [2022-04-28 11:16:08,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 41 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:16:08,354 INFO L225 Difference]: With dead ends: 139 [2022-04-28 11:16:08,354 INFO L226 Difference]: Without dead ends: 131 [2022-04-28 11:16:08,354 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 93 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 142 ImplicationChecksByTransitivity, 4.8s TimeCoverageRelationStatistics Valid=170, Invalid=648, Unknown=2, NotChecked=110, Total=930 [2022-04-28 11:16:08,355 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 23 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 139 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 170 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 139 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 24 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:16:08,355 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 150 Invalid, 170 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 139 Invalid, 0 Unknown, 24 Unchecked, 0.1s Time] [2022-04-28 11:16:08,355 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-28 11:16:08,693 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 126. [2022-04-28 11:16:08,694 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:16:08,694 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:16:08,694 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:16:08,694 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:16:08,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:08,696 INFO L93 Difference]: Finished difference Result 131 states and 144 transitions. [2022-04-28 11:16:08,696 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 144 transitions. [2022-04-28 11:16:08,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:16:08,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:16:08,696 INFO L74 IsIncluded]: Start isIncluded. First operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) Second operand 131 states. [2022-04-28 11:16:08,696 INFO L87 Difference]: Start difference. First operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) Second operand 131 states. [2022-04-28 11:16:08,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:08,698 INFO L93 Difference]: Finished difference Result 131 states and 144 transitions. [2022-04-28 11:16:08,698 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 144 transitions. [2022-04-28 11:16:08,698 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:16:08,698 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:16:08,698 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:16:08,698 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:16:08,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:16:08,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 138 transitions. [2022-04-28 11:16:08,700 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 138 transitions. Word has length 57 [2022-04-28 11:16:08,700 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:16:08,700 INFO L495 AbstractCegarLoop]: Abstraction has 126 states and 138 transitions. [2022-04-28 11:16:08,700 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:16:08,700 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 126 states and 138 transitions. [2022-04-28 11:16:11,089 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 137 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:16:11,090 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 138 transitions. [2022-04-28 11:16:11,090 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:16:11,090 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:16:11,090 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:16:11,095 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Ended with exit code 0 [2022-04-28 11:16:11,290 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-28 11:16:11,291 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:16:11,291 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:16:11,291 INFO L85 PathProgramCache]: Analyzing trace with hash 1830651545, now seen corresponding path program 7 times [2022-04-28 11:16:11,291 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:16:11,291 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [141312365] [2022-04-28 11:16:11,291 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:16:11,292 INFO L85 PathProgramCache]: Analyzing trace with hash 1830651545, now seen corresponding path program 8 times [2022-04-28 11:16:11,292 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:16:11,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1193707185] [2022-04-28 11:16:11,292 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:16:11,292 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:16:11,300 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:16:11,300 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [265584278] [2022-04-28 11:16:11,300 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:16:11,300 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:16:11,300 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:16:11,301 INFO L229 MonitoredProcess]: Starting monitored process 23 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:16:11,308 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 11:16:11,357 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:16:11,358 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:16:11,358 INFO L263 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 11:16:11,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:16:11,374 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:16:11,980 INFO L272 TraceCheckUtils]: 0: Hoare triple {17987#true} call ULTIMATE.init(); {17987#true} is VALID [2022-04-28 11:16:11,980 INFO L290 TraceCheckUtils]: 1: Hoare triple {17987#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); {17987#true} is VALID [2022-04-28 11:16:11,981 INFO L290 TraceCheckUtils]: 2: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-28 11:16:11,981 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17987#true} {17987#true} #69#return; {17987#true} is VALID [2022-04-28 11:16:11,981 INFO L272 TraceCheckUtils]: 4: Hoare triple {17987#true} call #t~ret8 := main(); {17987#true} is VALID [2022-04-28 11:16:11,981 INFO L290 TraceCheckUtils]: 5: Hoare triple {17987#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; {17987#true} is VALID [2022-04-28 11:16:11,981 INFO L272 TraceCheckUtils]: 6: Hoare triple {17987#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {17987#true} is VALID [2022-04-28 11:16:11,981 INFO L290 TraceCheckUtils]: 7: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-28 11:16:11,981 INFO L290 TraceCheckUtils]: 8: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-28 11:16:11,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-28 11:16:11,981 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17987#true} {17987#true} #61#return; {17987#true} is VALID [2022-04-28 11:16:11,981 INFO L290 TraceCheckUtils]: 11: Hoare triple {17987#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {17987#true} is VALID [2022-04-28 11:16:11,981 INFO L272 TraceCheckUtils]: 12: Hoare triple {17987#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {17987#true} is VALID [2022-04-28 11:16:11,981 INFO L290 TraceCheckUtils]: 13: Hoare triple {17987#true} ~cond := #in~cond; {18031#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:16:11,982 INFO L290 TraceCheckUtils]: 14: Hoare triple {18031#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {18035#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:16:11,982 INFO L290 TraceCheckUtils]: 15: Hoare triple {18035#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {18035#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:16:11,982 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18035#(not (= |assume_abort_if_not_#in~cond| 0))} {17987#true} #63#return; {18042#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:16:11,983 INFO L290 TraceCheckUtils]: 17: Hoare triple {18042#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {18046#(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 100))} is VALID [2022-04-28 11:16:11,983 INFO L290 TraceCheckUtils]: 18: Hoare triple {18046#(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 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18046#(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 100))} is VALID [2022-04-28 11:16:11,983 INFO L272 TraceCheckUtils]: 19: Hoare triple {18046#(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 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-28 11:16:11,983 INFO L290 TraceCheckUtils]: 20: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-28 11:16:11,984 INFO L290 TraceCheckUtils]: 21: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-28 11:16:11,984 INFO L290 TraceCheckUtils]: 22: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-28 11:16:11,984 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17987#true} {18046#(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 100))} #65#return; {18046#(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 100))} is VALID [2022-04-28 11:16:11,984 INFO L290 TraceCheckUtils]: 24: Hoare triple {18046#(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 100))} assume !!(~x~0 <= ~X~0); {18046#(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 100))} is VALID [2022-04-28 11:16:11,985 INFO L290 TraceCheckUtils]: 25: Hoare triple {18046#(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 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18071#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:16:11,986 INFO L290 TraceCheckUtils]: 26: Hoare triple {18071#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:16:11,986 INFO L290 TraceCheckUtils]: 27: Hoare triple {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:16:11,986 INFO L272 TraceCheckUtils]: 28: Hoare triple {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 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)); {17987#true} is VALID [2022-04-28 11:16:11,986 INFO L290 TraceCheckUtils]: 29: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-28 11:16:11,986 INFO L290 TraceCheckUtils]: 30: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-28 11:16:11,986 INFO L290 TraceCheckUtils]: 31: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-28 11:16:11,987 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17987#true} {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #65#return; {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:16:11,987 INFO L290 TraceCheckUtils]: 33: Hoare triple {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:16:11,988 INFO L290 TraceCheckUtils]: 34: Hoare triple {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18100#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:16:11,988 INFO L290 TraceCheckUtils]: 35: Hoare triple {18100#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:16:11,989 INFO L290 TraceCheckUtils]: 36: Hoare triple {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:16:11,989 INFO L272 TraceCheckUtils]: 37: Hoare triple {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-28 11:16:11,989 INFO L290 TraceCheckUtils]: 38: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-28 11:16:11,989 INFO L290 TraceCheckUtils]: 39: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-28 11:16:11,989 INFO L290 TraceCheckUtils]: 40: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-28 11:16:11,990 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17987#true} {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #65#return; {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:16:11,990 INFO L290 TraceCheckUtils]: 42: Hoare triple {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:16:11,991 INFO L290 TraceCheckUtils]: 43: Hoare triple {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18129#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:16:11,991 INFO L290 TraceCheckUtils]: 44: Hoare triple {18129#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:16:11,991 INFO L290 TraceCheckUtils]: 45: Hoare triple {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:16:11,992 INFO L272 TraceCheckUtils]: 46: Hoare triple {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-28 11:16:11,992 INFO L290 TraceCheckUtils]: 47: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-28 11:16:11,992 INFO L290 TraceCheckUtils]: 48: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-28 11:16:11,992 INFO L290 TraceCheckUtils]: 49: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-28 11:16:11,992 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17987#true} {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #65#return; {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:16:11,993 INFO L290 TraceCheckUtils]: 51: Hoare triple {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:16:11,993 INFO L290 TraceCheckUtils]: 52: Hoare triple {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18158#(and (= main_~x~0 3) (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:16:11,994 INFO L290 TraceCheckUtils]: 53: Hoare triple {18158#(and (= main_~x~0 3) (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18162#(and (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= main_~x~0 4))} is VALID [2022-04-28 11:16:11,994 INFO L290 TraceCheckUtils]: 54: Hoare triple {18162#(and (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= main_~x~0 4))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18166#(and (= main_~xy~0 0) (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (= main_~yx~0 (* main_~Y~0 4)) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:16:11,995 INFO L272 TraceCheckUtils]: 55: Hoare triple {18166#(and (= main_~xy~0 0) (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (= main_~yx~0 (* main_~Y~0 4)) (<= 0 main_~Y~0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18170#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:16:11,995 INFO L290 TraceCheckUtils]: 56: Hoare triple {18170#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18174#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:11,996 INFO L290 TraceCheckUtils]: 57: Hoare triple {18174#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17988#false} is VALID [2022-04-28 11:16:11,996 INFO L290 TraceCheckUtils]: 58: Hoare triple {17988#false} assume !false; {17988#false} is VALID [2022-04-28 11:16:11,996 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 11 proven. 38 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-04-28 11:16:11,996 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:16:12,318 INFO L290 TraceCheckUtils]: 58: Hoare triple {17988#false} assume !false; {17988#false} is VALID [2022-04-28 11:16:12,318 INFO L290 TraceCheckUtils]: 57: Hoare triple {18174#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17988#false} is VALID [2022-04-28 11:16:12,319 INFO L290 TraceCheckUtils]: 56: Hoare triple {18170#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18174#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:12,319 INFO L272 TraceCheckUtils]: 55: Hoare triple {18190#(= (+ (* 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)); {18170#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:16:12,320 INFO L290 TraceCheckUtils]: 54: Hoare triple {18194#(= (+ (* 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; {18190#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:16:12,323 INFO L290 TraceCheckUtils]: 53: Hoare triple {18198#(= (+ (* (* 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; {18194#(= (+ (* 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:16:12,323 INFO L290 TraceCheckUtils]: 52: Hoare triple {18194#(= (+ (* 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; {18198#(= (+ (* (* 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:16:12,324 INFO L290 TraceCheckUtils]: 51: Hoare triple {18194#(= (+ (* 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 !!(~x~0 <= ~X~0); {18194#(= (+ (* 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:16:12,324 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17987#true} {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {18194#(= (+ (* 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:16:12,324 INFO L290 TraceCheckUtils]: 49: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-28 11:16:12,324 INFO L290 TraceCheckUtils]: 48: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-28 11:16:12,324 INFO L290 TraceCheckUtils]: 47: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-28 11:16:12,325 INFO L272 TraceCheckUtils]: 46: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-28 11:16:12,325 INFO L290 TraceCheckUtils]: 45: Hoare triple {18194#(= (+ (* 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; {18194#(= (+ (* 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:16:12,326 INFO L290 TraceCheckUtils]: 44: Hoare triple {18198#(= (+ (* (* 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; {18194#(= (+ (* 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:16:12,327 INFO L290 TraceCheckUtils]: 43: Hoare triple {18194#(= (+ (* 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; {18198#(= (+ (* (* 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:16:12,327 INFO L290 TraceCheckUtils]: 42: Hoare triple {18194#(= (+ (* 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 !!(~x~0 <= ~X~0); {18194#(= (+ (* 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:16:12,328 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17987#true} {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {18194#(= (+ (* 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:16:12,328 INFO L290 TraceCheckUtils]: 40: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-28 11:16:12,328 INFO L290 TraceCheckUtils]: 39: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-28 11:16:12,328 INFO L290 TraceCheckUtils]: 38: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-28 11:16:12,328 INFO L272 TraceCheckUtils]: 37: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-28 11:16:12,328 INFO L290 TraceCheckUtils]: 36: Hoare triple {18194#(= (+ (* 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; {18194#(= (+ (* 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:16:12,330 INFO L290 TraceCheckUtils]: 35: Hoare triple {18198#(= (+ (* (* 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; {18194#(= (+ (* 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:16:12,331 INFO L290 TraceCheckUtils]: 34: Hoare triple {18194#(= (+ (* 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; {18198#(= (+ (* (* 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:16:12,331 INFO L290 TraceCheckUtils]: 33: Hoare triple {18194#(= (+ (* 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 !!(~x~0 <= ~X~0); {18194#(= (+ (* 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:16:12,332 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17987#true} {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {18194#(= (+ (* 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:16:12,332 INFO L290 TraceCheckUtils]: 31: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-28 11:16:12,332 INFO L290 TraceCheckUtils]: 30: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-28 11:16:12,332 INFO L290 TraceCheckUtils]: 29: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-28 11:16:12,332 INFO L272 TraceCheckUtils]: 28: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-28 11:16:12,332 INFO L290 TraceCheckUtils]: 27: Hoare triple {18194#(= (+ (* 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; {18194#(= (+ (* 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:16:12,336 INFO L290 TraceCheckUtils]: 26: Hoare triple {18198#(= (+ (* (* 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; {18194#(= (+ (* 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:16:12,336 INFO L290 TraceCheckUtils]: 25: Hoare triple {18194#(= (+ (* 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; {18198#(= (+ (* (* 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:16:12,337 INFO L290 TraceCheckUtils]: 24: Hoare triple {18194#(= (+ (* 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 !!(~x~0 <= ~X~0); {18194#(= (+ (* 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:16:12,337 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17987#true} {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {18194#(= (+ (* 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:16:12,337 INFO L290 TraceCheckUtils]: 22: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-28 11:16:12,338 INFO L290 TraceCheckUtils]: 21: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-28 11:16:12,338 INFO L290 TraceCheckUtils]: 20: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-28 11:16:12,338 INFO L272 TraceCheckUtils]: 19: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-28 11:16:12,338 INFO L290 TraceCheckUtils]: 18: Hoare triple {18194#(= (+ (* 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; {18194#(= (+ (* 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:16:12,338 INFO L290 TraceCheckUtils]: 17: Hoare triple {17987#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {18194#(= (+ (* 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:16:12,338 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17987#true} {17987#true} #63#return; {17987#true} is VALID [2022-04-28 11:16:12,339 INFO L290 TraceCheckUtils]: 15: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-28 11:16:12,339 INFO L290 TraceCheckUtils]: 14: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-28 11:16:12,339 INFO L290 TraceCheckUtils]: 13: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-28 11:16:12,339 INFO L272 TraceCheckUtils]: 12: Hoare triple {17987#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {17987#true} is VALID [2022-04-28 11:16:12,339 INFO L290 TraceCheckUtils]: 11: Hoare triple {17987#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {17987#true} is VALID [2022-04-28 11:16:12,339 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17987#true} {17987#true} #61#return; {17987#true} is VALID [2022-04-28 11:16:12,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-28 11:16:12,339 INFO L290 TraceCheckUtils]: 8: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-28 11:16:12,339 INFO L290 TraceCheckUtils]: 7: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-28 11:16:12,339 INFO L272 TraceCheckUtils]: 6: Hoare triple {17987#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {17987#true} is VALID [2022-04-28 11:16:12,339 INFO L290 TraceCheckUtils]: 5: Hoare triple {17987#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; {17987#true} is VALID [2022-04-28 11:16:12,339 INFO L272 TraceCheckUtils]: 4: Hoare triple {17987#true} call #t~ret8 := main(); {17987#true} is VALID [2022-04-28 11:16:12,339 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17987#true} {17987#true} #69#return; {17987#true} is VALID [2022-04-28 11:16:12,339 INFO L290 TraceCheckUtils]: 2: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-28 11:16:12,339 INFO L290 TraceCheckUtils]: 1: Hoare triple {17987#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); {17987#true} is VALID [2022-04-28 11:16:12,340 INFO L272 TraceCheckUtils]: 0: Hoare triple {17987#true} call ULTIMATE.init(); {17987#true} is VALID [2022-04-28 11:16:12,340 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 62 trivial. 0 not checked. [2022-04-28 11:16:12,340 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:16:12,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1193707185] [2022-04-28 11:16:12,340 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:16:12,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [265584278] [2022-04-28 11:16:12,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [265584278] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:16:12,340 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:16:12,340 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 7] total 20 [2022-04-28 11:16:12,340 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:16:12,341 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [141312365] [2022-04-28 11:16:12,341 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [141312365] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:16:12,341 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:16:12,341 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 11:16:12,341 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1833325395] [2022-04-28 11:16:12,341 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:16:12,341 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:16:12,341 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:16:12,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:12,383 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:16:12,383 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 11:16:12,383 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:16:12,384 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 11:16:12,384 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=323, Unknown=0, NotChecked=0, Total=380 [2022-04-28 11:16:12,384 INFO L87 Difference]: Start difference. First operand 126 states and 138 transitions. Second operand has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:13,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:13,912 INFO L93 Difference]: Finished difference Result 139 states and 153 transitions. [2022-04-28 11:16:13,912 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 11:16:13,912 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:16:13,912 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:16:13,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:13,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 66 transitions. [2022-04-28 11:16:13,913 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:13,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 66 transitions. [2022-04-28 11:16:13,914 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 66 transitions. [2022-04-28 11:16:13,986 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:16:13,988 INFO L225 Difference]: With dead ends: 139 [2022-04-28 11:16:13,988 INFO L226 Difference]: Without dead ends: 137 [2022-04-28 11:16:13,988 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 94 SyntacticMatches, 5 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 134 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=72, Invalid=434, Unknown=0, NotChecked=0, Total=506 [2022-04-28 11:16:13,988 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 20 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 600 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 611 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 600 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 11:16:13,989 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 232 Invalid, 611 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 600 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 11:16:13,989 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-28 11:16:14,381 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 135. [2022-04-28 11:16:14,381 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:16:14,382 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 11:16:14,382 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 11:16:14,382 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 11:16:14,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:14,384 INFO L93 Difference]: Finished difference Result 137 states and 151 transitions. [2022-04-28 11:16:14,384 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2022-04-28 11:16:14,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:16:14,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:16:14,384 INFO L74 IsIncluded]: Start isIncluded. First operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) Second operand 137 states. [2022-04-28 11:16:14,384 INFO L87 Difference]: Start difference. First operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) Second operand 137 states. [2022-04-28 11:16:14,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:14,386 INFO L93 Difference]: Finished difference Result 137 states and 151 transitions. [2022-04-28 11:16:14,386 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2022-04-28 11:16:14,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:16:14,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:16:14,386 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:16:14,386 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:16:14,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 11:16:14,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 148 transitions. [2022-04-28 11:16:14,388 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 148 transitions. Word has length 59 [2022-04-28 11:16:14,388 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:16:14,388 INFO L495 AbstractCegarLoop]: Abstraction has 135 states and 148 transitions. [2022-04-28 11:16:14,388 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:14,388 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 135 states and 148 transitions. [2022-04-28 11:16:16,811 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 147 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:16:16,812 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 148 transitions. [2022-04-28 11:16:16,812 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:16:16,812 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:16:16,812 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:16:16,820 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-28 11:16:17,016 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:16:17,017 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:16:17,017 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:16:17,017 INFO L85 PathProgramCache]: Analyzing trace with hash -689308389, now seen corresponding path program 15 times [2022-04-28 11:16:17,017 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:16:17,017 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [567379479] [2022-04-28 11:16:17,017 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:16:17,017 INFO L85 PathProgramCache]: Analyzing trace with hash -689308389, now seen corresponding path program 16 times [2022-04-28 11:16:17,017 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:16:17,017 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1065702417] [2022-04-28 11:16:17,017 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:16:17,018 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:16:17,025 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:16:17,026 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1441870001] [2022-04-28 11:16:17,026 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:16:17,026 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:16:17,026 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:16:17,027 INFO L229 MonitoredProcess]: Starting monitored process 24 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:16:17,027 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 11:16:17,066 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:16:17,066 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:16:17,067 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-28 11:16:17,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:16:17,080 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:16:21,024 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:16:23,788 INFO L272 TraceCheckUtils]: 0: Hoare triple {19188#true} call ULTIMATE.init(); {19188#true} is VALID [2022-04-28 11:16:23,788 INFO L290 TraceCheckUtils]: 1: Hoare triple {19188#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); {19188#true} is VALID [2022-04-28 11:16:23,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-28 11:16:23,788 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19188#true} {19188#true} #69#return; {19188#true} is VALID [2022-04-28 11:16:23,788 INFO L272 TraceCheckUtils]: 4: Hoare triple {19188#true} call #t~ret8 := main(); {19188#true} is VALID [2022-04-28 11:16:23,788 INFO L290 TraceCheckUtils]: 5: Hoare triple {19188#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; {19188#true} is VALID [2022-04-28 11:16:23,788 INFO L272 TraceCheckUtils]: 6: Hoare triple {19188#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {19188#true} is VALID [2022-04-28 11:16:23,788 INFO L290 TraceCheckUtils]: 7: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-28 11:16:23,788 INFO L290 TraceCheckUtils]: 8: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-28 11:16:23,789 INFO L290 TraceCheckUtils]: 9: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-28 11:16:23,789 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19188#true} {19188#true} #61#return; {19188#true} is VALID [2022-04-28 11:16:23,789 INFO L290 TraceCheckUtils]: 11: Hoare triple {19188#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {19188#true} is VALID [2022-04-28 11:16:23,789 INFO L272 TraceCheckUtils]: 12: Hoare triple {19188#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {19188#true} is VALID [2022-04-28 11:16:23,789 INFO L290 TraceCheckUtils]: 13: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-28 11:16:23,789 INFO L290 TraceCheckUtils]: 14: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-28 11:16:23,789 INFO L290 TraceCheckUtils]: 15: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-28 11:16:23,789 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {19188#true} {19188#true} #63#return; {19188#true} is VALID [2022-04-28 11:16:23,789 INFO L290 TraceCheckUtils]: 17: Hoare triple {19188#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {19244#(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:16:23,790 INFO L290 TraceCheckUtils]: 18: Hoare triple {19244#(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; {19244#(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:16:23,790 INFO L272 TraceCheckUtils]: 19: Hoare triple {19244#(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)); {19188#true} is VALID [2022-04-28 11:16:23,790 INFO L290 TraceCheckUtils]: 20: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-28 11:16:23,790 INFO L290 TraceCheckUtils]: 21: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-28 11:16:23,790 INFO L290 TraceCheckUtils]: 22: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-28 11:16:23,791 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19188#true} {19244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {19244#(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:16:23,791 INFO L290 TraceCheckUtils]: 24: Hoare triple {19244#(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); {19244#(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:16:23,792 INFO L290 TraceCheckUtils]: 25: Hoare triple {19244#(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; {19269#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:16:23,792 INFO L290 TraceCheckUtils]: 26: Hoare triple {19269#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-28 11:16:23,793 INFO L290 TraceCheckUtils]: 27: Hoare triple {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19277#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} is VALID [2022-04-28 11:16:23,793 INFO L272 TraceCheckUtils]: 28: Hoare triple {19277#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~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)); {19188#true} is VALID [2022-04-28 11:16:23,793 INFO L290 TraceCheckUtils]: 29: Hoare triple {19188#true} ~cond := #in~cond; {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:23,793 INFO L290 TraceCheckUtils]: 30: Hoare triple {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:23,794 INFO L290 TraceCheckUtils]: 31: Hoare triple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:23,794 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} {19277#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} #65#return; {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-28 11:16:23,795 INFO L290 TraceCheckUtils]: 33: Hoare triple {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-28 11:16:23,795 INFO L290 TraceCheckUtils]: 34: Hoare triple {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19301#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:16:23,796 INFO L290 TraceCheckUtils]: 35: Hoare triple {19301#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:16:23,796 INFO L290 TraceCheckUtils]: 36: Hoare triple {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:16:23,796 INFO L272 TraceCheckUtils]: 37: Hoare triple {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* 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)); {19188#true} is VALID [2022-04-28 11:16:23,797 INFO L290 TraceCheckUtils]: 38: Hoare triple {19188#true} ~cond := #in~cond; {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:23,797 INFO L290 TraceCheckUtils]: 39: Hoare triple {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:23,797 INFO L290 TraceCheckUtils]: 40: Hoare triple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:23,798 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #65#return; {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:16:23,798 INFO L290 TraceCheckUtils]: 42: Hoare triple {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {19327#(and (= (+ (- 1) main_~x~0) 1) (<= main_~x~0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:16:23,799 INFO L290 TraceCheckUtils]: 43: Hoare triple {19327#(and (= (+ (- 1) main_~x~0) 1) (<= main_~x~0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19331#(and (= (+ (- 1) main_~x~0) 1) (<= main_~x~0 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:16:23,799 INFO L290 TraceCheckUtils]: 44: Hoare triple {19331#(and (= (+ (- 1) main_~x~0) 1) (<= main_~x~0 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19335#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 3) (= main_~y~0 0))} is VALID [2022-04-28 11:16:23,800 INFO L290 TraceCheckUtils]: 45: Hoare triple {19335#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 3) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19339#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 3) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:16:23,800 INFO L272 TraceCheckUtils]: 46: Hoare triple {19339#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 3) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 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)); {19188#true} is VALID [2022-04-28 11:16:23,800 INFO L290 TraceCheckUtils]: 47: Hoare triple {19188#true} ~cond := #in~cond; {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:23,800 INFO L290 TraceCheckUtils]: 48: Hoare triple {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:23,800 INFO L290 TraceCheckUtils]: 49: Hoare triple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:23,802 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} {19339#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 3) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {19355#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* 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)) (<= main_~x~0 3) (= main_~y~0 0))} is VALID [2022-04-28 11:16:23,802 INFO L290 TraceCheckUtils]: 51: Hoare triple {19355#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* 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)) (<= main_~x~0 3) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {19355#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* 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)) (<= main_~x~0 3) (= main_~y~0 0))} is VALID [2022-04-28 11:16:23,803 INFO L290 TraceCheckUtils]: 52: Hoare triple {19355#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* 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)) (<= main_~x~0 3) (= 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; {19362#(and (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3))) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (= main_~y~0 1) (<= 2 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-28 11:16:23,805 INFO L290 TraceCheckUtils]: 53: Hoare triple {19362#(and (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3))) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (= main_~y~0 1) (<= 2 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19366#(and (= (+ main_~v~0 (* main_~X~0 3)) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (= main_~y~0 1) (<= 2 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-28 11:16:23,807 INFO L290 TraceCheckUtils]: 54: Hoare triple {19366#(and (= (+ main_~v~0 (* main_~X~0 3)) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (= main_~y~0 1) (<= 2 main_~X~0) (<= (* 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; {19370#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (<= 2 main_~X~0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-28 11:16:23,809 INFO L272 TraceCheckUtils]: 55: Hoare triple {19370#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (<= 2 main_~X~0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= main_~X~0 main_~xy~0) (<= (* 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)); {19374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:16:23,809 INFO L290 TraceCheckUtils]: 56: Hoare triple {19374#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:23,810 INFO L290 TraceCheckUtils]: 57: Hoare triple {19378#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19189#false} is VALID [2022-04-28 11:16:23,810 INFO L290 TraceCheckUtils]: 58: Hoare triple {19189#false} assume !false; {19189#false} is VALID [2022-04-28 11:16:23,810 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 14 proven. 41 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 11:16:23,810 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:16:30,451 INFO L290 TraceCheckUtils]: 58: Hoare triple {19189#false} assume !false; {19189#false} is VALID [2022-04-28 11:16:30,451 INFO L290 TraceCheckUtils]: 57: Hoare triple {19378#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19189#false} is VALID [2022-04-28 11:16:30,451 INFO L290 TraceCheckUtils]: 56: Hoare triple {19374#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:30,452 INFO L272 TraceCheckUtils]: 55: Hoare triple {19394#(= (+ (* 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)); {19374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:16:30,453 INFO L290 TraceCheckUtils]: 54: Hoare triple {19398#(= (+ (* 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; {19394#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:16:30,457 INFO L290 TraceCheckUtils]: 53: Hoare triple {19402#(= (+ (* (* 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; {19398#(= (+ (* 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:16:30,458 INFO L290 TraceCheckUtils]: 52: Hoare triple {19406#(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; {19402#(= (+ (* (* 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:16:30,459 INFO L290 TraceCheckUtils]: 51: Hoare triple {19406#(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 !!(~x~0 <= ~X~0); {19406#(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:16:30,459 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} {19413#(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)))))} #65#return; {19406#(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:16:30,460 INFO L290 TraceCheckUtils]: 49: Hoare triple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:30,460 INFO L290 TraceCheckUtils]: 48: Hoare triple {19423#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:30,460 INFO L290 TraceCheckUtils]: 47: Hoare triple {19188#true} ~cond := #in~cond; {19423#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:16:30,460 INFO L272 TraceCheckUtils]: 46: Hoare triple {19413#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-28 11:16:30,461 INFO L290 TraceCheckUtils]: 45: Hoare triple {19188#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19413#(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)))))} is VALID [2022-04-28 11:16:30,461 INFO L290 TraceCheckUtils]: 44: Hoare triple {19188#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19188#true} is VALID [2022-04-28 11:16:30,462 INFO L290 TraceCheckUtils]: 43: Hoare triple {19188#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19188#true} is VALID [2022-04-28 11:16:30,462 INFO L290 TraceCheckUtils]: 42: Hoare triple {19188#true} assume !!(~x~0 <= ~X~0); {19188#true} is VALID [2022-04-28 11:16:30,462 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19188#true} {19188#true} #65#return; {19188#true} is VALID [2022-04-28 11:16:30,462 INFO L290 TraceCheckUtils]: 40: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-28 11:16:30,462 INFO L290 TraceCheckUtils]: 39: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-28 11:16:30,462 INFO L290 TraceCheckUtils]: 38: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-28 11:16:30,462 INFO L272 TraceCheckUtils]: 37: Hoare triple {19188#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-28 11:16:30,462 INFO L290 TraceCheckUtils]: 36: Hoare triple {19188#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19188#true} is VALID [2022-04-28 11:16:30,462 INFO L290 TraceCheckUtils]: 35: Hoare triple {19188#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19188#true} is VALID [2022-04-28 11:16:30,462 INFO L290 TraceCheckUtils]: 34: Hoare triple {19188#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19188#true} is VALID [2022-04-28 11:16:30,462 INFO L290 TraceCheckUtils]: 33: Hoare triple {19188#true} assume !!(~x~0 <= ~X~0); {19188#true} is VALID [2022-04-28 11:16:30,462 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19188#true} {19188#true} #65#return; {19188#true} is VALID [2022-04-28 11:16:30,462 INFO L290 TraceCheckUtils]: 31: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-28 11:16:30,462 INFO L290 TraceCheckUtils]: 30: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-28 11:16:30,462 INFO L290 TraceCheckUtils]: 29: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-28 11:16:30,463 INFO L272 TraceCheckUtils]: 28: Hoare triple {19188#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-28 11:16:30,463 INFO L290 TraceCheckUtils]: 27: Hoare triple {19188#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19188#true} is VALID [2022-04-28 11:16:30,463 INFO L290 TraceCheckUtils]: 26: Hoare triple {19188#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19188#true} is VALID [2022-04-28 11:16:30,463 INFO L290 TraceCheckUtils]: 25: Hoare triple {19188#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19188#true} is VALID [2022-04-28 11:16:30,463 INFO L290 TraceCheckUtils]: 24: Hoare triple {19188#true} assume !!(~x~0 <= ~X~0); {19188#true} is VALID [2022-04-28 11:16:30,463 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19188#true} {19188#true} #65#return; {19188#true} is VALID [2022-04-28 11:16:30,463 INFO L290 TraceCheckUtils]: 22: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-28 11:16:30,463 INFO L290 TraceCheckUtils]: 21: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-28 11:16:30,463 INFO L290 TraceCheckUtils]: 20: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-28 11:16:30,463 INFO L272 TraceCheckUtils]: 19: Hoare triple {19188#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-28 11:16:30,463 INFO L290 TraceCheckUtils]: 18: Hoare triple {19188#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19188#true} is VALID [2022-04-28 11:16:30,463 INFO L290 TraceCheckUtils]: 17: Hoare triple {19188#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {19188#true} is VALID [2022-04-28 11:16:30,463 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {19188#true} {19188#true} #63#return; {19188#true} is VALID [2022-04-28 11:16:30,463 INFO L290 TraceCheckUtils]: 15: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-28 11:16:30,464 INFO L290 TraceCheckUtils]: 14: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-28 11:16:30,464 INFO L290 TraceCheckUtils]: 13: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-28 11:16:30,464 INFO L272 TraceCheckUtils]: 12: Hoare triple {19188#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {19188#true} is VALID [2022-04-28 11:16:30,464 INFO L290 TraceCheckUtils]: 11: Hoare triple {19188#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {19188#true} is VALID [2022-04-28 11:16:30,464 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19188#true} {19188#true} #61#return; {19188#true} is VALID [2022-04-28 11:16:30,464 INFO L290 TraceCheckUtils]: 9: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-28 11:16:30,464 INFO L290 TraceCheckUtils]: 8: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-28 11:16:30,464 INFO L290 TraceCheckUtils]: 7: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-28 11:16:30,464 INFO L272 TraceCheckUtils]: 6: Hoare triple {19188#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {19188#true} is VALID [2022-04-28 11:16:30,464 INFO L290 TraceCheckUtils]: 5: Hoare triple {19188#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; {19188#true} is VALID [2022-04-28 11:16:30,464 INFO L272 TraceCheckUtils]: 4: Hoare triple {19188#true} call #t~ret8 := main(); {19188#true} is VALID [2022-04-28 11:16:30,464 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19188#true} {19188#true} #69#return; {19188#true} is VALID [2022-04-28 11:16:30,464 INFO L290 TraceCheckUtils]: 2: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-28 11:16:30,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {19188#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); {19188#true} is VALID [2022-04-28 11:16:30,464 INFO L272 TraceCheckUtils]: 0: Hoare triple {19188#true} call ULTIMATE.init(); {19188#true} is VALID [2022-04-28 11:16:30,465 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-28 11:16:30,465 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:16:30,465 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1065702417] [2022-04-28 11:16:30,465 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:16:30,465 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1441870001] [2022-04-28 11:16:30,465 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1441870001] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:16:30,465 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:16:30,465 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 11] total 26 [2022-04-28 11:16:30,465 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:16:30,465 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [567379479] [2022-04-28 11:16:30,465 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [567379479] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:16:30,466 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:16:30,466 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-28 11:16:30,466 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1161617175] [2022-04-28 11:16:30,466 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:16:30,466 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:16:30,466 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:16:30,466 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:30,517 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:16:30,517 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-28 11:16:30,517 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:16:30,517 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-28 11:16:30,518 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=562, Unknown=0, NotChecked=0, Total=650 [2022-04-28 11:16:30,518 INFO L87 Difference]: Start difference. First operand 135 states and 148 transitions. Second operand has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:32,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:32,704 INFO L93 Difference]: Finished difference Result 150 states and 162 transitions. [2022-04-28 11:16:32,704 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 11:16:32,704 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:16:32,705 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:16:32,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:32,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-28 11:16:32,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:32,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-28 11:16:32,706 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 65 transitions. [2022-04-28 11:16:32,769 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:16:32,771 INFO L225 Difference]: With dead ends: 150 [2022-04-28 11:16:32,771 INFO L226 Difference]: Without dead ends: 148 [2022-04-28 11:16:32,771 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 90 SyntacticMatches, 3 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=118, Invalid=752, Unknown=0, NotChecked=0, Total=870 [2022-04-28 11:16:32,772 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 19 mSDsluCounter, 191 mSDsCounter, 0 mSdLazyCounter, 545 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 215 SdHoareTripleChecker+Invalid, 553 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 545 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 11:16:32,772 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 215 Invalid, 553 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 545 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 11:16:32,772 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-28 11:16:33,137 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 146. [2022-04-28 11:16:33,137 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:16:33,137 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:16:33,138 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:16:33,138 INFO L87 Difference]: Start difference. First operand 148 states. Second operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:16:33,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:33,139 INFO L93 Difference]: Finished difference Result 148 states and 160 transitions. [2022-04-28 11:16:33,139 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 160 transitions. [2022-04-28 11:16:33,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:16:33,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:16:33,140 INFO L74 IsIncluded]: Start isIncluded. First operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) Second operand 148 states. [2022-04-28 11:16:33,140 INFO L87 Difference]: Start difference. First operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) Second operand 148 states. [2022-04-28 11:16:33,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:33,142 INFO L93 Difference]: Finished difference Result 148 states and 160 transitions. [2022-04-28 11:16:33,142 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 160 transitions. [2022-04-28 11:16:33,142 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:16:33,142 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:16:33,142 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:16:33,142 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:16:33,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:16:33,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 158 transitions. [2022-04-28 11:16:33,144 INFO L78 Accepts]: Start accepts. Automaton has 146 states and 158 transitions. Word has length 59 [2022-04-28 11:16:33,144 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:16:33,144 INFO L495 AbstractCegarLoop]: Abstraction has 146 states and 158 transitions. [2022-04-28 11:16:33,144 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:33,144 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 146 states and 158 transitions. [2022-04-28 11:16:35,593 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 157 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:16:35,594 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 158 transitions. [2022-04-28 11:16:35,607 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:16:35,607 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:16:35,607 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:16:35,626 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 11:16:35,808 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:16:35,808 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:16:35,808 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:16:35,808 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 17 times [2022-04-28 11:16:35,809 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:16:35,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1767286819] [2022-04-28 11:16:35,809 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:16:35,809 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 18 times [2022-04-28 11:16:35,809 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:16:35,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [97526138] [2022-04-28 11:16:35,809 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:16:35,809 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:16:35,817 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:16:35,817 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [537246954] [2022-04-28 11:16:35,817 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:16:35,817 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:16:35,817 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:16:35,818 INFO L229 MonitoredProcess]: Starting monitored process 25 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:16:35,819 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 11:16:35,862 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 11:16:35,862 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:16:35,863 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 50 conjunts are in the unsatisfiable core [2022-04-28 11:16:35,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:16:35,875 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:16:36,387 INFO L272 TraceCheckUtils]: 0: Hoare triple {20463#true} call ULTIMATE.init(); {20463#true} is VALID [2022-04-28 11:16:36,387 INFO L290 TraceCheckUtils]: 1: Hoare triple {20463#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); {20463#true} is VALID [2022-04-28 11:16:36,387 INFO L290 TraceCheckUtils]: 2: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-28 11:16:36,387 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20463#true} {20463#true} #69#return; {20463#true} is VALID [2022-04-28 11:16:36,387 INFO L272 TraceCheckUtils]: 4: Hoare triple {20463#true} call #t~ret8 := main(); {20463#true} is VALID [2022-04-28 11:16:36,387 INFO L290 TraceCheckUtils]: 5: Hoare triple {20463#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; {20463#true} is VALID [2022-04-28 11:16:36,387 INFO L272 TraceCheckUtils]: 6: Hoare triple {20463#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {20463#true} is VALID [2022-04-28 11:16:36,387 INFO L290 TraceCheckUtils]: 7: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-28 11:16:36,388 INFO L290 TraceCheckUtils]: 8: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-28 11:16:36,388 INFO L290 TraceCheckUtils]: 9: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-28 11:16:36,388 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20463#true} {20463#true} #61#return; {20463#true} is VALID [2022-04-28 11:16:36,388 INFO L290 TraceCheckUtils]: 11: Hoare triple {20463#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {20463#true} is VALID [2022-04-28 11:16:36,388 INFO L272 TraceCheckUtils]: 12: Hoare triple {20463#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {20463#true} is VALID [2022-04-28 11:16:36,388 INFO L290 TraceCheckUtils]: 13: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-28 11:16:36,388 INFO L290 TraceCheckUtils]: 14: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-28 11:16:36,388 INFO L290 TraceCheckUtils]: 15: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-28 11:16:36,388 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20463#true} {20463#true} #63#return; {20463#true} is VALID [2022-04-28 11:16:36,388 INFO L290 TraceCheckUtils]: 17: Hoare triple {20463#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {20519#(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:16:36,389 INFO L290 TraceCheckUtils]: 18: Hoare triple {20519#(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; {20519#(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:16:36,389 INFO L272 TraceCheckUtils]: 19: Hoare triple {20519#(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)); {20463#true} is VALID [2022-04-28 11:16:36,389 INFO L290 TraceCheckUtils]: 20: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-28 11:16:36,389 INFO L290 TraceCheckUtils]: 21: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-28 11:16:36,389 INFO L290 TraceCheckUtils]: 22: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-28 11:16:36,390 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20463#true} {20519#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {20519#(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:16:36,390 INFO L290 TraceCheckUtils]: 24: Hoare triple {20519#(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); {20519#(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:16:36,391 INFO L290 TraceCheckUtils]: 25: Hoare triple {20519#(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; {20544#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:16:36,391 INFO L290 TraceCheckUtils]: 26: Hoare triple {20544#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:16:36,392 INFO L290 TraceCheckUtils]: 27: Hoare triple {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:16:36,392 INFO L272 TraceCheckUtils]: 28: Hoare triple {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 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)); {20463#true} is VALID [2022-04-28 11:16:36,392 INFO L290 TraceCheckUtils]: 29: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-28 11:16:36,392 INFO L290 TraceCheckUtils]: 30: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-28 11:16:36,392 INFO L290 TraceCheckUtils]: 31: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-28 11:16:36,392 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20463#true} {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #65#return; {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:16:36,393 INFO L290 TraceCheckUtils]: 33: Hoare triple {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:16:36,393 INFO L290 TraceCheckUtils]: 34: Hoare triple {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20573#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} is VALID [2022-04-28 11:16:36,394 INFO L290 TraceCheckUtils]: 35: Hoare triple {20573#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} is VALID [2022-04-28 11:16:36,394 INFO L290 TraceCheckUtils]: 36: Hoare triple {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ 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; {20581#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:16:36,394 INFO L272 TraceCheckUtils]: 37: Hoare triple {20581#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 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)); {20463#true} is VALID [2022-04-28 11:16:36,394 INFO L290 TraceCheckUtils]: 38: Hoare triple {20463#true} ~cond := #in~cond; {20588#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:36,395 INFO L290 TraceCheckUtils]: 39: Hoare triple {20588#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:36,395 INFO L290 TraceCheckUtils]: 40: Hoare triple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:36,396 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} {20581#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} is VALID [2022-04-28 11:16:36,396 INFO L290 TraceCheckUtils]: 42: Hoare triple {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} is VALID [2022-04-28 11:16:36,397 INFO L290 TraceCheckUtils]: 43: Hoare triple {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= 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; {20605#(and (= (+ (- 2) main_~x~0) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1))} is VALID [2022-04-28 11:16:36,397 INFO L290 TraceCheckUtils]: 44: Hoare triple {20605#(and (= (+ (- 2) main_~x~0) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20609#(and (= (+ main_~x~0 (- 3)) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1))} is VALID [2022-04-28 11:16:36,397 INFO L290 TraceCheckUtils]: 45: Hoare triple {20609#(and (= (+ main_~x~0 (- 3)) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20613#(and (= (+ main_~x~0 (- 3)) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:16:36,398 INFO L272 TraceCheckUtils]: 46: Hoare triple {20613#(and (= (+ main_~x~0 (- 3)) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1) (= (* 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)); {20463#true} is VALID [2022-04-28 11:16:36,398 INFO L290 TraceCheckUtils]: 47: Hoare triple {20463#true} ~cond := #in~cond; {20588#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:36,398 INFO L290 TraceCheckUtils]: 48: Hoare triple {20588#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:36,398 INFO L290 TraceCheckUtils]: 49: Hoare triple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:36,399 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} {20613#(and (= (+ main_~x~0 (- 3)) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {20629#(and (= main_~x~0 3) (= 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)))} is VALID [2022-04-28 11:16:36,400 INFO L290 TraceCheckUtils]: 51: Hoare triple {20629#(and (= main_~x~0 3) (= 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)))} assume !!(~x~0 <= ~X~0); {20629#(and (= main_~x~0 3) (= 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)))} is VALID [2022-04-28 11:16:36,400 INFO L290 TraceCheckUtils]: 52: Hoare triple {20629#(and (= main_~x~0 3) (= 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)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20636#(and (= main_~x~0 3) (= main_~y~0 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:16:36,401 INFO L290 TraceCheckUtils]: 53: Hoare triple {20636#(and (= main_~x~0 3) (= main_~y~0 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20640#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= main_~y~0 1) (= (+ (- 1) main_~x~0) 3))} is VALID [2022-04-28 11:16:36,402 INFO L290 TraceCheckUtils]: 54: Hoare triple {20640#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= main_~y~0 1) (= (+ (- 1) main_~x~0) 3))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20644#(and (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= main_~yx~0 (* main_~Y~0 4)) (= main_~X~0 main_~xy~0))} is VALID [2022-04-28 11:16:36,403 INFO L272 TraceCheckUtils]: 55: Hoare triple {20644#(and (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= main_~yx~0 (* main_~Y~0 4)) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20648#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:16:36,403 INFO L290 TraceCheckUtils]: 56: Hoare triple {20648#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20652#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:36,403 INFO L290 TraceCheckUtils]: 57: Hoare triple {20652#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20464#false} is VALID [2022-04-28 11:16:36,403 INFO L290 TraceCheckUtils]: 58: Hoare triple {20464#false} assume !false; {20464#false} is VALID [2022-04-28 11:16:36,404 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 18 proven. 40 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 11:16:36,404 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:16:39,153 INFO L290 TraceCheckUtils]: 58: Hoare triple {20464#false} assume !false; {20464#false} is VALID [2022-04-28 11:16:39,153 INFO L290 TraceCheckUtils]: 57: Hoare triple {20652#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20464#false} is VALID [2022-04-28 11:16:39,153 INFO L290 TraceCheckUtils]: 56: Hoare triple {20648#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20652#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:39,154 INFO L272 TraceCheckUtils]: 55: Hoare triple {20668#(= (+ (* 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)); {20648#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:16:39,155 INFO L290 TraceCheckUtils]: 54: Hoare triple {20672#(= (+ (* 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; {20668#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:16:39,158 INFO L290 TraceCheckUtils]: 53: Hoare triple {20676#(= (+ (* (* 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; {20672#(= (+ (* 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:16:39,158 INFO L290 TraceCheckUtils]: 52: Hoare triple {20672#(= (+ (* 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; {20676#(= (+ (* (* 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:16:39,159 INFO L290 TraceCheckUtils]: 51: Hoare triple {20672#(= (+ (* 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 !!(~x~0 <= ~X~0); {20672#(= (+ (* 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:16:39,159 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} {20686#(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)))))} #65#return; {20672#(= (+ (* 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:16:39,160 INFO L290 TraceCheckUtils]: 49: Hoare triple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:39,160 INFO L290 TraceCheckUtils]: 48: Hoare triple {20696#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:39,160 INFO L290 TraceCheckUtils]: 47: Hoare triple {20463#true} ~cond := #in~cond; {20696#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:16:39,160 INFO L272 TraceCheckUtils]: 46: Hoare triple {20686#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20463#true} is VALID [2022-04-28 11:16:39,161 INFO L290 TraceCheckUtils]: 45: Hoare triple {20463#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20686#(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)))))} is VALID [2022-04-28 11:16:39,161 INFO L290 TraceCheckUtils]: 44: Hoare triple {20463#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20463#true} is VALID [2022-04-28 11:16:39,161 INFO L290 TraceCheckUtils]: 43: Hoare triple {20463#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; {20463#true} is VALID [2022-04-28 11:16:39,161 INFO L290 TraceCheckUtils]: 42: Hoare triple {20463#true} assume !!(~x~0 <= ~X~0); {20463#true} is VALID [2022-04-28 11:16:39,162 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20463#true} {20463#true} #65#return; {20463#true} is VALID [2022-04-28 11:16:39,162 INFO L290 TraceCheckUtils]: 40: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-28 11:16:39,162 INFO L290 TraceCheckUtils]: 39: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-28 11:16:39,162 INFO L290 TraceCheckUtils]: 38: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-28 11:16:39,162 INFO L272 TraceCheckUtils]: 37: Hoare triple {20463#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20463#true} is VALID [2022-04-28 11:16:39,162 INFO L290 TraceCheckUtils]: 36: Hoare triple {20463#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20463#true} is VALID [2022-04-28 11:16:39,162 INFO L290 TraceCheckUtils]: 35: Hoare triple {20463#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20463#true} is VALID [2022-04-28 11:16:39,162 INFO L290 TraceCheckUtils]: 34: Hoare triple {20463#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20463#true} is VALID [2022-04-28 11:16:39,162 INFO L290 TraceCheckUtils]: 33: Hoare triple {20463#true} assume !!(~x~0 <= ~X~0); {20463#true} is VALID [2022-04-28 11:16:39,162 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20463#true} {20463#true} #65#return; {20463#true} is VALID [2022-04-28 11:16:39,162 INFO L290 TraceCheckUtils]: 31: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-28 11:16:39,162 INFO L290 TraceCheckUtils]: 30: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-28 11:16:39,162 INFO L290 TraceCheckUtils]: 29: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-28 11:16:39,162 INFO L272 TraceCheckUtils]: 28: Hoare triple {20463#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20463#true} is VALID [2022-04-28 11:16:39,162 INFO L290 TraceCheckUtils]: 27: Hoare triple {20463#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20463#true} is VALID [2022-04-28 11:16:39,163 INFO L290 TraceCheckUtils]: 26: Hoare triple {20463#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20463#true} is VALID [2022-04-28 11:16:39,163 INFO L290 TraceCheckUtils]: 25: Hoare triple {20463#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20463#true} is VALID [2022-04-28 11:16:39,163 INFO L290 TraceCheckUtils]: 24: Hoare triple {20463#true} assume !!(~x~0 <= ~X~0); {20463#true} is VALID [2022-04-28 11:16:39,163 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20463#true} {20463#true} #65#return; {20463#true} is VALID [2022-04-28 11:16:39,163 INFO L290 TraceCheckUtils]: 22: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-28 11:16:39,163 INFO L290 TraceCheckUtils]: 21: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-28 11:16:39,163 INFO L290 TraceCheckUtils]: 20: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-28 11:16:39,163 INFO L272 TraceCheckUtils]: 19: Hoare triple {20463#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20463#true} is VALID [2022-04-28 11:16:39,163 INFO L290 TraceCheckUtils]: 18: Hoare triple {20463#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20463#true} is VALID [2022-04-28 11:16:39,163 INFO L290 TraceCheckUtils]: 17: Hoare triple {20463#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {20463#true} is VALID [2022-04-28 11:16:39,163 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20463#true} {20463#true} #63#return; {20463#true} is VALID [2022-04-28 11:16:39,163 INFO L290 TraceCheckUtils]: 15: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-28 11:16:39,163 INFO L290 TraceCheckUtils]: 14: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-28 11:16:39,163 INFO L290 TraceCheckUtils]: 13: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-28 11:16:39,163 INFO L272 TraceCheckUtils]: 12: Hoare triple {20463#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {20463#true} is VALID [2022-04-28 11:16:39,164 INFO L290 TraceCheckUtils]: 11: Hoare triple {20463#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {20463#true} is VALID [2022-04-28 11:16:39,164 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20463#true} {20463#true} #61#return; {20463#true} is VALID [2022-04-28 11:16:39,164 INFO L290 TraceCheckUtils]: 9: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-28 11:16:39,164 INFO L290 TraceCheckUtils]: 8: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-28 11:16:39,164 INFO L290 TraceCheckUtils]: 7: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-28 11:16:39,164 INFO L272 TraceCheckUtils]: 6: Hoare triple {20463#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {20463#true} is VALID [2022-04-28 11:16:39,164 INFO L290 TraceCheckUtils]: 5: Hoare triple {20463#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; {20463#true} is VALID [2022-04-28 11:16:39,164 INFO L272 TraceCheckUtils]: 4: Hoare triple {20463#true} call #t~ret8 := main(); {20463#true} is VALID [2022-04-28 11:16:39,164 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20463#true} {20463#true} #69#return; {20463#true} is VALID [2022-04-28 11:16:39,164 INFO L290 TraceCheckUtils]: 2: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-28 11:16:39,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {20463#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); {20463#true} is VALID [2022-04-28 11:16:39,164 INFO L272 TraceCheckUtils]: 0: Hoare triple {20463#true} call ULTIMATE.init(); {20463#true} is VALID [2022-04-28 11:16:39,164 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-28 11:16:39,165 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:16:39,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [97526138] [2022-04-28 11:16:39,165 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:16:39,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [537246954] [2022-04-28 11:16:39,165 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [537246954] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:16:39,165 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:16:39,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 10] total 24 [2022-04-28 11:16:39,165 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:16:39,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1767286819] [2022-04-28 11:16:39,165 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1767286819] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:16:39,165 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:16:39,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 11:16:39,165 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1329779833] [2022-04-28 11:16:39,165 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:16:39,166 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:16:39,166 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:16:39,166 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:39,211 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:16:39,211 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 11:16:39,211 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:16:39,211 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 11:16:39,212 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=481, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:16:39,212 INFO L87 Difference]: Start difference. First operand 146 states and 158 transitions. Second operand has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:41,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:41,216 INFO L93 Difference]: Finished difference Result 159 states and 172 transitions. [2022-04-28 11:16:41,217 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 11:16:41,217 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:16:41,217 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:16:41,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:41,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-28 11:16:41,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:41,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-28 11:16:41,218 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 65 transitions. [2022-04-28 11:16:41,289 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:16:41,291 INFO L225 Difference]: With dead ends: 159 [2022-04-28 11:16:41,291 INFO L226 Difference]: Without dead ends: 157 [2022-04-28 11:16:41,292 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 92 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=99, Invalid=657, Unknown=0, NotChecked=0, Total=756 [2022-04-28 11:16:41,292 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 16 mSDsluCounter, 247 mSDsCounter, 0 mSdLazyCounter, 698 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 271 SdHoareTripleChecker+Invalid, 702 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 698 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 11:16:41,292 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 271 Invalid, 702 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 698 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 11:16:41,292 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 157 states. [2022-04-28 11:16:41,678 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 157 to 148. [2022-04-28 11:16:41,678 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:16:41,683 INFO L82 GeneralOperation]: Start isEquivalent. First operand 157 states. Second operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:16:41,683 INFO L74 IsIncluded]: Start isIncluded. First operand 157 states. Second operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:16:41,683 INFO L87 Difference]: Start difference. First operand 157 states. Second operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:16:41,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:41,685 INFO L93 Difference]: Finished difference Result 157 states and 170 transitions. [2022-04-28 11:16:41,685 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 170 transitions. [2022-04-28 11:16:41,685 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:16:41,686 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:16:41,686 INFO L74 IsIncluded]: Start isIncluded. First operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) Second operand 157 states. [2022-04-28 11:16:41,686 INFO L87 Difference]: Start difference. First operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) Second operand 157 states. [2022-04-28 11:16:41,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:41,688 INFO L93 Difference]: Finished difference Result 157 states and 170 transitions. [2022-04-28 11:16:41,688 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 170 transitions. [2022-04-28 11:16:41,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:16:41,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:16:41,688 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:16:41,688 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:16:41,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:16:41,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 148 states to 148 states and 160 transitions. [2022-04-28 11:16:41,690 INFO L78 Accepts]: Start accepts. Automaton has 148 states and 160 transitions. Word has length 59 [2022-04-28 11:16:41,690 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:16:41,690 INFO L495 AbstractCegarLoop]: Abstraction has 148 states and 160 transitions. [2022-04-28 11:16:41,690 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:16:41,690 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 148 states and 160 transitions. [2022-04-28 11:16:44,128 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 160 edges. 159 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:16:44,128 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 160 transitions. [2022-04-28 11:16:44,129 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:16:44,129 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:16:44,129 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:16:44,147 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-28 11:16:44,347 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable24 [2022-04-28 11:16:44,347 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:16:44,348 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:16:44,348 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 19 times [2022-04-28 11:16:44,348 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:16:44,348 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2067515313] [2022-04-28 11:16:44,348 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:16:44,348 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 20 times [2022-04-28 11:16:44,348 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:16:44,348 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [606968342] [2022-04-28 11:16:44,348 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:16:44,349 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:16:44,356 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:16:44,356 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [984484370] [2022-04-28 11:16:44,356 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:16:44,356 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:16:44,357 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:16:44,357 INFO L229 MonitoredProcess]: Starting monitored process 26 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:16:44,358 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-28 11:16:44,398 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:16:44,398 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:16:44,399 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-28 11:16:44,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:16:44,413 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:16:54,575 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:17:00,151 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:17:49,417 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:17:50,827 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:18:26,710 INFO L272 TraceCheckUtils]: 0: Hoare triple {21776#true} call ULTIMATE.init(); {21776#true} is VALID [2022-04-28 11:18:26,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {21776#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); {21776#true} is VALID [2022-04-28 11:18:26,711 INFO L290 TraceCheckUtils]: 2: Hoare triple {21776#true} assume true; {21776#true} is VALID [2022-04-28 11:18:26,711 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21776#true} {21776#true} #69#return; {21776#true} is VALID [2022-04-28 11:18:26,711 INFO L272 TraceCheckUtils]: 4: Hoare triple {21776#true} call #t~ret8 := main(); {21776#true} is VALID [2022-04-28 11:18:26,711 INFO L290 TraceCheckUtils]: 5: Hoare triple {21776#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; {21776#true} is VALID [2022-04-28 11:18:26,711 INFO L272 TraceCheckUtils]: 6: Hoare triple {21776#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {21776#true} is VALID [2022-04-28 11:18:26,711 INFO L290 TraceCheckUtils]: 7: Hoare triple {21776#true} ~cond := #in~cond; {21776#true} is VALID [2022-04-28 11:18:26,711 INFO L290 TraceCheckUtils]: 8: Hoare triple {21776#true} assume !(0 == ~cond); {21776#true} is VALID [2022-04-28 11:18:26,711 INFO L290 TraceCheckUtils]: 9: Hoare triple {21776#true} assume true; {21776#true} is VALID [2022-04-28 11:18:26,711 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21776#true} {21776#true} #61#return; {21776#true} is VALID [2022-04-28 11:18:26,712 INFO L290 TraceCheckUtils]: 11: Hoare triple {21776#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {21776#true} is VALID [2022-04-28 11:18:26,712 INFO L272 TraceCheckUtils]: 12: Hoare triple {21776#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {21776#true} is VALID [2022-04-28 11:18:26,712 INFO L290 TraceCheckUtils]: 13: Hoare triple {21776#true} ~cond := #in~cond; {21820#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:18:26,712 INFO L290 TraceCheckUtils]: 14: Hoare triple {21820#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {21824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:18:26,712 INFO L290 TraceCheckUtils]: 15: Hoare triple {21824#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {21824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:18:26,713 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {21824#(not (= |assume_abort_if_not_#in~cond| 0))} {21776#true} #63#return; {21831#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:18:26,713 INFO L290 TraceCheckUtils]: 17: Hoare triple {21831#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {21835#(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 100))} is VALID [2022-04-28 11:18:26,714 INFO L290 TraceCheckUtils]: 18: Hoare triple {21835#(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 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21835#(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 100))} is VALID [2022-04-28 11:18:26,714 INFO L272 TraceCheckUtils]: 19: Hoare triple {21835#(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 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {21776#true} is VALID [2022-04-28 11:18:26,714 INFO L290 TraceCheckUtils]: 20: Hoare triple {21776#true} ~cond := #in~cond; {21776#true} is VALID [2022-04-28 11:18:26,714 INFO L290 TraceCheckUtils]: 21: Hoare triple {21776#true} assume !(0 == ~cond); {21776#true} is VALID [2022-04-28 11:18:26,714 INFO L290 TraceCheckUtils]: 22: Hoare triple {21776#true} assume true; {21776#true} is VALID [2022-04-28 11:18:26,714 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21776#true} {21835#(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 100))} #65#return; {21835#(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 100))} is VALID [2022-04-28 11:18:26,715 INFO L290 TraceCheckUtils]: 24: Hoare triple {21835#(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 100))} assume !!(~x~0 <= ~X~0); {21835#(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 100))} is VALID [2022-04-28 11:18:26,716 INFO L290 TraceCheckUtils]: 25: Hoare triple {21835#(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 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {21860#(and (= main_~x~0 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:18:26,716 INFO L290 TraceCheckUtils]: 26: Hoare triple {21860#(and (= main_~x~0 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21864#(and (< (* main_~Y~0 2) main_~X~0) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:18:26,717 INFO L290 TraceCheckUtils]: 27: Hoare triple {21864#(and (< (* main_~Y~0 2) main_~X~0) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21864#(and (< (* main_~Y~0 2) main_~X~0) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:18:26,717 INFO L272 TraceCheckUtils]: 28: Hoare triple {21864#(and (< (* main_~Y~0 2) main_~X~0) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {21776#true} is VALID [2022-04-28 11:18:26,717 INFO L290 TraceCheckUtils]: 29: Hoare triple {21776#true} ~cond := #in~cond; {21776#true} is VALID [2022-04-28 11:18:26,717 INFO L290 TraceCheckUtils]: 30: Hoare triple {21776#true} assume !(0 == ~cond); {21776#true} is VALID [2022-04-28 11:18:26,717 INFO L290 TraceCheckUtils]: 31: Hoare triple {21776#true} assume true; {21776#true} is VALID [2022-04-28 11:18:26,717 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {21776#true} {21864#(and (< (* main_~Y~0 2) main_~X~0) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #65#return; {21864#(and (< (* main_~Y~0 2) main_~X~0) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:18:26,718 INFO L290 TraceCheckUtils]: 33: Hoare triple {21864#(and (< (* main_~Y~0 2) main_~X~0) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {21864#(and (< (* main_~Y~0 2) main_~X~0) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:18:26,719 INFO L290 TraceCheckUtils]: 34: Hoare triple {21864#(and (< (* main_~Y~0 2) main_~X~0) (<= 1 main_~x~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} 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; {21889#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (<= 1 main_~x~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= main_~Y~0 100))} is VALID [2022-04-28 11:18:26,720 INFO L290 TraceCheckUtils]: 35: Hoare triple {21889#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (<= 1 main_~x~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21893#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= 2 main_~x~0) (<= main_~Y~0 100))} is VALID [2022-04-28 11:18:26,720 INFO L290 TraceCheckUtils]: 36: Hoare triple {21893#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= 2 main_~x~0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21897#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= 2 main_~x~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (<= main_~Y~0 100) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:18:26,720 INFO L272 TraceCheckUtils]: 37: Hoare triple {21897#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= 2 main_~x~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (<= main_~Y~0 100) (= 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)); {21776#true} is VALID [2022-04-28 11:18:26,721 INFO L290 TraceCheckUtils]: 38: Hoare triple {21776#true} ~cond := #in~cond; {21904#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:18:26,721 INFO L290 TraceCheckUtils]: 39: Hoare triple {21904#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {21908#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:18:26,721 INFO L290 TraceCheckUtils]: 40: Hoare triple {21908#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {21908#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:18:26,723 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21908#(not (= |__VERIFIER_assert_#in~cond| 0))} {21897#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= 2 main_~x~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (<= main_~Y~0 100) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {21915#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) 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_~X~0 (* main_~Y~0 4)) (<= main_~Y~0 100))} is VALID [2022-04-28 11:18:26,723 INFO L290 TraceCheckUtils]: 42: Hoare triple {21915#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) 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_~X~0 (* main_~Y~0 4)) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {21915#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) 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_~X~0 (* main_~Y~0 4)) (<= main_~Y~0 100))} is VALID [2022-04-28 11:18:26,724 INFO L290 TraceCheckUtils]: 43: Hoare triple {21915#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (< (* main_~Y~0 2) 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_~X~0 (* main_~Y~0 4)) (<= main_~Y~0 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {21922#(and (= (+ (* main_~Y~0 main_~x~0 2) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2)) (* main_~Y~0 6)) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= main_~Y~0 100))} is VALID [2022-04-28 11:18:26,728 INFO L290 TraceCheckUtils]: 44: Hoare triple {21922#(and (= (+ (* main_~Y~0 main_~x~0 2) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2)) (* main_~Y~0 6)) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21926#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= (+ (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 1) main_~x~0) (<= main_~Y~0 100) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2) (* main_~Y~0 2 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0))) (* main_~Y~0 6)) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 0))} is VALID [2022-04-28 11:18:26,729 INFO L290 TraceCheckUtils]: 45: Hoare triple {21926#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= (+ (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 1) main_~x~0) (<= main_~Y~0 100) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2) (* main_~Y~0 2 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0))) (* main_~Y~0 6)) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21930#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= (+ (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 1) main_~x~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (<= main_~Y~0 100) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2) (* main_~Y~0 2 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0))) (* main_~Y~0 6)) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 0))} is VALID [2022-04-28 11:18:26,729 INFO L272 TraceCheckUtils]: 46: Hoare triple {21930#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= (+ (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 1) main_~x~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (<= main_~Y~0 100) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2) (* main_~Y~0 2 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0))) (* main_~Y~0 6)) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~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)); {21776#true} is VALID [2022-04-28 11:18:26,729 INFO L290 TraceCheckUtils]: 47: Hoare triple {21776#true} ~cond := #in~cond; {21904#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:18:26,729 INFO L290 TraceCheckUtils]: 48: Hoare triple {21904#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {21908#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:18:26,730 INFO L290 TraceCheckUtils]: 49: Hoare triple {21908#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {21908#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:18:26,732 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {21908#(not (= |__VERIFIER_assert_#in~cond| 0))} {21930#(and (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= (+ (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 1) main_~x~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (<= main_~Y~0 100) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (= (+ (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* main_~X~0 2) (* main_~Y~0 2 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0))) (* main_~Y~0 6)) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) 0))} #65#return; {21946#(and (= (+ (* (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) 2) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (< (* main_~Y~0 2) 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_~X~0 (* main_~Y~0 4)) (<= main_~Y~0 100))} is VALID [2022-04-28 11:18:26,733 INFO L290 TraceCheckUtils]: 51: Hoare triple {21946#(and (= (+ (* (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) 2) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (< (* main_~Y~0 2) 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_~X~0 (* main_~Y~0 4)) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {21946#(and (= (+ (* (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) 2) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (< (* main_~Y~0 2) 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_~X~0 (* main_~Y~0 4)) (<= main_~Y~0 100))} is VALID [2022-04-28 11:18:26,738 INFO L290 TraceCheckUtils]: 52: Hoare triple {21946#(and (= (+ (* (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) 2) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (< (* main_~Y~0 2) 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_~X~0 (* main_~Y~0 4)) (<= main_~Y~0 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {21953#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (+ (* 2 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (* main_~Y~0 main_~x~0 2) (- 1)) (* (- 1) (* (- 2) main_~X~0 main_~y~0)) (* (- 2) main_~Y~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0))) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (<= main_~Y~0 100))} is VALID [2022-04-28 11:18:26,745 INFO L290 TraceCheckUtils]: 53: Hoare triple {21953#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (< (* main_~Y~0 2) main_~X~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (= (+ (* 2 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (* main_~Y~0 main_~x~0 2) (- 1)) (* (- 1) (* (- 2) main_~X~0 main_~y~0)) (* (- 2) main_~Y~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0))) (* main_~X~0 2)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4))) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21957#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= main_~Y~0 100) (= (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4)) (+ (* 2 (* (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) (* (- 2) main_~X~0 main_~y~0)) (* (- 1) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* (- 2) main_~Y~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) main_~Y~0)) (* main_~X~0 2))))} is VALID [2022-04-28 11:18:26,760 INFO L290 TraceCheckUtils]: 54: Hoare triple {21957#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 4)) (<= main_~Y~0 100) (= (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 4)) (+ (* 2 (* (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) (* (- 2) main_~X~0 main_~y~0)) (* (- 1) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* (- 2) main_~Y~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0) main_~Y~0)) (* main_~X~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21961#(and (= (+ (* main_~Y~0 4) (* main_~X~0 2)) (+ (* main_~X~0 2) (* 2 (* main_~Y~0 (div (+ main_~X~0 (div (+ (* (- 1) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1)))) (* main_~X~0 2) (* (- 2) main_~Y~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0))))) (< (* main_~Y~0 2) main_~X~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= main_~X~0 (* main_~Y~0 4)) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= main_~X~0 main_~xy~0) (<= main_~Y~0 100) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0))} is VALID [2022-04-28 11:18:26,769 INFO L272 TraceCheckUtils]: 55: Hoare triple {21961#(and (= (+ (* main_~Y~0 4) (* main_~X~0 2)) (+ (* main_~X~0 2) (* 2 (* main_~Y~0 (div (+ main_~X~0 (div (+ (* (- 1) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1)))) (* main_~X~0 2) (* (- 2) main_~Y~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0))))) (< (* main_~Y~0 2) main_~X~0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= main_~X~0 (* main_~Y~0 4)) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= main_~X~0 main_~xy~0) (<= main_~Y~0 100) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~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)); {21965#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:18:26,770 INFO L290 TraceCheckUtils]: 56: Hoare triple {21965#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21969#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:18:26,770 INFO L290 TraceCheckUtils]: 57: Hoare triple {21969#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21777#false} is VALID [2022-04-28 11:18:26,770 INFO L290 TraceCheckUtils]: 58: Hoare triple {21777#false} assume !false; {21777#false} is VALID [2022-04-28 11:18:26,770 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 21 proven. 40 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 11:18:26,771 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:18:29,956 INFO L290 TraceCheckUtils]: 58: Hoare triple {21777#false} assume !false; {21777#false} is VALID [2022-04-28 11:18:29,956 INFO L290 TraceCheckUtils]: 57: Hoare triple {21969#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21777#false} is VALID [2022-04-28 11:18:29,957 INFO L290 TraceCheckUtils]: 56: Hoare triple {21965#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21969#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:18:29,957 INFO L272 TraceCheckUtils]: 55: Hoare triple {21985#(= (+ (* 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)); {21965#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:18:29,959 INFO L290 TraceCheckUtils]: 54: Hoare triple {21989#(= (+ (* 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; {21985#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:18:29,961 INFO L290 TraceCheckUtils]: 53: Hoare triple {21993#(= (+ (* (* 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; {21989#(= (+ (* 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:18:29,962 INFO L290 TraceCheckUtils]: 52: Hoare triple {21989#(= (+ (* 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; {21993#(= (+ (* (* 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:18:29,962 INFO L290 TraceCheckUtils]: 51: Hoare triple {21989#(= (+ (* 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 !!(~x~0 <= ~X~0); {21989#(= (+ (* 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:18:29,963 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {21908#(not (= |__VERIFIER_assert_#in~cond| 0))} {22003#(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)))))} #65#return; {21989#(= (+ (* 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:18:29,964 INFO L290 TraceCheckUtils]: 49: Hoare triple {21908#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {21908#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:18:29,964 INFO L290 TraceCheckUtils]: 48: Hoare triple {22013#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {21908#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:18:29,964 INFO L290 TraceCheckUtils]: 47: Hoare triple {21776#true} ~cond := #in~cond; {22013#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:18:29,964 INFO L272 TraceCheckUtils]: 46: Hoare triple {22003#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {21776#true} is VALID [2022-04-28 11:18:29,965 INFO L290 TraceCheckUtils]: 45: Hoare triple {21776#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {22003#(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)))))} is VALID [2022-04-28 11:18:29,966 INFO L290 TraceCheckUtils]: 44: Hoare triple {21776#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21776#true} is VALID [2022-04-28 11:18:29,966 INFO L290 TraceCheckUtils]: 43: Hoare triple {21776#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {21776#true} is VALID [2022-04-28 11:18:29,966 INFO L290 TraceCheckUtils]: 42: Hoare triple {21776#true} assume !!(~x~0 <= ~X~0); {21776#true} is VALID [2022-04-28 11:18:29,966 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21776#true} {21776#true} #65#return; {21776#true} is VALID [2022-04-28 11:18:29,966 INFO L290 TraceCheckUtils]: 40: Hoare triple {21776#true} assume true; {21776#true} is VALID [2022-04-28 11:18:29,966 INFO L290 TraceCheckUtils]: 39: Hoare triple {21776#true} assume !(0 == ~cond); {21776#true} is VALID [2022-04-28 11:18:29,966 INFO L290 TraceCheckUtils]: 38: Hoare triple {21776#true} ~cond := #in~cond; {21776#true} is VALID [2022-04-28 11:18:29,966 INFO L272 TraceCheckUtils]: 37: Hoare triple {21776#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {21776#true} is VALID [2022-04-28 11:18:29,966 INFO L290 TraceCheckUtils]: 36: Hoare triple {21776#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21776#true} is VALID [2022-04-28 11:18:29,966 INFO L290 TraceCheckUtils]: 35: Hoare triple {21776#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21776#true} is VALID [2022-04-28 11:18:29,966 INFO L290 TraceCheckUtils]: 34: Hoare triple {21776#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; {21776#true} is VALID [2022-04-28 11:18:29,966 INFO L290 TraceCheckUtils]: 33: Hoare triple {21776#true} assume !!(~x~0 <= ~X~0); {21776#true} is VALID [2022-04-28 11:18:29,966 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {21776#true} {21776#true} #65#return; {21776#true} is VALID [2022-04-28 11:18:29,966 INFO L290 TraceCheckUtils]: 31: Hoare triple {21776#true} assume true; {21776#true} is VALID [2022-04-28 11:18:29,966 INFO L290 TraceCheckUtils]: 30: Hoare triple {21776#true} assume !(0 == ~cond); {21776#true} is VALID [2022-04-28 11:18:29,967 INFO L290 TraceCheckUtils]: 29: Hoare triple {21776#true} ~cond := #in~cond; {21776#true} is VALID [2022-04-28 11:18:29,967 INFO L272 TraceCheckUtils]: 28: Hoare triple {21776#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {21776#true} is VALID [2022-04-28 11:18:29,967 INFO L290 TraceCheckUtils]: 27: Hoare triple {21776#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21776#true} is VALID [2022-04-28 11:18:29,967 INFO L290 TraceCheckUtils]: 26: Hoare triple {21776#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {21776#true} is VALID [2022-04-28 11:18:29,967 INFO L290 TraceCheckUtils]: 25: Hoare triple {21776#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {21776#true} is VALID [2022-04-28 11:18:29,967 INFO L290 TraceCheckUtils]: 24: Hoare triple {21776#true} assume !!(~x~0 <= ~X~0); {21776#true} is VALID [2022-04-28 11:18:29,967 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21776#true} {21776#true} #65#return; {21776#true} is VALID [2022-04-28 11:18:29,967 INFO L290 TraceCheckUtils]: 22: Hoare triple {21776#true} assume true; {21776#true} is VALID [2022-04-28 11:18:29,967 INFO L290 TraceCheckUtils]: 21: Hoare triple {21776#true} assume !(0 == ~cond); {21776#true} is VALID [2022-04-28 11:18:29,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {21776#true} ~cond := #in~cond; {21776#true} is VALID [2022-04-28 11:18:29,967 INFO L272 TraceCheckUtils]: 19: Hoare triple {21776#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {21776#true} is VALID [2022-04-28 11:18:29,967 INFO L290 TraceCheckUtils]: 18: Hoare triple {21776#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {21776#true} is VALID [2022-04-28 11:18:29,967 INFO L290 TraceCheckUtils]: 17: Hoare triple {21776#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {21776#true} is VALID [2022-04-28 11:18:29,967 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {21776#true} {21776#true} #63#return; {21776#true} is VALID [2022-04-28 11:18:29,967 INFO L290 TraceCheckUtils]: 15: Hoare triple {21776#true} assume true; {21776#true} is VALID [2022-04-28 11:18:29,968 INFO L290 TraceCheckUtils]: 14: Hoare triple {21776#true} assume !(0 == ~cond); {21776#true} is VALID [2022-04-28 11:18:29,968 INFO L290 TraceCheckUtils]: 13: Hoare triple {21776#true} ~cond := #in~cond; {21776#true} is VALID [2022-04-28 11:18:29,968 INFO L272 TraceCheckUtils]: 12: Hoare triple {21776#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {21776#true} is VALID [2022-04-28 11:18:29,968 INFO L290 TraceCheckUtils]: 11: Hoare triple {21776#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {21776#true} is VALID [2022-04-28 11:18:29,968 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21776#true} {21776#true} #61#return; {21776#true} is VALID [2022-04-28 11:18:29,968 INFO L290 TraceCheckUtils]: 9: Hoare triple {21776#true} assume true; {21776#true} is VALID [2022-04-28 11:18:29,968 INFO L290 TraceCheckUtils]: 8: Hoare triple {21776#true} assume !(0 == ~cond); {21776#true} is VALID [2022-04-28 11:18:29,968 INFO L290 TraceCheckUtils]: 7: Hoare triple {21776#true} ~cond := #in~cond; {21776#true} is VALID [2022-04-28 11:18:29,968 INFO L272 TraceCheckUtils]: 6: Hoare triple {21776#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {21776#true} is VALID [2022-04-28 11:18:29,968 INFO L290 TraceCheckUtils]: 5: Hoare triple {21776#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; {21776#true} is VALID [2022-04-28 11:18:29,968 INFO L272 TraceCheckUtils]: 4: Hoare triple {21776#true} call #t~ret8 := main(); {21776#true} is VALID [2022-04-28 11:18:29,968 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21776#true} {21776#true} #69#return; {21776#true} is VALID [2022-04-28 11:18:29,968 INFO L290 TraceCheckUtils]: 2: Hoare triple {21776#true} assume true; {21776#true} is VALID [2022-04-28 11:18:29,968 INFO L290 TraceCheckUtils]: 1: Hoare triple {21776#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); {21776#true} is VALID [2022-04-28 11:18:29,968 INFO L272 TraceCheckUtils]: 0: Hoare triple {21776#true} call ULTIMATE.init(); {21776#true} is VALID [2022-04-28 11:18:29,969 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-28 11:18:29,969 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:18:29,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [606968342] [2022-04-28 11:18:29,969 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:18:29,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [984484370] [2022-04-28 11:18:29,969 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [984484370] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:18:29,969 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:18:29,969 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 10] total 28 [2022-04-28 11:18:29,969 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:18:29,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2067515313] [2022-04-28 11:18:29,969 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2067515313] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:18:29,970 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:18:29,970 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 11:18:29,970 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1894368525] [2022-04-28 11:18:29,970 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:18:29,976 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 1.85) internal successors, (37), 21 states have internal predecessors, (37), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:18:29,976 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:18:29,976 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 20 states have (on average 1.85) internal successors, (37), 21 states have internal predecessors, (37), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:18:30,067 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:18:30,067 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 11:18:30,067 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:18:30,068 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 11:18:30,068 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=663, Unknown=0, NotChecked=0, Total=756 [2022-04-28 11:18:30,068 INFO L87 Difference]: Start difference. First operand 148 states and 160 transitions. Second operand has 23 states, 20 states have (on average 1.85) internal successors, (37), 21 states have internal predecessors, (37), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:18:42,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:18:42,208 INFO L93 Difference]: Finished difference Result 165 states and 178 transitions. [2022-04-28 11:18:42,208 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 11:18:42,208 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 1.85) internal successors, (37), 21 states have internal predecessors, (37), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:18:42,208 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:18:42,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 1.85) internal successors, (37), 21 states have internal predecessors, (37), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:18:42,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 65 transitions. [2022-04-28 11:18:42,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 1.85) internal successors, (37), 21 states have internal predecessors, (37), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:18:42,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 65 transitions. [2022-04-28 11:18:42,209 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 65 transitions. [2022-04-28 11:18:42,361 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:18:42,363 INFO L225 Difference]: With dead ends: 165 [2022-04-28 11:18:42,363 INFO L226 Difference]: Without dead ends: 163 [2022-04-28 11:18:42,364 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 89 SyntacticMatches, 2 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 255 ImplicationChecksByTransitivity, 6.5s TimeCoverageRelationStatistics Valid=137, Invalid=985, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 11:18:42,364 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 28 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 821 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 202 SdHoareTripleChecker+Invalid, 835 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 821 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.9s IncrementalHoareTripleChecker+Time [2022-04-28 11:18:42,364 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 202 Invalid, 835 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 821 Invalid, 0 Unknown, 0 Unchecked, 3.9s Time] [2022-04-28 11:18:42,365 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2022-04-28 11:18:42,784 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 154. [2022-04-28 11:18:42,785 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:18:42,785 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand has 154 states, 115 states have (on average 1.0869565217391304) internal successors, (125), 118 states have internal predecessors, (125), 21 states have call successors, (21), 18 states have call predecessors, (21), 17 states have return successors, (20), 17 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:18:42,785 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand has 154 states, 115 states have (on average 1.0869565217391304) internal successors, (125), 118 states have internal predecessors, (125), 21 states have call successors, (21), 18 states have call predecessors, (21), 17 states have return successors, (20), 17 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:18:42,785 INFO L87 Difference]: Start difference. First operand 163 states. Second operand has 154 states, 115 states have (on average 1.0869565217391304) internal successors, (125), 118 states have internal predecessors, (125), 21 states have call successors, (21), 18 states have call predecessors, (21), 17 states have return successors, (20), 17 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:18:42,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:18:42,787 INFO L93 Difference]: Finished difference Result 163 states and 176 transitions. [2022-04-28 11:18:42,787 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 176 transitions. [2022-04-28 11:18:42,787 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:18:42,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:18:42,788 INFO L74 IsIncluded]: Start isIncluded. First operand has 154 states, 115 states have (on average 1.0869565217391304) internal successors, (125), 118 states have internal predecessors, (125), 21 states have call successors, (21), 18 states have call predecessors, (21), 17 states have return successors, (20), 17 states have call predecessors, (20), 20 states have call successors, (20) Second operand 163 states. [2022-04-28 11:18:42,788 INFO L87 Difference]: Start difference. First operand has 154 states, 115 states have (on average 1.0869565217391304) internal successors, (125), 118 states have internal predecessors, (125), 21 states have call successors, (21), 18 states have call predecessors, (21), 17 states have return successors, (20), 17 states have call predecessors, (20), 20 states have call successors, (20) Second operand 163 states. [2022-04-28 11:18:42,789 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:18:42,789 INFO L93 Difference]: Finished difference Result 163 states and 176 transitions. [2022-04-28 11:18:42,789 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 176 transitions. [2022-04-28 11:18:42,790 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:18:42,790 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:18:42,790 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:18:42,790 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:18:42,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 154 states, 115 states have (on average 1.0869565217391304) internal successors, (125), 118 states have internal predecessors, (125), 21 states have call successors, (21), 18 states have call predecessors, (21), 17 states have return successors, (20), 17 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:18:42,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 154 states to 154 states and 166 transitions. [2022-04-28 11:18:42,792 INFO L78 Accepts]: Start accepts. Automaton has 154 states and 166 transitions. Word has length 59 [2022-04-28 11:18:42,792 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:18:42,792 INFO L495 AbstractCegarLoop]: Abstraction has 154 states and 166 transitions. [2022-04-28 11:18:42,792 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 20 states have (on average 1.85) internal successors, (37), 21 states have internal predecessors, (37), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:18:42,792 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 154 states and 166 transitions. [2022-04-28 11:18:43,360 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 166 edges. 166 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:18:43,360 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 166 transitions. [2022-04-28 11:18:43,361 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:18:43,361 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:18:43,361 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:18:43,377 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-28 11:18:43,561 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-28 11:18:43,561 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:18:43,562 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:18:43,562 INFO L85 PathProgramCache]: Analyzing trace with hash -548759779, now seen corresponding path program 21 times [2022-04-28 11:18:43,562 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:18:43,562 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1722657219] [2022-04-28 11:18:43,562 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:18:43,562 INFO L85 PathProgramCache]: Analyzing trace with hash -548759779, now seen corresponding path program 22 times [2022-04-28 11:18:43,562 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:18:43,563 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1218657349] [2022-04-28 11:18:43,563 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:18:43,563 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:18:43,574 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:18:43,574 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1981630336] [2022-04-28 11:18:43,574 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:18:43,574 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:18:43,574 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:18:43,579 INFO L229 MonitoredProcess]: Starting monitored process 27 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:18:43,580 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-28 11:18:43,638 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:18:43,638 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:18:43,639 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 11:18:43,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:18:43,651 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:18:44,573 INFO L272 TraceCheckUtils]: 0: Hoare triple {23133#true} call ULTIMATE.init(); {23133#true} is VALID [2022-04-28 11:18:44,573 INFO L290 TraceCheckUtils]: 1: Hoare triple {23133#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); {23133#true} is VALID [2022-04-28 11:18:44,573 INFO L290 TraceCheckUtils]: 2: Hoare triple {23133#true} assume true; {23133#true} is VALID [2022-04-28 11:18:44,573 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23133#true} {23133#true} #69#return; {23133#true} is VALID [2022-04-28 11:18:44,573 INFO L272 TraceCheckUtils]: 4: Hoare triple {23133#true} call #t~ret8 := main(); {23133#true} is VALID [2022-04-28 11:18:44,573 INFO L290 TraceCheckUtils]: 5: Hoare triple {23133#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; {23133#true} is VALID [2022-04-28 11:18:44,573 INFO L272 TraceCheckUtils]: 6: Hoare triple {23133#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {23133#true} is VALID [2022-04-28 11:18:44,573 INFO L290 TraceCheckUtils]: 7: Hoare triple {23133#true} ~cond := #in~cond; {23133#true} is VALID [2022-04-28 11:18:44,573 INFO L290 TraceCheckUtils]: 8: Hoare triple {23133#true} assume !(0 == ~cond); {23133#true} is VALID [2022-04-28 11:18:44,574 INFO L290 TraceCheckUtils]: 9: Hoare triple {23133#true} assume true; {23133#true} is VALID [2022-04-28 11:18:44,574 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23133#true} {23133#true} #61#return; {23133#true} is VALID [2022-04-28 11:18:44,574 INFO L290 TraceCheckUtils]: 11: Hoare triple {23133#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {23133#true} is VALID [2022-04-28 11:18:44,574 INFO L272 TraceCheckUtils]: 12: Hoare triple {23133#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {23133#true} is VALID [2022-04-28 11:18:44,574 INFO L290 TraceCheckUtils]: 13: Hoare triple {23133#true} ~cond := #in~cond; {23133#true} is VALID [2022-04-28 11:18:44,574 INFO L290 TraceCheckUtils]: 14: Hoare triple {23133#true} assume !(0 == ~cond); {23133#true} is VALID [2022-04-28 11:18:44,574 INFO L290 TraceCheckUtils]: 15: Hoare triple {23133#true} assume true; {23133#true} is VALID [2022-04-28 11:18:44,574 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23133#true} {23133#true} #63#return; {23133#true} is VALID [2022-04-28 11:18:44,574 INFO L290 TraceCheckUtils]: 17: Hoare triple {23133#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {23189#(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:18:44,575 INFO L290 TraceCheckUtils]: 18: Hoare triple {23189#(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; {23189#(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:18:44,575 INFO L272 TraceCheckUtils]: 19: Hoare triple {23189#(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)); {23133#true} is VALID [2022-04-28 11:18:44,575 INFO L290 TraceCheckUtils]: 20: Hoare triple {23133#true} ~cond := #in~cond; {23133#true} is VALID [2022-04-28 11:18:44,575 INFO L290 TraceCheckUtils]: 21: Hoare triple {23133#true} assume !(0 == ~cond); {23133#true} is VALID [2022-04-28 11:18:44,575 INFO L290 TraceCheckUtils]: 22: Hoare triple {23133#true} assume true; {23133#true} is VALID [2022-04-28 11:18:44,576 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23133#true} {23189#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {23189#(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:18:44,576 INFO L290 TraceCheckUtils]: 24: Hoare triple {23189#(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); {23189#(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:18:44,577 INFO L290 TraceCheckUtils]: 25: Hoare triple {23189#(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; {23214#(and (= main_~x~0 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:18:44,577 INFO L290 TraceCheckUtils]: 26: Hoare triple {23214#(and (= main_~x~0 0) (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {23218#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-28 11:18:44,578 INFO L290 TraceCheckUtils]: 27: Hoare triple {23218#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23218#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-28 11:18:44,578 INFO L272 TraceCheckUtils]: 28: Hoare triple {23218#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= 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)); {23133#true} is VALID [2022-04-28 11:18:44,578 INFO L290 TraceCheckUtils]: 29: Hoare triple {23133#true} ~cond := #in~cond; {23133#true} is VALID [2022-04-28 11:18:44,578 INFO L290 TraceCheckUtils]: 30: Hoare triple {23133#true} assume !(0 == ~cond); {23133#true} is VALID [2022-04-28 11:18:44,578 INFO L290 TraceCheckUtils]: 31: Hoare triple {23133#true} assume true; {23133#true} is VALID [2022-04-28 11:18:44,578 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {23133#true} {23218#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} #65#return; {23218#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-28 11:18:44,579 INFO L290 TraceCheckUtils]: 33: Hoare triple {23218#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {23218#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-28 11:18:44,580 INFO L290 TraceCheckUtils]: 34: Hoare triple {23218#(and (< (* main_~Y~0 2) main_~X~0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= 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; {23243#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~x~0 1))} is VALID [2022-04-28 11:18:44,580 INFO L290 TraceCheckUtils]: 35: Hoare triple {23243#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {23247#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} is VALID [2022-04-28 11:18:44,581 INFO L290 TraceCheckUtils]: 36: Hoare triple {23247#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23247#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} is VALID [2022-04-28 11:18:44,581 INFO L272 TraceCheckUtils]: 37: Hoare triple {23247#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {23133#true} is VALID [2022-04-28 11:18:44,581 INFO L290 TraceCheckUtils]: 38: Hoare triple {23133#true} ~cond := #in~cond; {23133#true} is VALID [2022-04-28 11:18:44,581 INFO L290 TraceCheckUtils]: 39: Hoare triple {23133#true} assume !(0 == ~cond); {23133#true} is VALID [2022-04-28 11:18:44,581 INFO L290 TraceCheckUtils]: 40: Hoare triple {23133#true} assume true; {23133#true} is VALID [2022-04-28 11:18:44,582 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23133#true} {23247#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} #65#return; {23247#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} is VALID [2022-04-28 11:18:44,582 INFO L290 TraceCheckUtils]: 42: Hoare triple {23247#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} assume !!(~x~0 <= ~X~0); {23247#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} is VALID [2022-04-28 11:18:44,583 INFO L290 TraceCheckUtils]: 43: Hoare triple {23247#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {23272#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-28 11:18:44,583 INFO L290 TraceCheckUtils]: 44: Hoare triple {23272#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {23276#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (- 2) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-28 11:18:44,584 INFO L290 TraceCheckUtils]: 45: Hoare triple {23276#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (- 2) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23276#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (- 2) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-28 11:18:44,584 INFO L272 TraceCheckUtils]: 46: Hoare triple {23276#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (- 2) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {23133#true} is VALID [2022-04-28 11:18:44,584 INFO L290 TraceCheckUtils]: 47: Hoare triple {23133#true} ~cond := #in~cond; {23133#true} is VALID [2022-04-28 11:18:44,584 INFO L290 TraceCheckUtils]: 48: Hoare triple {23133#true} assume !(0 == ~cond); {23133#true} is VALID [2022-04-28 11:18:44,584 INFO L290 TraceCheckUtils]: 49: Hoare triple {23133#true} assume true; {23133#true} is VALID [2022-04-28 11:18:44,584 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {23133#true} {23276#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (- 2) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} #65#return; {23276#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (- 2) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-28 11:18:44,585 INFO L290 TraceCheckUtils]: 51: Hoare triple {23276#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (- 2) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} assume !!(~x~0 <= ~X~0); {23276#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (- 2) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-28 11:18:44,586 INFO L290 TraceCheckUtils]: 52: Hoare triple {23276#(and (< (* main_~Y~0 2) main_~X~0) (= (+ (- 1) main_~y~0) 0) (= (+ (- 2) main_~x~0) 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} 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; {23301#(and (= main_~y~0 2) (< (* main_~Y~0 2) main_~X~0) (= (+ (- 2) main_~x~0) 1) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))))} is VALID [2022-04-28 11:18:44,586 INFO L290 TraceCheckUtils]: 53: Hoare triple {23301#(and (= main_~y~0 2) (< (* main_~Y~0 2) main_~X~0) (= (+ (- 2) main_~x~0) 1) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {23305#(and (= main_~y~0 2) (< (* main_~Y~0 2) main_~X~0) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~x~0 (- 3)) 1))} is VALID [2022-04-28 11:18:44,587 INFO L290 TraceCheckUtils]: 54: Hoare triple {23305#(and (= main_~y~0 2) (< (* main_~Y~0 2) main_~X~0) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~x~0 (- 3)) 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23309#(and (= main_~xy~0 (* main_~X~0 2)) (< (* main_~Y~0 2) main_~X~0) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= main_~yx~0 (* main_~Y~0 4)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))))} is VALID [2022-04-28 11:18:44,588 INFO L272 TraceCheckUtils]: 55: Hoare triple {23309#(and (= main_~xy~0 (* main_~X~0 2)) (< (* main_~Y~0 2) main_~X~0) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= main_~yx~0 (* main_~Y~0 4)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* 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)); {23313#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:18:44,588 INFO L290 TraceCheckUtils]: 56: Hoare triple {23313#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23317#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:18:44,588 INFO L290 TraceCheckUtils]: 57: Hoare triple {23317#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23134#false} is VALID [2022-04-28 11:18:44,588 INFO L290 TraceCheckUtils]: 58: Hoare triple {23134#false} assume !false; {23134#false} is VALID [2022-04-28 11:18:44,589 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 8 proven. 38 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 11:18:44,589 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:18:45,520 INFO L290 TraceCheckUtils]: 58: Hoare triple {23134#false} assume !false; {23134#false} is VALID [2022-04-28 11:18:45,521 INFO L290 TraceCheckUtils]: 57: Hoare triple {23317#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23134#false} is VALID [2022-04-28 11:18:45,521 INFO L290 TraceCheckUtils]: 56: Hoare triple {23313#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23317#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:18:45,522 INFO L272 TraceCheckUtils]: 55: Hoare triple {23333#(= (+ (* 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)); {23313#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:18:45,523 INFO L290 TraceCheckUtils]: 54: Hoare triple {23337#(= (+ (* 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; {23333#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:18:45,526 INFO L290 TraceCheckUtils]: 53: Hoare triple {23341#(= (+ (* (* 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; {23337#(= (+ (* 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:18:45,528 INFO L290 TraceCheckUtils]: 52: Hoare triple {23345#(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; {23341#(= (+ (* (* 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:18:45,528 INFO L290 TraceCheckUtils]: 51: Hoare triple {23345#(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 !!(~x~0 <= ~X~0); {23345#(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:18:45,529 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {23133#true} {23345#(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)))))} #65#return; {23345#(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:18:45,529 INFO L290 TraceCheckUtils]: 49: Hoare triple {23133#true} assume true; {23133#true} is VALID [2022-04-28 11:18:45,529 INFO L290 TraceCheckUtils]: 48: Hoare triple {23133#true} assume !(0 == ~cond); {23133#true} is VALID [2022-04-28 11:18:45,529 INFO L290 TraceCheckUtils]: 47: Hoare triple {23133#true} ~cond := #in~cond; {23133#true} is VALID [2022-04-28 11:18:45,529 INFO L272 TraceCheckUtils]: 46: Hoare triple {23345#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {23133#true} is VALID [2022-04-28 11:18:45,529 INFO L290 TraceCheckUtils]: 45: Hoare triple {23345#(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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23345#(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:18:45,531 INFO L290 TraceCheckUtils]: 44: Hoare triple {23370#(or (< main_~v~0 0) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {23345#(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:18:45,532 INFO L290 TraceCheckUtils]: 43: Hoare triple {23374#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {23370#(or (< main_~v~0 0) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} is VALID [2022-04-28 11:18:45,532 INFO L290 TraceCheckUtils]: 42: Hoare triple {23374#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !!(~x~0 <= ~X~0); {23374#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 11:18:45,533 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23133#true} {23374#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} #65#return; {23374#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 11:18:45,533 INFO L290 TraceCheckUtils]: 40: Hoare triple {23133#true} assume true; {23133#true} is VALID [2022-04-28 11:18:45,533 INFO L290 TraceCheckUtils]: 39: Hoare triple {23133#true} assume !(0 == ~cond); {23133#true} is VALID [2022-04-28 11:18:45,533 INFO L290 TraceCheckUtils]: 38: Hoare triple {23133#true} ~cond := #in~cond; {23133#true} is VALID [2022-04-28 11:18:45,533 INFO L272 TraceCheckUtils]: 37: Hoare triple {23374#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* 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)); {23133#true} is VALID [2022-04-28 11:18:45,534 INFO L290 TraceCheckUtils]: 36: Hoare triple {23374#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23374#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 11:18:45,535 INFO L290 TraceCheckUtils]: 35: Hoare triple {23399#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 2)) 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {23374#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 11:18:45,537 INFO L290 TraceCheckUtils]: 34: Hoare triple {23403#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) 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; {23399#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 2)) 0))} is VALID [2022-04-28 11:18:45,538 INFO L290 TraceCheckUtils]: 33: Hoare triple {23403#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))))} assume !!(~x~0 <= ~X~0); {23403#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))))} is VALID [2022-04-28 11:18:45,538 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {23133#true} {23403#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))))} #65#return; {23403#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))))} is VALID [2022-04-28 11:18:45,538 INFO L290 TraceCheckUtils]: 31: Hoare triple {23133#true} assume true; {23133#true} is VALID [2022-04-28 11:18:45,538 INFO L290 TraceCheckUtils]: 30: Hoare triple {23133#true} assume !(0 == ~cond); {23133#true} is VALID [2022-04-28 11:18:45,538 INFO L290 TraceCheckUtils]: 29: Hoare triple {23133#true} ~cond := #in~cond; {23133#true} is VALID [2022-04-28 11:18:45,539 INFO L272 TraceCheckUtils]: 28: Hoare triple {23403#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) 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)); {23133#true} is VALID [2022-04-28 11:18:45,539 INFO L290 TraceCheckUtils]: 27: Hoare triple {23403#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23403#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))))} is VALID [2022-04-28 11:18:45,541 INFO L290 TraceCheckUtils]: 26: Hoare triple {23428#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {23403#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))))} is VALID [2022-04-28 11:18:45,541 INFO L290 TraceCheckUtils]: 25: Hoare triple {23432#(or (not (< main_~v~0 0)) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 2)) (= (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2)) (+ (* main_~Y~0 8) (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {23428#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2))))} is VALID [2022-04-28 11:18:45,542 INFO L290 TraceCheckUtils]: 24: Hoare triple {23432#(or (not (< main_~v~0 0)) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 2)) (= (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2)) (+ (* main_~Y~0 8) (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0)))} assume !!(~x~0 <= ~X~0); {23432#(or (not (< main_~v~0 0)) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 2)) (= (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2)) (+ (* main_~Y~0 8) (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0)))} is VALID [2022-04-28 11:18:45,542 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23133#true} {23432#(or (not (< main_~v~0 0)) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 2)) (= (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2)) (+ (* main_~Y~0 8) (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0)))} #65#return; {23432#(or (not (< main_~v~0 0)) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 2)) (= (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2)) (+ (* main_~Y~0 8) (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0)))} is VALID [2022-04-28 11:18:45,543 INFO L290 TraceCheckUtils]: 22: Hoare triple {23133#true} assume true; {23133#true} is VALID [2022-04-28 11:18:45,543 INFO L290 TraceCheckUtils]: 21: Hoare triple {23133#true} assume !(0 == ~cond); {23133#true} is VALID [2022-04-28 11:18:45,543 INFO L290 TraceCheckUtils]: 20: Hoare triple {23133#true} ~cond := #in~cond; {23133#true} is VALID [2022-04-28 11:18:45,543 INFO L272 TraceCheckUtils]: 19: Hoare triple {23432#(or (not (< main_~v~0 0)) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 2)) (= (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2)) (+ (* main_~Y~0 8) (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {23133#true} is VALID [2022-04-28 11:18:45,543 INFO L290 TraceCheckUtils]: 18: Hoare triple {23432#(or (not (< main_~v~0 0)) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 2)) (= (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2)) (+ (* main_~Y~0 8) (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {23432#(or (not (< main_~v~0 0)) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 2)) (= (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2)) (+ (* main_~Y~0 8) (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0)))} is VALID [2022-04-28 11:18:45,544 INFO L290 TraceCheckUtils]: 17: Hoare triple {23133#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {23432#(or (not (< main_~v~0 0)) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 2)) (= (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2)) (+ (* main_~Y~0 8) (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0)))} is VALID [2022-04-28 11:18:45,544 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23133#true} {23133#true} #63#return; {23133#true} is VALID [2022-04-28 11:18:45,544 INFO L290 TraceCheckUtils]: 15: Hoare triple {23133#true} assume true; {23133#true} is VALID [2022-04-28 11:18:45,544 INFO L290 TraceCheckUtils]: 14: Hoare triple {23133#true} assume !(0 == ~cond); {23133#true} is VALID [2022-04-28 11:18:45,544 INFO L290 TraceCheckUtils]: 13: Hoare triple {23133#true} ~cond := #in~cond; {23133#true} is VALID [2022-04-28 11:18:45,544 INFO L272 TraceCheckUtils]: 12: Hoare triple {23133#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {23133#true} is VALID [2022-04-28 11:18:45,544 INFO L290 TraceCheckUtils]: 11: Hoare triple {23133#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {23133#true} is VALID [2022-04-28 11:18:45,544 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23133#true} {23133#true} #61#return; {23133#true} is VALID [2022-04-28 11:18:45,544 INFO L290 TraceCheckUtils]: 9: Hoare triple {23133#true} assume true; {23133#true} is VALID [2022-04-28 11:18:45,544 INFO L290 TraceCheckUtils]: 8: Hoare triple {23133#true} assume !(0 == ~cond); {23133#true} is VALID [2022-04-28 11:18:45,544 INFO L290 TraceCheckUtils]: 7: Hoare triple {23133#true} ~cond := #in~cond; {23133#true} is VALID [2022-04-28 11:18:45,544 INFO L272 TraceCheckUtils]: 6: Hoare triple {23133#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {23133#true} is VALID [2022-04-28 11:18:45,545 INFO L290 TraceCheckUtils]: 5: Hoare triple {23133#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; {23133#true} is VALID [2022-04-28 11:18:45,545 INFO L272 TraceCheckUtils]: 4: Hoare triple {23133#true} call #t~ret8 := main(); {23133#true} is VALID [2022-04-28 11:18:45,545 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23133#true} {23133#true} #69#return; {23133#true} is VALID [2022-04-28 11:18:45,545 INFO L290 TraceCheckUtils]: 2: Hoare triple {23133#true} assume true; {23133#true} is VALID [2022-04-28 11:18:45,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {23133#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); {23133#true} is VALID [2022-04-28 11:18:45,545 INFO L272 TraceCheckUtils]: 0: Hoare triple {23133#true} call ULTIMATE.init(); {23133#true} is VALID [2022-04-28 11:18:45,545 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 15 proven. 31 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 11:18:45,545 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:18:45,545 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1218657349] [2022-04-28 11:18:45,545 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:18:45,546 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1981630336] [2022-04-28 11:18:45,546 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1981630336] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:18:45,546 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:18:45,546 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 24 [2022-04-28 11:18:45,546 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:18:45,546 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1722657219] [2022-04-28 11:18:45,546 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1722657219] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:18:45,546 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:18:45,546 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:18:45,546 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1193463313] [2022-04-28 11:18:45,546 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:18:45,547 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 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 59 [2022-04-28 11:18:45,547 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:18:45,547 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 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:18:45,598 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:18:45,598 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:18:45,598 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:18:45,600 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:18:45,600 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=445, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:18:45,600 INFO L87 Difference]: Start difference. First operand 154 states and 166 transitions. Second operand has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 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:18:48,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:18:48,057 INFO L93 Difference]: Finished difference Result 165 states and 177 transitions. [2022-04-28 11:18:48,057 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 11:18:48,057 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 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 59 [2022-04-28 11:18:48,057 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:18:48,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 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:18:48,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 64 transitions. [2022-04-28 11:18:48,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 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:18:48,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 64 transitions. [2022-04-28 11:18:48,059 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 64 transitions. [2022-04-28 11:18:48,122 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:18:48,124 INFO L225 Difference]: With dead ends: 165 [2022-04-28 11:18:48,124 INFO L226 Difference]: Without dead ends: 163 [2022-04-28 11:18:48,124 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 94 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=123, Invalid=527, Unknown=0, NotChecked=0, Total=650 [2022-04-28 11:18:48,125 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 8 mSDsluCounter, 216 mSDsCounter, 0 mSdLazyCounter, 448 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 247 SdHoareTripleChecker+Invalid, 450 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 448 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 11:18:48,125 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 247 Invalid, 450 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 448 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 11:18:48,125 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2022-04-28 11:18:48,520 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 145. [2022-04-28 11:18:48,520 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:18:48,520 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand has 145 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 111 states have internal predecessors, (117), 20 states have call successors, (20), 17 states have call predecessors, (20), 16 states have return successors, (19), 16 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 11:18:48,521 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand has 145 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 111 states have internal predecessors, (117), 20 states have call successors, (20), 17 states have call predecessors, (20), 16 states have return successors, (19), 16 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 11:18:48,521 INFO L87 Difference]: Start difference. First operand 163 states. Second operand has 145 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 111 states have internal predecessors, (117), 20 states have call successors, (20), 17 states have call predecessors, (20), 16 states have return successors, (19), 16 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 11:18:48,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:18:48,522 INFO L93 Difference]: Finished difference Result 163 states and 175 transitions. [2022-04-28 11:18:48,523 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 175 transitions. [2022-04-28 11:18:48,523 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:18:48,523 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:18:48,523 INFO L74 IsIncluded]: Start isIncluded. First operand has 145 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 111 states have internal predecessors, (117), 20 states have call successors, (20), 17 states have call predecessors, (20), 16 states have return successors, (19), 16 states have call predecessors, (19), 19 states have call successors, (19) Second operand 163 states. [2022-04-28 11:18:48,523 INFO L87 Difference]: Start difference. First operand has 145 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 111 states have internal predecessors, (117), 20 states have call successors, (20), 17 states have call predecessors, (20), 16 states have return successors, (19), 16 states have call predecessors, (19), 19 states have call successors, (19) Second operand 163 states. [2022-04-28 11:18:48,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:18:48,525 INFO L93 Difference]: Finished difference Result 163 states and 175 transitions. [2022-04-28 11:18:48,525 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 175 transitions. [2022-04-28 11:18:48,525 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:18:48,525 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:18:48,525 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:18:48,525 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:18:48,525 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 145 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 111 states have internal predecessors, (117), 20 states have call successors, (20), 17 states have call predecessors, (20), 16 states have return successors, (19), 16 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 11:18:48,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 145 states to 145 states and 156 transitions. [2022-04-28 11:18:48,527 INFO L78 Accepts]: Start accepts. Automaton has 145 states and 156 transitions. Word has length 59 [2022-04-28 11:18:48,527 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:18:48,527 INFO L495 AbstractCegarLoop]: Abstraction has 145 states and 156 transitions. [2022-04-28 11:18:48,527 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 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:18:48,527 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 145 states and 156 transitions. [2022-04-28 11:18:49,045 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 156 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:18:49,045 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 156 transitions. [2022-04-28 11:18:49,046 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:18:49,046 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:18:49,046 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:18:49,062 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-28 11:18:49,259 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-28 11:18:49,259 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:18:49,260 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:18:49,260 INFO L85 PathProgramCache]: Analyzing trace with hash -1434400107, now seen corresponding path program 23 times [2022-04-28 11:18:49,260 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:18:49,260 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1059281626] [2022-04-28 11:18:49,260 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:18:49,260 INFO L85 PathProgramCache]: Analyzing trace with hash -1434400107, now seen corresponding path program 24 times [2022-04-28 11:18:49,260 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:18:49,260 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [722627458] [2022-04-28 11:18:49,260 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:18:49,260 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:18:49,268 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:18:49,268 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1226825771] [2022-04-28 11:18:49,268 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:18:49,268 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:18:49,275 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:18:49,276 INFO L229 MonitoredProcess]: Starting monitored process 28 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:18:49,277 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-28 11:18:49,323 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 11:18:49,323 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:18:49,324 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 61 conjunts are in the unsatisfiable core [2022-04-28 11:18:49,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:18:49,337 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:19:04,353 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:19:08,511 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:19:17,734 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:19:18,585 INFO L272 TraceCheckUtils]: 0: Hoare triple {24460#true} call ULTIMATE.init(); {24460#true} is VALID [2022-04-28 11:19:18,585 INFO L290 TraceCheckUtils]: 1: Hoare triple {24460#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); {24460#true} is VALID [2022-04-28 11:19:18,585 INFO L290 TraceCheckUtils]: 2: Hoare triple {24460#true} assume true; {24460#true} is VALID [2022-04-28 11:19:18,585 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24460#true} {24460#true} #69#return; {24460#true} is VALID [2022-04-28 11:19:18,585 INFO L272 TraceCheckUtils]: 4: Hoare triple {24460#true} call #t~ret8 := main(); {24460#true} is VALID [2022-04-28 11:19:18,585 INFO L290 TraceCheckUtils]: 5: Hoare triple {24460#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; {24460#true} is VALID [2022-04-28 11:19:18,586 INFO L272 TraceCheckUtils]: 6: Hoare triple {24460#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {24460#true} is VALID [2022-04-28 11:19:18,586 INFO L290 TraceCheckUtils]: 7: Hoare triple {24460#true} ~cond := #in~cond; {24460#true} is VALID [2022-04-28 11:19:18,586 INFO L290 TraceCheckUtils]: 8: Hoare triple {24460#true} assume !(0 == ~cond); {24460#true} is VALID [2022-04-28 11:19:18,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {24460#true} assume true; {24460#true} is VALID [2022-04-28 11:19:18,586 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24460#true} {24460#true} #61#return; {24460#true} is VALID [2022-04-28 11:19:18,586 INFO L290 TraceCheckUtils]: 11: Hoare triple {24460#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {24460#true} is VALID [2022-04-28 11:19:18,586 INFO L272 TraceCheckUtils]: 12: Hoare triple {24460#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {24460#true} is VALID [2022-04-28 11:19:18,586 INFO L290 TraceCheckUtils]: 13: Hoare triple {24460#true} ~cond := #in~cond; {24460#true} is VALID [2022-04-28 11:19:18,586 INFO L290 TraceCheckUtils]: 14: Hoare triple {24460#true} assume !(0 == ~cond); {24460#true} is VALID [2022-04-28 11:19:18,586 INFO L290 TraceCheckUtils]: 15: Hoare triple {24460#true} assume true; {24460#true} is VALID [2022-04-28 11:19:18,586 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {24460#true} {24460#true} #63#return; {24460#true} is VALID [2022-04-28 11:19:18,587 INFO L290 TraceCheckUtils]: 17: Hoare triple {24460#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {24516#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:19:18,587 INFO L290 TraceCheckUtils]: 18: Hoare triple {24516#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {24516#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:19:18,587 INFO L272 TraceCheckUtils]: 19: Hoare triple {24516#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {24460#true} is VALID [2022-04-28 11:19:18,587 INFO L290 TraceCheckUtils]: 20: Hoare triple {24460#true} ~cond := #in~cond; {24460#true} is VALID [2022-04-28 11:19:18,587 INFO L290 TraceCheckUtils]: 21: Hoare triple {24460#true} assume !(0 == ~cond); {24460#true} is VALID [2022-04-28 11:19:18,587 INFO L290 TraceCheckUtils]: 22: Hoare triple {24460#true} assume true; {24460#true} is VALID [2022-04-28 11:19:18,588 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {24460#true} {24516#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {24516#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:19:18,588 INFO L290 TraceCheckUtils]: 24: Hoare triple {24516#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {24516#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-28 11:19:18,590 INFO L290 TraceCheckUtils]: 25: Hoare triple {24516#(and (<= 0 main_~y~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) 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; {24541#(and (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 1 main_~y~0))} is VALID [2022-04-28 11:19:18,590 INFO L290 TraceCheckUtils]: 26: Hoare triple {24541#(and (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 1 main_~y~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {24545#(and (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 1 main_~y~0))} is VALID [2022-04-28 11:19:18,591 INFO L290 TraceCheckUtils]: 27: Hoare triple {24545#(and (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 1 main_~y~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {24549#(and (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= 1 main_~y~0))} is VALID [2022-04-28 11:19:18,591 INFO L272 TraceCheckUtils]: 28: Hoare triple {24549#(and (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 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)); {24460#true} is VALID [2022-04-28 11:19:18,591 INFO L290 TraceCheckUtils]: 29: Hoare triple {24460#true} ~cond := #in~cond; {24556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:19:18,591 INFO L290 TraceCheckUtils]: 30: Hoare triple {24556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:19:18,592 INFO L290 TraceCheckUtils]: 31: Hoare triple {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:19:18,593 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} {24549#(and (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= 1 main_~y~0))} #65#return; {24567#(and (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))) (<= 1 main_~y~0))} is VALID [2022-04-28 11:19:18,594 INFO L290 TraceCheckUtils]: 33: Hoare triple {24567#(and (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))) (<= 1 main_~y~0))} assume !!(~x~0 <= ~X~0); {24571#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (<= main_~x~0 main_~X~0) (<= main_~X~0 (* main_~Y~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)) (= main_~x~0 1))} is VALID [2022-04-28 11:19:18,594 INFO L290 TraceCheckUtils]: 34: Hoare triple {24571#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (<= main_~x~0 main_~X~0) (<= main_~X~0 (* main_~Y~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)) (= main_~x~0 1))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {24575#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 (* main_~Y~0 2)) (= main_~x~0 1) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 11:19:18,595 INFO L290 TraceCheckUtils]: 35: Hoare triple {24575#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 (* main_~Y~0 2)) (= main_~x~0 1) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {24579#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (<= main_~X~0 (* main_~Y~0 2)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:19:18,596 INFO L290 TraceCheckUtils]: 36: Hoare triple {24579#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (<= main_~X~0 (* main_~Y~0 2)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {24583#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (<= main_~X~0 (* main_~Y~0 2)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~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:19:18,596 INFO L272 TraceCheckUtils]: 37: Hoare triple {24583#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (<= main_~X~0 (* main_~Y~0 2)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~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)); {24460#true} is VALID [2022-04-28 11:19:18,596 INFO L290 TraceCheckUtils]: 38: Hoare triple {24460#true} ~cond := #in~cond; {24556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:19:18,596 INFO L290 TraceCheckUtils]: 39: Hoare triple {24556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:19:18,596 INFO L290 TraceCheckUtils]: 40: Hoare triple {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:19:18,597 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} {24583#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (<= main_~X~0 (* main_~Y~0 2)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~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; {24579#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (<= main_~X~0 (* main_~Y~0 2)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:19:18,598 INFO L290 TraceCheckUtils]: 42: Hoare triple {24579#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (<= main_~X~0 (* main_~Y~0 2)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(~x~0 <= ~X~0); {24579#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (<= main_~X~0 (* main_~Y~0 2)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:19:18,601 INFO L290 TraceCheckUtils]: 43: Hoare triple {24579#(and (= (+ (- 1) main_~x~0) 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (<= main_~X~0 (* main_~Y~0 2)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (<= main_~x~0 (+ 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; {24605#(and (= (+ (- 1) main_~x~0) 1) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* (* main_~X~0 (div (+ main_~X~0 (* main_~Y~0 main_~x~0) (* (- 2) main_~Y~0)) main_~X~0)) 2) (* main_~X~0 3))) (<= (+ (div (+ main_~X~0 (* main_~Y~0 main_~x~0) (* (- 2) main_~Y~0)) main_~X~0) 1) main_~y~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:19:18,601 INFO L290 TraceCheckUtils]: 44: Hoare triple {24605#(and (= (+ (- 1) main_~x~0) 1) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* (* main_~X~0 (div (+ main_~X~0 (* main_~Y~0 main_~x~0) (* (- 2) main_~Y~0)) main_~X~0)) 2) (* main_~X~0 3))) (<= (+ (div (+ main_~X~0 (* main_~Y~0 main_~x~0) (* (- 2) main_~Y~0)) main_~X~0) 1) main_~y~0) (<= main_~x~0 (+ main_~X~0 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {24609#(and (<= (+ (div (+ main_~X~0 (* main_~Y~0 (- 3)) (* main_~Y~0 main_~x~0)) main_~X~0) 1) main_~y~0) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4)) (+ (* 2 (* (div (+ main_~X~0 (* (+ (- 1) main_~x~0) main_~Y~0) (* (- 2) main_~Y~0)) main_~X~0) main_~X~0)) main_~v~0 (* main_~X~0 3))) (= (+ (- 2) main_~x~0) 1) (<= main_~X~0 (* main_~Y~0 2)) (<= main_~x~0 (+ main_~X~0 2)))} is VALID [2022-04-28 11:19:18,602 INFO L290 TraceCheckUtils]: 45: Hoare triple {24609#(and (<= (+ (div (+ main_~X~0 (* main_~Y~0 (- 3)) (* main_~Y~0 main_~x~0)) main_~X~0) 1) main_~y~0) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4)) (+ (* 2 (* (div (+ main_~X~0 (* (+ (- 1) main_~x~0) main_~Y~0) (* (- 2) main_~Y~0)) main_~X~0) main_~X~0)) main_~v~0 (* main_~X~0 3))) (= (+ (- 2) main_~x~0) 1) (<= main_~X~0 (* main_~Y~0 2)) (<= main_~x~0 (+ main_~X~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {24613#(and (<= (+ (div (+ main_~X~0 (* main_~Y~0 (- 3)) (* main_~Y~0 main_~x~0)) main_~X~0) 1) main_~y~0) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4)) (+ (* 2 (* (div (+ main_~X~0 (* (+ (- 1) main_~x~0) main_~Y~0) (* (- 2) main_~Y~0)) main_~X~0) main_~X~0)) main_~v~0 (* main_~X~0 3))) (= (+ (- 2) main_~x~0) 1) (<= main_~X~0 (* main_~Y~0 2)) (<= main_~x~0 (+ main_~X~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:19:18,602 INFO L272 TraceCheckUtils]: 46: Hoare triple {24613#(and (<= (+ (div (+ main_~X~0 (* main_~Y~0 (- 3)) (* main_~Y~0 main_~x~0)) main_~X~0) 1) main_~y~0) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4)) (+ (* 2 (* (div (+ main_~X~0 (* (+ (- 1) main_~x~0) main_~Y~0) (* (- 2) main_~Y~0)) main_~X~0) main_~X~0)) main_~v~0 (* main_~X~0 3))) (= (+ (- 2) main_~x~0) 1) (<= main_~X~0 (* main_~Y~0 2)) (<= main_~x~0 (+ main_~X~0 2)) (= (* 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)); {24460#true} is VALID [2022-04-28 11:19:18,602 INFO L290 TraceCheckUtils]: 47: Hoare triple {24460#true} ~cond := #in~cond; {24556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:19:18,605 INFO L290 TraceCheckUtils]: 48: Hoare triple {24556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:19:18,606 INFO L290 TraceCheckUtils]: 49: Hoare triple {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:19:18,608 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} {24613#(and (<= (+ (div (+ main_~X~0 (* main_~Y~0 (- 3)) (* main_~Y~0 main_~x~0)) main_~X~0) 1) main_~y~0) (= (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4)) (+ (* 2 (* (div (+ main_~X~0 (* (+ (- 1) main_~x~0) main_~Y~0) (* (- 2) main_~Y~0)) main_~X~0) main_~X~0)) main_~v~0 (* main_~X~0 3))) (= (+ (- 2) main_~x~0) 1) (<= main_~X~0 (* main_~Y~0 2)) (<= main_~x~0 (+ main_~X~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {24629#(and (= main_~x~0 3) (<= main_~X~0 (* main_~Y~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)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3) (* 2 (* main_~X~0 (div (+ main_~X~0 (* main_~Y~0 (- 3)) (* main_~Y~0 main_~x~0)) main_~X~0))))) (<= main_~x~0 (+ main_~X~0 2)))} is VALID [2022-04-28 11:19:18,609 INFO L290 TraceCheckUtils]: 51: Hoare triple {24629#(and (= main_~x~0 3) (<= main_~X~0 (* main_~Y~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)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3) (* 2 (* main_~X~0 (div (+ main_~X~0 (* main_~Y~0 (- 3)) (* main_~Y~0 main_~x~0)) main_~X~0))))) (<= main_~x~0 (+ main_~X~0 2)))} assume !!(~x~0 <= ~X~0); {24629#(and (= main_~x~0 3) (<= main_~X~0 (* main_~Y~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)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3) (* 2 (* main_~X~0 (div (+ main_~X~0 (* main_~Y~0 (- 3)) (* main_~Y~0 main_~x~0)) main_~X~0))))) (<= main_~x~0 (+ main_~X~0 2)))} is VALID [2022-04-28 11:19:18,611 INFO L290 TraceCheckUtils]: 52: Hoare triple {24629#(and (= main_~x~0 3) (<= main_~X~0 (* main_~Y~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)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3) (* 2 (* main_~X~0 (div (+ main_~X~0 (* main_~Y~0 (- 3)) (* main_~Y~0 main_~x~0)) main_~X~0))))) (<= main_~x~0 (+ main_~X~0 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {24636#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* main_~X~0 (- 3)) (* (- 2) main_~X~0 (div (+ main_~X~0 (* main_~Y~0 (- 3)) (* main_~Y~0 main_~x~0)) main_~X~0)) (* main_~Y~0 4))) (= main_~x~0 3) (<= main_~X~0 (* main_~Y~0 2)) (<= main_~x~0 (+ main_~X~0 2)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~Y~0 main_~x~0 2) (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* (- 2) main_~X~0 (div (+ main_~X~0 (* main_~Y~0 (- 3)) (* main_~Y~0 main_~x~0)) main_~X~0)) (* main_~Y~0 2))))} is VALID [2022-04-28 11:19:18,612 INFO L290 TraceCheckUtils]: 53: Hoare triple {24636#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* main_~X~0 (- 3)) (* (- 2) main_~X~0 (div (+ main_~X~0 (* main_~Y~0 (- 3)) (* main_~Y~0 main_~x~0)) main_~X~0)) (* main_~Y~0 4))) (= main_~x~0 3) (<= main_~X~0 (* main_~Y~0 2)) (<= main_~x~0 (+ main_~X~0 2)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~Y~0 main_~x~0 2) (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* (- 2) main_~X~0 (div (+ main_~X~0 (* main_~Y~0 (- 3)) (* main_~Y~0 main_~x~0)) main_~X~0)) (* main_~Y~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {24640#(and (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* (- 2) main_~X~0 (div (+ main_~X~0 (* (+ (- 1) main_~x~0) main_~Y~0) (* main_~Y~0 (- 3))) main_~X~0)) (* main_~Y~0 2) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (<= main_~x~0 (+ main_~X~0 3)) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (- 1) main_~x~0) 3) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* (- 2) main_~X~0 (div (+ main_~X~0 (* (+ (- 1) main_~x~0) main_~Y~0) (* main_~Y~0 (- 3))) main_~X~0)) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))))} is VALID [2022-04-28 11:19:18,614 INFO L290 TraceCheckUtils]: 54: Hoare triple {24640#(and (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* (- 2) main_~X~0 (div (+ main_~X~0 (* (+ (- 1) main_~x~0) main_~Y~0) (* main_~Y~0 (- 3))) main_~X~0)) (* main_~Y~0 2) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (<= main_~x~0 (+ main_~X~0 3)) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (- 1) main_~x~0) 3) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* (- 2) main_~X~0 (div (+ main_~X~0 (* (+ (- 1) main_~x~0) main_~Y~0) (* main_~Y~0 (- 3))) main_~X~0)) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {24644#(and (<= main_~X~0 (* main_~Y~0 2)) (= (* main_~Y~0 10) (+ (* (* main_~X~0 (div main_~X~0 main_~X~0)) 2) main_~v~0 (* main_~X~0 3))) (= main_~yx~0 (* main_~Y~0 4)) (<= 1 main_~X~0) (= (* (div (+ (* main_~X~0 (div main_~X~0 main_~X~0)) main_~X~0) main_~X~0) main_~X~0) main_~xy~0))} is VALID [2022-04-28 11:19:18,616 INFO L272 TraceCheckUtils]: 55: Hoare triple {24644#(and (<= main_~X~0 (* main_~Y~0 2)) (= (* main_~Y~0 10) (+ (* (* main_~X~0 (div main_~X~0 main_~X~0)) 2) main_~v~0 (* main_~X~0 3))) (= main_~yx~0 (* main_~Y~0 4)) (<= 1 main_~X~0) (= (* (div (+ (* main_~X~0 (div main_~X~0 main_~X~0)) main_~X~0) main_~X~0) main_~X~0) main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {24648#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:19:18,617 INFO L290 TraceCheckUtils]: 56: Hoare triple {24648#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24652#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:19:18,617 INFO L290 TraceCheckUtils]: 57: Hoare triple {24652#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {24461#false} is VALID [2022-04-28 11:19:18,617 INFO L290 TraceCheckUtils]: 58: Hoare triple {24461#false} assume !false; {24461#false} is VALID [2022-04-28 11:19:18,617 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 14 proven. 41 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 11:19:18,617 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:19:22,594 INFO L290 TraceCheckUtils]: 58: Hoare triple {24461#false} assume !false; {24461#false} is VALID [2022-04-28 11:19:22,594 INFO L290 TraceCheckUtils]: 57: Hoare triple {24652#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {24461#false} is VALID [2022-04-28 11:19:22,594 INFO L290 TraceCheckUtils]: 56: Hoare triple {24648#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24652#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:19:22,595 INFO L272 TraceCheckUtils]: 55: Hoare triple {24668#(= (+ (* 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)); {24648#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:19:22,596 INFO L290 TraceCheckUtils]: 54: Hoare triple {24672#(= (+ (* 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; {24668#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:19:22,599 INFO L290 TraceCheckUtils]: 53: Hoare triple {24676#(= (+ (* (* 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; {24672#(= (+ (* 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:19:22,600 INFO L290 TraceCheckUtils]: 52: Hoare triple {24672#(= (+ (* 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; {24676#(= (+ (* (* 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:19:22,600 INFO L290 TraceCheckUtils]: 51: Hoare triple {24672#(= (+ (* 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 !!(~x~0 <= ~X~0); {24672#(= (+ (* 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:19:22,601 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} {24686#(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)))))} #65#return; {24672#(= (+ (* 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:19:22,601 INFO L290 TraceCheckUtils]: 49: Hoare triple {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:19:22,602 INFO L290 TraceCheckUtils]: 48: Hoare triple {24696#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {24560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:19:22,602 INFO L290 TraceCheckUtils]: 47: Hoare triple {24460#true} ~cond := #in~cond; {24696#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:19:22,602 INFO L272 TraceCheckUtils]: 46: Hoare triple {24686#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {24460#true} is VALID [2022-04-28 11:19:22,603 INFO L290 TraceCheckUtils]: 45: Hoare triple {24460#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {24686#(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)))))} is VALID [2022-04-28 11:19:22,603 INFO L290 TraceCheckUtils]: 44: Hoare triple {24460#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {24460#true} is VALID [2022-04-28 11:19:22,603 INFO L290 TraceCheckUtils]: 43: Hoare triple {24460#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; {24460#true} is VALID [2022-04-28 11:19:22,603 INFO L290 TraceCheckUtils]: 42: Hoare triple {24460#true} assume !!(~x~0 <= ~X~0); {24460#true} is VALID [2022-04-28 11:19:22,603 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {24460#true} {24460#true} #65#return; {24460#true} is VALID [2022-04-28 11:19:22,603 INFO L290 TraceCheckUtils]: 40: Hoare triple {24460#true} assume true; {24460#true} is VALID [2022-04-28 11:19:22,603 INFO L290 TraceCheckUtils]: 39: Hoare triple {24460#true} assume !(0 == ~cond); {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L290 TraceCheckUtils]: 38: Hoare triple {24460#true} ~cond := #in~cond; {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L272 TraceCheckUtils]: 37: Hoare triple {24460#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L290 TraceCheckUtils]: 36: Hoare triple {24460#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L290 TraceCheckUtils]: 35: Hoare triple {24460#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L290 TraceCheckUtils]: 34: Hoare triple {24460#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L290 TraceCheckUtils]: 33: Hoare triple {24460#true} assume !!(~x~0 <= ~X~0); {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {24460#true} {24460#true} #65#return; {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L290 TraceCheckUtils]: 31: Hoare triple {24460#true} assume true; {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L290 TraceCheckUtils]: 30: Hoare triple {24460#true} assume !(0 == ~cond); {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L290 TraceCheckUtils]: 29: Hoare triple {24460#true} ~cond := #in~cond; {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L272 TraceCheckUtils]: 28: Hoare triple {24460#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L290 TraceCheckUtils]: 27: Hoare triple {24460#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L290 TraceCheckUtils]: 26: Hoare triple {24460#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L290 TraceCheckUtils]: 25: Hoare triple {24460#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; {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L290 TraceCheckUtils]: 24: Hoare triple {24460#true} assume !!(~x~0 <= ~X~0); {24460#true} is VALID [2022-04-28 11:19:22,604 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {24460#true} {24460#true} #65#return; {24460#true} is VALID [2022-04-28 11:19:22,605 INFO L290 TraceCheckUtils]: 22: Hoare triple {24460#true} assume true; {24460#true} is VALID [2022-04-28 11:19:22,605 INFO L290 TraceCheckUtils]: 21: Hoare triple {24460#true} assume !(0 == ~cond); {24460#true} is VALID [2022-04-28 11:19:22,605 INFO L290 TraceCheckUtils]: 20: Hoare triple {24460#true} ~cond := #in~cond; {24460#true} is VALID [2022-04-28 11:19:22,605 INFO L272 TraceCheckUtils]: 19: Hoare triple {24460#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {24460#true} is VALID [2022-04-28 11:19:22,605 INFO L290 TraceCheckUtils]: 18: Hoare triple {24460#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {24460#true} is VALID [2022-04-28 11:19:22,605 INFO L290 TraceCheckUtils]: 17: Hoare triple {24460#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {24460#true} is VALID [2022-04-28 11:19:22,605 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {24460#true} {24460#true} #63#return; {24460#true} is VALID [2022-04-28 11:19:22,605 INFO L290 TraceCheckUtils]: 15: Hoare triple {24460#true} assume true; {24460#true} is VALID [2022-04-28 11:19:22,605 INFO L290 TraceCheckUtils]: 14: Hoare triple {24460#true} assume !(0 == ~cond); {24460#true} is VALID [2022-04-28 11:19:22,605 INFO L290 TraceCheckUtils]: 13: Hoare triple {24460#true} ~cond := #in~cond; {24460#true} is VALID [2022-04-28 11:19:22,605 INFO L272 TraceCheckUtils]: 12: Hoare triple {24460#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {24460#true} is VALID [2022-04-28 11:19:22,605 INFO L290 TraceCheckUtils]: 11: Hoare triple {24460#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {24460#true} is VALID [2022-04-28 11:19:22,605 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24460#true} {24460#true} #61#return; {24460#true} is VALID [2022-04-28 11:19:22,605 INFO L290 TraceCheckUtils]: 9: Hoare triple {24460#true} assume true; {24460#true} is VALID [2022-04-28 11:19:22,605 INFO L290 TraceCheckUtils]: 8: Hoare triple {24460#true} assume !(0 == ~cond); {24460#true} is VALID [2022-04-28 11:19:22,606 INFO L290 TraceCheckUtils]: 7: Hoare triple {24460#true} ~cond := #in~cond; {24460#true} is VALID [2022-04-28 11:19:22,606 INFO L272 TraceCheckUtils]: 6: Hoare triple {24460#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {24460#true} is VALID [2022-04-28 11:19:22,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {24460#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; {24460#true} is VALID [2022-04-28 11:19:22,606 INFO L272 TraceCheckUtils]: 4: Hoare triple {24460#true} call #t~ret8 := main(); {24460#true} is VALID [2022-04-28 11:19:22,606 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24460#true} {24460#true} #69#return; {24460#true} is VALID [2022-04-28 11:19:22,606 INFO L290 TraceCheckUtils]: 2: Hoare triple {24460#true} assume true; {24460#true} is VALID [2022-04-28 11:19:22,606 INFO L290 TraceCheckUtils]: 1: Hoare triple {24460#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); {24460#true} is VALID [2022-04-28 11:19:22,606 INFO L272 TraceCheckUtils]: 0: Hoare triple {24460#true} call ULTIMATE.init(); {24460#true} is VALID [2022-04-28 11:19:22,606 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-28 11:19:22,606 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:19:22,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [722627458] [2022-04-28 11:19:22,606 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:19:22,607 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1226825771] [2022-04-28 11:19:22,607 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1226825771] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:19:22,607 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:19:22,607 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 10] total 27 [2022-04-28 11:19:22,607 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:19:22,607 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1059281626] [2022-04-28 11:19:22,607 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1059281626] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:19:22,607 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:19:22,607 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 11:19:22,607 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1848758641] [2022-04-28 11:19:22,607 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:19:22,608 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 20 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:19:22,608 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:19:22,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 20 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:19:22,684 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:19:22,685 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-28 11:19:22,685 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:19:22,685 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-28 11:19:22,685 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=621, Unknown=0, NotChecked=0, Total=702 [2022-04-28 11:19:22,685 INFO L87 Difference]: Start difference. First operand 145 states and 156 transitions. Second operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 20 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:19:34,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:19:34,020 INFO L93 Difference]: Finished difference Result 170 states and 186 transitions. [2022-04-28 11:19:34,020 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 11:19:34,020 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 20 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:19:34,020 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:19:34,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 20 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:19:34,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 76 transitions. [2022-04-28 11:19:34,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 20 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:19:34,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 76 transitions. [2022-04-28 11:19:34,022 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 76 transitions. [2022-04-28 11:19:34,143 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:19:34,145 INFO L225 Difference]: With dead ends: 170 [2022-04-28 11:19:34,145 INFO L226 Difference]: Without dead ends: 159 [2022-04-28 11:19:34,145 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 89 SyntacticMatches, 3 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 174 ImplicationChecksByTransitivity, 5.1s TimeCoverageRelationStatistics Valid=127, Invalid=929, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 11:19:34,146 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 21 mSDsluCounter, 249 mSDsCounter, 0 mSdLazyCounter, 706 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 274 SdHoareTripleChecker+Invalid, 713 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 706 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:19:34,146 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 274 Invalid, 713 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 706 Invalid, 0 Unknown, 0 Unchecked, 4.0s Time] [2022-04-28 11:19:34,146 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2022-04-28 11:19:34,577 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 150. [2022-04-28 11:19:34,577 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:19:34,578 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand has 150 states, 112 states have (on average 1.0892857142857142) internal successors, (122), 115 states have internal predecessors, (122), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 17 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:19:34,578 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand has 150 states, 112 states have (on average 1.0892857142857142) internal successors, (122), 115 states have internal predecessors, (122), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 17 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:19:34,578 INFO L87 Difference]: Start difference. First operand 159 states. Second operand has 150 states, 112 states have (on average 1.0892857142857142) internal successors, (122), 115 states have internal predecessors, (122), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 17 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:19:34,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:19:34,590 INFO L93 Difference]: Finished difference Result 159 states and 172 transitions. [2022-04-28 11:19:34,590 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 172 transitions. [2022-04-28 11:19:34,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:19:34,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:19:34,590 INFO L74 IsIncluded]: Start isIncluded. First operand has 150 states, 112 states have (on average 1.0892857142857142) internal successors, (122), 115 states have internal predecessors, (122), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 17 states have call predecessors, (20), 20 states have call successors, (20) Second operand 159 states. [2022-04-28 11:19:34,591 INFO L87 Difference]: Start difference. First operand has 150 states, 112 states have (on average 1.0892857142857142) internal successors, (122), 115 states have internal predecessors, (122), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 17 states have call predecessors, (20), 20 states have call successors, (20) Second operand 159 states. [2022-04-28 11:19:34,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:19:34,592 INFO L93 Difference]: Finished difference Result 159 states and 172 transitions. [2022-04-28 11:19:34,592 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 172 transitions. [2022-04-28 11:19:34,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:19:34,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:19:34,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:19:34,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:19:34,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 150 states, 112 states have (on average 1.0892857142857142) internal successors, (122), 115 states have internal predecessors, (122), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 17 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 11:19:34,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 163 transitions. [2022-04-28 11:19:34,594 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 163 transitions. Word has length 59 [2022-04-28 11:19:34,595 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:19:34,595 INFO L495 AbstractCegarLoop]: Abstraction has 150 states and 163 transitions. [2022-04-28 11:19:34,595 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 20 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:19:34,595 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 150 states and 163 transitions. [2022-04-28 11:19:35,207 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 163 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:19:35,207 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 163 transitions. [2022-04-28 11:19:35,208 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:19:35,208 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:19:35,208 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:19:35,226 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Ended with exit code 0 [2022-04-28 11:19:35,426 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-28 11:19:35,428 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:19:35,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:19:35,428 INFO L85 PathProgramCache]: Analyzing trace with hash 340607255, now seen corresponding path program 25 times [2022-04-28 11:19:35,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:19:35,429 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1918369214] [2022-04-28 11:19:35,429 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:19:35,429 INFO L85 PathProgramCache]: Analyzing trace with hash 340607255, now seen corresponding path program 26 times [2022-04-28 11:19:35,429 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:19:35,429 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1713374177] [2022-04-28 11:19:35,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:19:35,429 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:19:35,440 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:19:35,440 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [371029890] [2022-04-28 11:19:35,440 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:19:35,440 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:19:35,440 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:19:35,441 INFO L229 MonitoredProcess]: Starting monitored process 29 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:19:35,442 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-04-28 11:19:35,501 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:19:35,501 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:19:35,502 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 11:19:35,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:19:35,519 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:19:36,373 INFO L272 TraceCheckUtils]: 0: Hoare triple {25810#true} call ULTIMATE.init(); {25810#true} is VALID [2022-04-28 11:19:36,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {25810#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); {25810#true} is VALID [2022-04-28 11:19:36,374 INFO L290 TraceCheckUtils]: 2: Hoare triple {25810#true} assume true; {25810#true} is VALID [2022-04-28 11:19:36,374 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25810#true} {25810#true} #69#return; {25810#true} is VALID [2022-04-28 11:19:36,374 INFO L272 TraceCheckUtils]: 4: Hoare triple {25810#true} call #t~ret8 := main(); {25810#true} is VALID [2022-04-28 11:19:36,374 INFO L290 TraceCheckUtils]: 5: Hoare triple {25810#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; {25810#true} is VALID [2022-04-28 11:19:36,374 INFO L272 TraceCheckUtils]: 6: Hoare triple {25810#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {25810#true} is VALID [2022-04-28 11:19:36,374 INFO L290 TraceCheckUtils]: 7: Hoare triple {25810#true} ~cond := #in~cond; {25810#true} is VALID [2022-04-28 11:19:36,374 INFO L290 TraceCheckUtils]: 8: Hoare triple {25810#true} assume !(0 == ~cond); {25810#true} is VALID [2022-04-28 11:19:36,374 INFO L290 TraceCheckUtils]: 9: Hoare triple {25810#true} assume true; {25810#true} is VALID [2022-04-28 11:19:36,374 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25810#true} {25810#true} #61#return; {25810#true} is VALID [2022-04-28 11:19:36,374 INFO L290 TraceCheckUtils]: 11: Hoare triple {25810#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {25810#true} is VALID [2022-04-28 11:19:36,374 INFO L272 TraceCheckUtils]: 12: Hoare triple {25810#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {25810#true} is VALID [2022-04-28 11:19:36,374 INFO L290 TraceCheckUtils]: 13: Hoare triple {25810#true} ~cond := #in~cond; {25810#true} is VALID [2022-04-28 11:19:36,375 INFO L290 TraceCheckUtils]: 14: Hoare triple {25810#true} assume !(0 == ~cond); {25810#true} is VALID [2022-04-28 11:19:36,375 INFO L290 TraceCheckUtils]: 15: Hoare triple {25810#true} assume true; {25810#true} is VALID [2022-04-28 11:19:36,375 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {25810#true} {25810#true} #63#return; {25810#true} is VALID [2022-04-28 11:19:36,380 INFO L290 TraceCheckUtils]: 17: Hoare triple {25810#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {25866#(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:19:36,381 INFO L290 TraceCheckUtils]: 18: Hoare triple {25866#(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; {25866#(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:19:36,381 INFO L272 TraceCheckUtils]: 19: Hoare triple {25866#(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)); {25810#true} is VALID [2022-04-28 11:19:36,381 INFO L290 TraceCheckUtils]: 20: Hoare triple {25810#true} ~cond := #in~cond; {25810#true} is VALID [2022-04-28 11:19:36,381 INFO L290 TraceCheckUtils]: 21: Hoare triple {25810#true} assume !(0 == ~cond); {25810#true} is VALID [2022-04-28 11:19:36,381 INFO L290 TraceCheckUtils]: 22: Hoare triple {25810#true} assume true; {25810#true} is VALID [2022-04-28 11:19:36,387 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25810#true} {25866#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {25866#(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:19:36,387 INFO L290 TraceCheckUtils]: 24: Hoare triple {25866#(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); {25866#(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:19:36,389 INFO L290 TraceCheckUtils]: 25: Hoare triple {25866#(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; {25891#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 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:19:36,389 INFO L290 TraceCheckUtils]: 26: Hoare triple {25891#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 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; {25895#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 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:19:36,390 INFO L290 TraceCheckUtils]: 27: Hoare triple {25895#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 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; {25895#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 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:19:36,390 INFO L272 TraceCheckUtils]: 28: Hoare triple {25895#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 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)); {25810#true} is VALID [2022-04-28 11:19:36,390 INFO L290 TraceCheckUtils]: 29: Hoare triple {25810#true} ~cond := #in~cond; {25810#true} is VALID [2022-04-28 11:19:36,390 INFO L290 TraceCheckUtils]: 30: Hoare triple {25810#true} assume !(0 == ~cond); {25810#true} is VALID [2022-04-28 11:19:36,390 INFO L290 TraceCheckUtils]: 31: Hoare triple {25810#true} assume true; {25810#true} is VALID [2022-04-28 11:19:36,391 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {25810#true} {25895#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {25895#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 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:19:36,391 INFO L290 TraceCheckUtils]: 33: Hoare triple {25895#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 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); {25895#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 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:19:36,392 INFO L290 TraceCheckUtils]: 34: Hoare triple {25895#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 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; {25920#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} is VALID [2022-04-28 11:19:36,392 INFO L290 TraceCheckUtils]: 35: Hoare triple {25920#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {25924#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~x~0 2))} is VALID [2022-04-28 11:19:36,393 INFO L290 TraceCheckUtils]: 36: Hoare triple {25924#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {25924#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~x~0 2))} is VALID [2022-04-28 11:19:36,393 INFO L272 TraceCheckUtils]: 37: Hoare triple {25924#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) 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)); {25810#true} is VALID [2022-04-28 11:19:36,393 INFO L290 TraceCheckUtils]: 38: Hoare triple {25810#true} ~cond := #in~cond; {25810#true} is VALID [2022-04-28 11:19:36,393 INFO L290 TraceCheckUtils]: 39: Hoare triple {25810#true} assume !(0 == ~cond); {25810#true} is VALID [2022-04-28 11:19:36,393 INFO L290 TraceCheckUtils]: 40: Hoare triple {25810#true} assume true; {25810#true} is VALID [2022-04-28 11:19:36,394 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {25810#true} {25924#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~x~0 2))} #65#return; {25924#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~x~0 2))} is VALID [2022-04-28 11:19:36,394 INFO L290 TraceCheckUtils]: 42: Hoare triple {25924#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {25924#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~x~0 2))} is VALID [2022-04-28 11:19:36,395 INFO L290 TraceCheckUtils]: 43: Hoare triple {25924#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~x~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; {25949#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 2) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:19:36,395 INFO L290 TraceCheckUtils]: 44: Hoare triple {25949#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 2) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {25953#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:19:36,396 INFO L290 TraceCheckUtils]: 45: Hoare triple {25953#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ 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; {25953#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:19:36,396 INFO L272 TraceCheckUtils]: 46: Hoare triple {25953#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ 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)); {25810#true} is VALID [2022-04-28 11:19:36,396 INFO L290 TraceCheckUtils]: 47: Hoare triple {25810#true} ~cond := #in~cond; {25810#true} is VALID [2022-04-28 11:19:36,396 INFO L290 TraceCheckUtils]: 48: Hoare triple {25810#true} assume !(0 == ~cond); {25810#true} is VALID [2022-04-28 11:19:36,396 INFO L290 TraceCheckUtils]: 49: Hoare triple {25810#true} assume true; {25810#true} is VALID [2022-04-28 11:19:36,397 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {25810#true} {25953#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {25953#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:19:36,397 INFO L290 TraceCheckUtils]: 51: Hoare triple {25953#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {25975#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= main_~x~0 main_~X~0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:19:36,399 INFO L290 TraceCheckUtils]: 52: Hoare triple {25975#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= main_~x~0 main_~X~0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) 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; {25979#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~x~0 3) (<= (* 5 main_~X~0) (* main_~Y~0 8)) (= main_~y~0 3) (= (+ main_~v~0 (* 7 main_~X~0)) (* main_~Y~0 10)))} is VALID [2022-04-28 11:19:36,399 INFO L290 TraceCheckUtils]: 53: Hoare triple {25979#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~x~0 3) (<= (* 5 main_~X~0) (* main_~Y~0 8)) (= main_~y~0 3) (= (+ main_~v~0 (* 7 main_~X~0)) (* main_~Y~0 10)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {25983#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (* 5 main_~X~0) (* main_~Y~0 8)) (= main_~y~0 3) (= (+ main_~v~0 (* 7 main_~X~0)) (* main_~Y~0 10)) (= main_~x~0 4))} is VALID [2022-04-28 11:19:36,400 INFO L290 TraceCheckUtils]: 54: Hoare triple {25983#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (* 5 main_~X~0) (* main_~Y~0 8)) (= main_~y~0 3) (= (+ main_~v~0 (* 7 main_~X~0)) (* main_~Y~0 10)) (= main_~x~0 4))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {25987#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (* 5 main_~X~0) (* main_~Y~0 8)) (= main_~yx~0 (* main_~Y~0 4)) (= (+ main_~v~0 (* 7 main_~X~0)) (* main_~Y~0 10)) (= main_~xy~0 (* main_~X~0 3)))} is VALID [2022-04-28 11:19:36,401 INFO L272 TraceCheckUtils]: 55: Hoare triple {25987#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (* 5 main_~X~0) (* main_~Y~0 8)) (= main_~yx~0 (* main_~Y~0 4)) (= (+ main_~v~0 (* 7 main_~X~0)) (* main_~Y~0 10)) (= main_~xy~0 (* main_~X~0 3)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {25991#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:19:36,401 INFO L290 TraceCheckUtils]: 56: Hoare triple {25991#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25995#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:19:36,401 INFO L290 TraceCheckUtils]: 57: Hoare triple {25995#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25811#false} is VALID [2022-04-28 11:19:36,401 INFO L290 TraceCheckUtils]: 58: Hoare triple {25811#false} assume !false; {25811#false} is VALID [2022-04-28 11:19:36,402 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 8 proven. 38 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 11:19:36,402 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:19:37,806 INFO L290 TraceCheckUtils]: 58: Hoare triple {25811#false} assume !false; {25811#false} is VALID [2022-04-28 11:19:37,806 INFO L290 TraceCheckUtils]: 57: Hoare triple {25995#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25811#false} is VALID [2022-04-28 11:19:37,807 INFO L290 TraceCheckUtils]: 56: Hoare triple {25991#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25995#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:19:37,807 INFO L272 TraceCheckUtils]: 55: Hoare triple {26011#(= (+ (* 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)); {25991#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:19:37,809 INFO L290 TraceCheckUtils]: 54: Hoare triple {26015#(= (+ (* 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; {26011#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:19:37,812 INFO L290 TraceCheckUtils]: 53: Hoare triple {26019#(= (+ (* (* 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; {26015#(= (+ (* 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:19:37,814 INFO L290 TraceCheckUtils]: 52: Hoare triple {26023#(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; {26019#(= (+ (* (* 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:19:37,814 INFO L290 TraceCheckUtils]: 51: Hoare triple {26027#(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); {26023#(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:19:37,815 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {25810#true} {26027#(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)))} #65#return; {26027#(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:19:37,815 INFO L290 TraceCheckUtils]: 49: Hoare triple {25810#true} assume true; {25810#true} is VALID [2022-04-28 11:19:37,815 INFO L290 TraceCheckUtils]: 48: Hoare triple {25810#true} assume !(0 == ~cond); {25810#true} is VALID [2022-04-28 11:19:37,815 INFO L290 TraceCheckUtils]: 47: Hoare triple {25810#true} ~cond := #in~cond; {25810#true} is VALID [2022-04-28 11:19:37,815 INFO L272 TraceCheckUtils]: 46: Hoare triple {26027#(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)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {25810#true} is VALID [2022-04-28 11:19:37,816 INFO L290 TraceCheckUtils]: 45: Hoare triple {26027#(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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {26027#(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:19:37,818 INFO L290 TraceCheckUtils]: 44: Hoare triple {26049#(or (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {26027#(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:19:37,820 INFO L290 TraceCheckUtils]: 43: Hoare triple {26053#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~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; {26049#(or (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} is VALID [2022-04-28 11:19:37,821 INFO L290 TraceCheckUtils]: 42: Hoare triple {26053#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !!(~x~0 <= ~X~0); {26053#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 11:19:37,821 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {25810#true} {26053#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} #65#return; {26053#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 11:19:37,822 INFO L290 TraceCheckUtils]: 40: Hoare triple {25810#true} assume true; {25810#true} is VALID [2022-04-28 11:19:37,822 INFO L290 TraceCheckUtils]: 39: Hoare triple {25810#true} assume !(0 == ~cond); {25810#true} is VALID [2022-04-28 11:19:37,822 INFO L290 TraceCheckUtils]: 38: Hoare triple {25810#true} ~cond := #in~cond; {25810#true} is VALID [2022-04-28 11:19:37,822 INFO L272 TraceCheckUtils]: 37: Hoare triple {26053#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* 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)); {25810#true} is VALID [2022-04-28 11:19:37,822 INFO L290 TraceCheckUtils]: 36: Hoare triple {26053#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {26053#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 11:19:37,825 INFO L290 TraceCheckUtils]: 35: Hoare triple {26078#(or (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (not (<= (+ main_~x~0 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {26053#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-28 11:19:37,825 INFO L290 TraceCheckUtils]: 34: Hoare triple {26082#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {26078#(or (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< (+ 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:19:37,826 INFO L290 TraceCheckUtils]: 33: Hoare triple {26082#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !!(~x~0 <= ~X~0); {26082#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 11:19:37,826 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {25810#true} {26082#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} #65#return; {26082#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 11:19:37,827 INFO L290 TraceCheckUtils]: 31: Hoare triple {25810#true} assume true; {25810#true} is VALID [2022-04-28 11:19:37,827 INFO L290 TraceCheckUtils]: 30: Hoare triple {25810#true} assume !(0 == ~cond); {25810#true} is VALID [2022-04-28 11:19:37,827 INFO L290 TraceCheckUtils]: 29: Hoare triple {25810#true} ~cond := #in~cond; {25810#true} is VALID [2022-04-28 11:19:37,827 INFO L272 TraceCheckUtils]: 28: Hoare triple {26082#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~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)); {25810#true} is VALID [2022-04-28 11:19:37,827 INFO L290 TraceCheckUtils]: 27: Hoare triple {26082#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {26082#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 11:19:37,830 INFO L290 TraceCheckUtils]: 26: Hoare triple {26107#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 3) main_~X~0)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {26082#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 11:19:37,832 INFO L290 TraceCheckUtils]: 25: Hoare triple {26111#(or (not (<= (+ main_~x~0 3) main_~X~0)) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 4)) (= (+ (* main_~Y~0 8) main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~X~0 (- 5))) (+ (* (* (+ main_~x~0 4) main_~Y~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; {26107#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 3) main_~X~0)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2))))} is VALID [2022-04-28 11:19:37,832 INFO L290 TraceCheckUtils]: 24: Hoare triple {26111#(or (not (<= (+ main_~x~0 3) main_~X~0)) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 4)) (= (+ (* main_~Y~0 8) main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~X~0 (- 5))) (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2))))} assume !!(~x~0 <= ~X~0); {26111#(or (not (<= (+ main_~x~0 3) main_~X~0)) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 4)) (= (+ (* main_~Y~0 8) main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~X~0 (- 5))) (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2))))} is VALID [2022-04-28 11:19:37,833 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25810#true} {26111#(or (not (<= (+ main_~x~0 3) main_~X~0)) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 4)) (= (+ (* main_~Y~0 8) main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~X~0 (- 5))) (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2))))} #65#return; {26111#(or (not (<= (+ main_~x~0 3) main_~X~0)) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 4)) (= (+ (* main_~Y~0 8) main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~X~0 (- 5))) (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2))))} is VALID [2022-04-28 11:19:37,833 INFO L290 TraceCheckUtils]: 22: Hoare triple {25810#true} assume true; {25810#true} is VALID [2022-04-28 11:19:37,833 INFO L290 TraceCheckUtils]: 21: Hoare triple {25810#true} assume !(0 == ~cond); {25810#true} is VALID [2022-04-28 11:19:37,833 INFO L290 TraceCheckUtils]: 20: Hoare triple {25810#true} ~cond := #in~cond; {25810#true} is VALID [2022-04-28 11:19:37,833 INFO L272 TraceCheckUtils]: 19: Hoare triple {26111#(or (not (<= (+ main_~x~0 3) main_~X~0)) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 4)) (= (+ (* main_~Y~0 8) main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~X~0 (- 5))) (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* 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)); {25810#true} is VALID [2022-04-28 11:19:37,833 INFO L290 TraceCheckUtils]: 18: Hoare triple {26111#(or (not (<= (+ main_~x~0 3) main_~X~0)) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 4)) (= (+ (* main_~Y~0 8) main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~X~0 (- 5))) (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {26111#(or (not (<= (+ main_~x~0 3) main_~X~0)) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 4)) (= (+ (* main_~Y~0 8) main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~X~0 (- 5))) (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2))))} is VALID [2022-04-28 11:19:37,834 INFO L290 TraceCheckUtils]: 17: Hoare triple {25810#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {26111#(or (not (<= (+ main_~x~0 3) main_~X~0)) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (< (+ main_~v~0 (* main_~Y~0 6)) (* main_~X~0 4)) (= (+ (* main_~Y~0 8) main_~v~0 (* 2 (* main_~X~0 (+ main_~y~0 3))) (* main_~X~0 (- 5))) (+ (* (* (+ main_~x~0 4) main_~Y~0) 2) (* main_~Y~0 2))))} is VALID [2022-04-28 11:19:37,834 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {25810#true} {25810#true} #63#return; {25810#true} is VALID [2022-04-28 11:19:37,834 INFO L290 TraceCheckUtils]: 15: Hoare triple {25810#true} assume true; {25810#true} is VALID [2022-04-28 11:19:37,834 INFO L290 TraceCheckUtils]: 14: Hoare triple {25810#true} assume !(0 == ~cond); {25810#true} is VALID [2022-04-28 11:19:37,834 INFO L290 TraceCheckUtils]: 13: Hoare triple {25810#true} ~cond := #in~cond; {25810#true} is VALID [2022-04-28 11:19:37,834 INFO L272 TraceCheckUtils]: 12: Hoare triple {25810#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {25810#true} is VALID [2022-04-28 11:19:37,834 INFO L290 TraceCheckUtils]: 11: Hoare triple {25810#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {25810#true} is VALID [2022-04-28 11:19:37,834 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25810#true} {25810#true} #61#return; {25810#true} is VALID [2022-04-28 11:19:37,834 INFO L290 TraceCheckUtils]: 9: Hoare triple {25810#true} assume true; {25810#true} is VALID [2022-04-28 11:19:37,835 INFO L290 TraceCheckUtils]: 8: Hoare triple {25810#true} assume !(0 == ~cond); {25810#true} is VALID [2022-04-28 11:19:37,835 INFO L290 TraceCheckUtils]: 7: Hoare triple {25810#true} ~cond := #in~cond; {25810#true} is VALID [2022-04-28 11:19:37,835 INFO L272 TraceCheckUtils]: 6: Hoare triple {25810#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {25810#true} is VALID [2022-04-28 11:19:37,835 INFO L290 TraceCheckUtils]: 5: Hoare triple {25810#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; {25810#true} is VALID [2022-04-28 11:19:37,835 INFO L272 TraceCheckUtils]: 4: Hoare triple {25810#true} call #t~ret8 := main(); {25810#true} is VALID [2022-04-28 11:19:37,835 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25810#true} {25810#true} #69#return; {25810#true} is VALID [2022-04-28 11:19:37,835 INFO L290 TraceCheckUtils]: 2: Hoare triple {25810#true} assume true; {25810#true} is VALID [2022-04-28 11:19:37,835 INFO L290 TraceCheckUtils]: 1: Hoare triple {25810#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); {25810#true} is VALID [2022-04-28 11:19:37,835 INFO L272 TraceCheckUtils]: 0: Hoare triple {25810#true} call ULTIMATE.init(); {25810#true} is VALID [2022-04-28 11:19:37,835 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 15 proven. 31 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 11:19:37,836 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:19:37,836 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1713374177] [2022-04-28 11:19:37,836 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:19:37,836 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [371029890] [2022-04-28 11:19:37,836 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [371029890] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:19:37,836 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:19:37,836 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 26 [2022-04-28 11:19:37,836 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:19:37,836 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1918369214] [2022-04-28 11:19:37,836 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1918369214] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:19:37,836 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:19:37,836 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 11:19:37,836 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1841335396] [2022-04-28 11:19:37,836 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:19:37,837 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 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 59 [2022-04-28 11:19:37,837 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:19:37,837 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 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:19:37,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:19:37,893 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 11:19:37,893 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:19:37,893 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 11:19:37,893 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=119, Invalid=531, Unknown=0, NotChecked=0, Total=650 [2022-04-28 11:19:37,893 INFO L87 Difference]: Start difference. First operand 150 states and 163 transitions. Second operand has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 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:19:40,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:19:40,888 INFO L93 Difference]: Finished difference Result 161 states and 175 transitions. [2022-04-28 11:19:40,888 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 11:19:40,888 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 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 59 [2022-04-28 11:19:40,888 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:19:40,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 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:19:40,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 11:19:40,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 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:19:40,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-28 11:19:40,889 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-28 11:19:40,962 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:19:40,964 INFO L225 Difference]: With dead ends: 161 [2022-04-28 11:19:40,964 INFO L226 Difference]: Without dead ends: 159 [2022-04-28 11:19:40,965 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 92 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=135, Invalid=621, Unknown=0, NotChecked=0, Total=756 [2022-04-28 11:19:40,965 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 9 mSDsluCounter, 219 mSDsCounter, 0 mSdLazyCounter, 475 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 251 SdHoareTripleChecker+Invalid, 477 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 475 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:19:40,965 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 251 Invalid, 477 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 475 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 11:19:40,965 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2022-04-28 11:19:41,426 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 157. [2022-04-28 11:19:41,426 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:19:41,426 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 11:19:41,426 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 11:19:41,427 INFO L87 Difference]: Start difference. First operand 159 states. Second operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 11:19:41,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:19:41,428 INFO L93 Difference]: Finished difference Result 159 states and 173 transitions. [2022-04-28 11:19:41,428 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 173 transitions. [2022-04-28 11:19:41,429 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:19:41,429 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:19:41,429 INFO L74 IsIncluded]: Start isIncluded. First operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) Second operand 159 states. [2022-04-28 11:19:41,429 INFO L87 Difference]: Start difference. First operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) Second operand 159 states. [2022-04-28 11:19:41,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:19:41,431 INFO L93 Difference]: Finished difference Result 159 states and 173 transitions. [2022-04-28 11:19:41,431 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 173 transitions. [2022-04-28 11:19:41,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:19:41,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:19:41,431 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:19:41,431 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:19:41,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 117 states have (on average 1.0854700854700854) internal successors, (127), 121 states have internal predecessors, (127), 22 states have call successors, (22), 18 states have call predecessors, (22), 17 states have return successors, (21), 17 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 11:19:41,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 170 transitions. [2022-04-28 11:19:41,433 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 170 transitions. Word has length 59 [2022-04-28 11:19:41,433 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:19:41,433 INFO L495 AbstractCegarLoop]: Abstraction has 157 states and 170 transitions. [2022-04-28 11:19:41,433 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 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:19:41,433 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 170 transitions. [2022-04-28 11:19:42,120 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 170 edges. 170 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:19:42,120 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 170 transitions. [2022-04-28 11:19:42,120 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:19:42,120 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:19:42,120 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:19:42,126 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Forceful destruction successful, exit code 0 [2022-04-28 11:19:42,321 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-28 11:19:42,321 INFO L420 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:19:42,321 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:19:42,321 INFO L85 PathProgramCache]: Analyzing trace with hash 1502224219, now seen corresponding path program 27 times [2022-04-28 11:19:42,321 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:19:42,321 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1579384699] [2022-04-28 11:19:42,322 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:19:42,322 INFO L85 PathProgramCache]: Analyzing trace with hash 1502224219, now seen corresponding path program 28 times [2022-04-28 11:19:42,322 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:19:42,322 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1330536712] [2022-04-28 11:19:42,322 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:19:42,322 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:19:42,335 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:19:42,336 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1652077860] [2022-04-28 11:19:42,336 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:19:42,336 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:19:42,336 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:19:42,340 INFO L229 MonitoredProcess]: Starting monitored process 30 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:19:42,341 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-04-28 11:19:42,402 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:19:42,402 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:19:42,403 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 11:19:42,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:19:42,412 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:19:43,417 INFO L272 TraceCheckUtils]: 0: Hoare triple {27147#true} call ULTIMATE.init(); {27147#true} is VALID [2022-04-28 11:19:43,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {27147#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); {27147#true} is VALID [2022-04-28 11:19:43,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {27147#true} assume true; {27147#true} is VALID [2022-04-28 11:19:43,418 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27147#true} {27147#true} #69#return; {27147#true} is VALID [2022-04-28 11:19:43,418 INFO L272 TraceCheckUtils]: 4: Hoare triple {27147#true} call #t~ret8 := main(); {27147#true} is VALID [2022-04-28 11:19:43,418 INFO L290 TraceCheckUtils]: 5: Hoare triple {27147#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; {27147#true} is VALID [2022-04-28 11:19:43,418 INFO L272 TraceCheckUtils]: 6: Hoare triple {27147#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {27147#true} is VALID [2022-04-28 11:19:43,418 INFO L290 TraceCheckUtils]: 7: Hoare triple {27147#true} ~cond := #in~cond; {27147#true} is VALID [2022-04-28 11:19:43,418 INFO L290 TraceCheckUtils]: 8: Hoare triple {27147#true} assume !(0 == ~cond); {27147#true} is VALID [2022-04-28 11:19:43,418 INFO L290 TraceCheckUtils]: 9: Hoare triple {27147#true} assume true; {27147#true} is VALID [2022-04-28 11:19:43,418 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27147#true} {27147#true} #61#return; {27147#true} is VALID [2022-04-28 11:19:43,418 INFO L290 TraceCheckUtils]: 11: Hoare triple {27147#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {27147#true} is VALID [2022-04-28 11:19:43,418 INFO L272 TraceCheckUtils]: 12: Hoare triple {27147#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {27147#true} is VALID [2022-04-28 11:19:43,418 INFO L290 TraceCheckUtils]: 13: Hoare triple {27147#true} ~cond := #in~cond; {27147#true} is VALID [2022-04-28 11:19:43,418 INFO L290 TraceCheckUtils]: 14: Hoare triple {27147#true} assume !(0 == ~cond); {27147#true} is VALID [2022-04-28 11:19:43,418 INFO L290 TraceCheckUtils]: 15: Hoare triple {27147#true} assume true; {27147#true} is VALID [2022-04-28 11:19:43,418 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {27147#true} {27147#true} #63#return; {27147#true} is VALID [2022-04-28 11:19:43,419 INFO L290 TraceCheckUtils]: 17: Hoare triple {27147#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {27203#(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:19:43,419 INFO L290 TraceCheckUtils]: 18: Hoare triple {27203#(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; {27203#(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:19:43,419 INFO L272 TraceCheckUtils]: 19: Hoare triple {27203#(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)); {27147#true} is VALID [2022-04-28 11:19:43,419 INFO L290 TraceCheckUtils]: 20: Hoare triple {27147#true} ~cond := #in~cond; {27147#true} is VALID [2022-04-28 11:19:43,419 INFO L290 TraceCheckUtils]: 21: Hoare triple {27147#true} assume !(0 == ~cond); {27147#true} is VALID [2022-04-28 11:19:43,420 INFO L290 TraceCheckUtils]: 22: Hoare triple {27147#true} assume true; {27147#true} is VALID [2022-04-28 11:19:43,420 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27147#true} {27203#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {27203#(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:19:43,420 INFO L290 TraceCheckUtils]: 24: Hoare triple {27203#(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); {27203#(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:19:43,422 INFO L290 TraceCheckUtils]: 25: Hoare triple {27203#(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; {27228#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 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:19:43,422 INFO L290 TraceCheckUtils]: 26: Hoare triple {27228#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 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; {27232#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= (+ (* (- 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:19:43,422 INFO L290 TraceCheckUtils]: 27: Hoare triple {27232#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= (+ (* (- 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; {27232#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= (+ (* (- 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:19:43,423 INFO L272 TraceCheckUtils]: 28: Hoare triple {27232#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= (+ (* (- 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)); {27147#true} is VALID [2022-04-28 11:19:43,423 INFO L290 TraceCheckUtils]: 29: Hoare triple {27147#true} ~cond := #in~cond; {27147#true} is VALID [2022-04-28 11:19:43,423 INFO L290 TraceCheckUtils]: 30: Hoare triple {27147#true} assume !(0 == ~cond); {27147#true} is VALID [2022-04-28 11:19:43,423 INFO L290 TraceCheckUtils]: 31: Hoare triple {27147#true} assume true; {27147#true} is VALID [2022-04-28 11:19:43,423 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {27147#true} {27232#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {27232#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= (+ (* (- 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:19:43,424 INFO L290 TraceCheckUtils]: 33: Hoare triple {27232#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {27254#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= (+ (* (- 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:19:43,425 INFO L290 TraceCheckUtils]: 34: Hoare triple {27254#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (= (+ (* (- 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 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {27258#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 1))} is VALID [2022-04-28 11:19:43,425 INFO L290 TraceCheckUtils]: 35: Hoare triple {27258#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~x~0 main_~X~0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {27262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} is VALID [2022-04-28 11:19:43,425 INFO L290 TraceCheckUtils]: 36: Hoare triple {27262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {27262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} is VALID [2022-04-28 11:19:43,425 INFO L272 TraceCheckUtils]: 37: Hoare triple {27262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 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)); {27147#true} is VALID [2022-04-28 11:19:43,426 INFO L290 TraceCheckUtils]: 38: Hoare triple {27147#true} ~cond := #in~cond; {27147#true} is VALID [2022-04-28 11:19:43,426 INFO L290 TraceCheckUtils]: 39: Hoare triple {27147#true} assume !(0 == ~cond); {27147#true} is VALID [2022-04-28 11:19:43,426 INFO L290 TraceCheckUtils]: 40: Hoare triple {27147#true} assume true; {27147#true} is VALID [2022-04-28 11:19:43,427 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {27147#true} {27262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} #65#return; {27262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} is VALID [2022-04-28 11:19:43,428 INFO L290 TraceCheckUtils]: 42: Hoare triple {27262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} assume !!(~x~0 <= ~X~0); {27262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} is VALID [2022-04-28 11:19:43,429 INFO L290 TraceCheckUtils]: 43: Hoare triple {27262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= main_~x~0 2) (<= 1 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {27287#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= main_~x~0 2))} is VALID [2022-04-28 11:19:43,430 INFO L290 TraceCheckUtils]: 44: Hoare triple {27287#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {27291#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= (+ (- 1) main_~x~0) 2))} is VALID [2022-04-28 11:19:43,431 INFO L290 TraceCheckUtils]: 45: Hoare triple {27291#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= (+ (- 1) main_~x~0) 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {27291#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= (+ (- 1) main_~x~0) 2))} is VALID [2022-04-28 11:19:43,431 INFO L272 TraceCheckUtils]: 46: Hoare triple {27291#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= (+ (- 1) 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)); {27147#true} is VALID [2022-04-28 11:19:43,431 INFO L290 TraceCheckUtils]: 47: Hoare triple {27147#true} ~cond := #in~cond; {27147#true} is VALID [2022-04-28 11:19:43,431 INFO L290 TraceCheckUtils]: 48: Hoare triple {27147#true} assume !(0 == ~cond); {27147#true} is VALID [2022-04-28 11:19:43,431 INFO L290 TraceCheckUtils]: 49: Hoare triple {27147#true} assume true; {27147#true} is VALID [2022-04-28 11:19:43,432 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {27147#true} {27291#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= (+ (- 1) main_~x~0) 2))} #65#return; {27291#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= (+ (- 1) main_~x~0) 2))} is VALID [2022-04-28 11:19:43,432 INFO L290 TraceCheckUtils]: 51: Hoare triple {27291#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= (+ (- 1) main_~x~0) 2))} assume !!(~x~0 <= ~X~0); {27291#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= (+ (- 1) main_~x~0) 2))} is VALID [2022-04-28 11:19:43,433 INFO L290 TraceCheckUtils]: 52: Hoare triple {27291#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= (+ (- 1) main_~x~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; {27316#(and (= (+ main_~v~0 (* 7 main_~X~0) (* (- 2) main_~Y~0)) (* main_~Y~0 8)) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= main_~y~0 3) (= (+ (- 1) main_~x~0) 2))} is VALID [2022-04-28 11:19:43,433 INFO L290 TraceCheckUtils]: 53: Hoare triple {27316#(and (= (+ main_~v~0 (* 7 main_~X~0) (* (- 2) main_~Y~0)) (* main_~Y~0 8)) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= main_~y~0 3) (= (+ (- 1) main_~x~0) 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {27320#(and (= (+ main_~v~0 (* 7 main_~X~0) (* (- 2) main_~Y~0)) (* main_~Y~0 8)) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= main_~y~0 3) (= 2 (+ (- 2) main_~x~0)))} is VALID [2022-04-28 11:19:43,434 INFO L290 TraceCheckUtils]: 54: Hoare triple {27320#(and (= (+ main_~v~0 (* 7 main_~X~0) (* (- 2) main_~Y~0)) (* main_~Y~0 8)) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= main_~y~0 3) (= 2 (+ (- 2) main_~x~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {27324#(and (= (+ main_~v~0 (* 7 main_~X~0) (* (- 2) main_~Y~0)) (* main_~Y~0 8)) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= main_~yx~0 (* main_~Y~0 4)) (= main_~xy~0 (* main_~X~0 3)))} is VALID [2022-04-28 11:19:43,435 INFO L272 TraceCheckUtils]: 55: Hoare triple {27324#(and (= (+ main_~v~0 (* 7 main_~X~0) (* (- 2) main_~Y~0)) (* main_~Y~0 8)) (<= (* main_~X~0 3) (* main_~Y~0 4)) (< (* main_~Y~0 6) (* 5 main_~X~0)) (= main_~yx~0 (* main_~Y~0 4)) (= main_~xy~0 (* main_~X~0 3)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {27328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:19:43,435 INFO L290 TraceCheckUtils]: 56: Hoare triple {27328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:19:43,435 INFO L290 TraceCheckUtils]: 57: Hoare triple {27332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27148#false} is VALID [2022-04-28 11:19:43,435 INFO L290 TraceCheckUtils]: 58: Hoare triple {27148#false} assume !false; {27148#false} is VALID [2022-04-28 11:19:43,436 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 8 proven. 38 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 11:19:43,436 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:19:44,811 INFO L290 TraceCheckUtils]: 58: Hoare triple {27148#false} assume !false; {27148#false} is VALID [2022-04-28 11:19:44,812 INFO L290 TraceCheckUtils]: 57: Hoare triple {27332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27148#false} is VALID [2022-04-28 11:19:44,812 INFO L290 TraceCheckUtils]: 56: Hoare triple {27328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:19:44,813 INFO L272 TraceCheckUtils]: 55: Hoare triple {27348#(= (+ (* 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)); {27328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:19:44,814 INFO L290 TraceCheckUtils]: 54: Hoare triple {27352#(= (+ (* 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; {27348#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:19:44,817 INFO L290 TraceCheckUtils]: 53: Hoare triple {27356#(= (+ (* (* 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; {27352#(= (+ (* 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:19:44,819 INFO L290 TraceCheckUtils]: 52: Hoare triple {27352#(= (+ (* 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; {27356#(= (+ (* (* 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:19:44,820 INFO L290 TraceCheckUtils]: 51: Hoare triple {27363#(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); {27352#(= (+ (* 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:19:44,826 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {27147#true} {27363#(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; {27363#(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:19:44,827 INFO L290 TraceCheckUtils]: 49: Hoare triple {27147#true} assume true; {27147#true} is VALID [2022-04-28 11:19:44,827 INFO L290 TraceCheckUtils]: 48: Hoare triple {27147#true} assume !(0 == ~cond); {27147#true} is VALID [2022-04-28 11:19:44,827 INFO L290 TraceCheckUtils]: 47: Hoare triple {27147#true} ~cond := #in~cond; {27147#true} is VALID [2022-04-28 11:19:44,827 INFO L272 TraceCheckUtils]: 46: Hoare triple {27363#(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)); {27147#true} is VALID [2022-04-28 11:19:44,827 INFO L290 TraceCheckUtils]: 45: Hoare triple {27363#(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; {27363#(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:19:44,831 INFO L290 TraceCheckUtils]: 44: Hoare triple {27385#(or (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* (* 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; {27363#(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:19:44,832 INFO L290 TraceCheckUtils]: 43: Hoare triple {27389#(or (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~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; {27385#(or (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* (* 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:19:44,833 INFO L290 TraceCheckUtils]: 42: Hoare triple {27389#(or (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~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); {27389#(or (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~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:19:44,834 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {27147#true} {27389#(or (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~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; {27389#(or (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~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:19:44,834 INFO L290 TraceCheckUtils]: 40: Hoare triple {27147#true} assume true; {27147#true} is VALID [2022-04-28 11:19:44,834 INFO L290 TraceCheckUtils]: 39: Hoare triple {27147#true} assume !(0 == ~cond); {27147#true} is VALID [2022-04-28 11:19:44,834 INFO L290 TraceCheckUtils]: 38: Hoare triple {27147#true} ~cond := #in~cond; {27147#true} is VALID [2022-04-28 11:19:44,834 INFO L272 TraceCheckUtils]: 37: Hoare triple {27389#(or (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~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)); {27147#true} is VALID [2022-04-28 11:19:44,834 INFO L290 TraceCheckUtils]: 36: Hoare triple {27389#(or (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {27389#(or (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~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:19:44,836 INFO L290 TraceCheckUtils]: 35: Hoare triple {27414#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {27389#(or (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~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:19:44,839 INFO L290 TraceCheckUtils]: 34: Hoare triple {27418#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (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; {27414#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 11:19:44,840 INFO L290 TraceCheckUtils]: 33: Hoare triple {27418#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (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); {27418#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (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:19:44,840 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {27147#true} {27418#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} #65#return; {27418#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (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:19:44,841 INFO L290 TraceCheckUtils]: 31: Hoare triple {27147#true} assume true; {27147#true} is VALID [2022-04-28 11:19:44,841 INFO L290 TraceCheckUtils]: 30: Hoare triple {27147#true} assume !(0 == ~cond); {27147#true} is VALID [2022-04-28 11:19:44,841 INFO L290 TraceCheckUtils]: 29: Hoare triple {27147#true} ~cond := #in~cond; {27147#true} is VALID [2022-04-28 11:19:44,841 INFO L272 TraceCheckUtils]: 28: Hoare triple {27418#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (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)); {27147#true} is VALID [2022-04-28 11:19:44,841 INFO L290 TraceCheckUtils]: 27: Hoare triple {27418#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (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; {27418#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (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:19:44,844 INFO L290 TraceCheckUtils]: 26: Hoare triple {27443#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< main_~v~0 0) (not (<= (+ main_~x~0 3) main_~X~0)) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {27418#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (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:19:44,847 INFO L290 TraceCheckUtils]: 25: Hoare triple {27447#(or (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 3) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (not (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4))))} 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; {27443#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (< main_~v~0 0) (not (<= (+ main_~x~0 3) main_~X~0)) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-28 11:19:44,848 INFO L290 TraceCheckUtils]: 24: Hoare triple {27447#(or (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 3) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (not (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4))))} assume !!(~x~0 <= ~X~0); {27447#(or (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 3) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (not (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4))))} is VALID [2022-04-28 11:19:44,848 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27147#true} {27447#(or (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 3) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (not (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4))))} #65#return; {27447#(or (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 3) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (not (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4))))} is VALID [2022-04-28 11:19:44,848 INFO L290 TraceCheckUtils]: 22: Hoare triple {27147#true} assume true; {27147#true} is VALID [2022-04-28 11:19:44,848 INFO L290 TraceCheckUtils]: 21: Hoare triple {27147#true} assume !(0 == ~cond); {27147#true} is VALID [2022-04-28 11:19:44,849 INFO L290 TraceCheckUtils]: 20: Hoare triple {27147#true} ~cond := #in~cond; {27147#true} is VALID [2022-04-28 11:19:44,849 INFO L272 TraceCheckUtils]: 19: Hoare triple {27447#(or (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 3) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (not (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {27147#true} is VALID [2022-04-28 11:19:44,849 INFO L290 TraceCheckUtils]: 18: Hoare triple {27447#(or (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 3) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (not (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {27447#(or (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 3) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (not (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4))))} is VALID [2022-04-28 11:19:44,850 INFO L290 TraceCheckUtils]: 17: Hoare triple {27147#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {27447#(or (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 6)) (+ (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 3) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (not (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 4))))} is VALID [2022-04-28 11:19:44,850 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {27147#true} {27147#true} #63#return; {27147#true} is VALID [2022-04-28 11:19:44,850 INFO L290 TraceCheckUtils]: 15: Hoare triple {27147#true} assume true; {27147#true} is VALID [2022-04-28 11:19:44,850 INFO L290 TraceCheckUtils]: 14: Hoare triple {27147#true} assume !(0 == ~cond); {27147#true} is VALID [2022-04-28 11:19:44,850 INFO L290 TraceCheckUtils]: 13: Hoare triple {27147#true} ~cond := #in~cond; {27147#true} is VALID [2022-04-28 11:19:44,850 INFO L272 TraceCheckUtils]: 12: Hoare triple {27147#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {27147#true} is VALID [2022-04-28 11:19:44,850 INFO L290 TraceCheckUtils]: 11: Hoare triple {27147#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {27147#true} is VALID [2022-04-28 11:19:44,850 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27147#true} {27147#true} #61#return; {27147#true} is VALID [2022-04-28 11:19:44,850 INFO L290 TraceCheckUtils]: 9: Hoare triple {27147#true} assume true; {27147#true} is VALID [2022-04-28 11:19:44,850 INFO L290 TraceCheckUtils]: 8: Hoare triple {27147#true} assume !(0 == ~cond); {27147#true} is VALID [2022-04-28 11:19:44,850 INFO L290 TraceCheckUtils]: 7: Hoare triple {27147#true} ~cond := #in~cond; {27147#true} is VALID [2022-04-28 11:19:44,850 INFO L272 TraceCheckUtils]: 6: Hoare triple {27147#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {27147#true} is VALID [2022-04-28 11:19:44,850 INFO L290 TraceCheckUtils]: 5: Hoare triple {27147#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; {27147#true} is VALID [2022-04-28 11:19:44,850 INFO L272 TraceCheckUtils]: 4: Hoare triple {27147#true} call #t~ret8 := main(); {27147#true} is VALID [2022-04-28 11:19:44,851 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27147#true} {27147#true} #69#return; {27147#true} is VALID [2022-04-28 11:19:44,851 INFO L290 TraceCheckUtils]: 2: Hoare triple {27147#true} assume true; {27147#true} is VALID [2022-04-28 11:19:44,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {27147#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); {27147#true} is VALID [2022-04-28 11:19:44,851 INFO L272 TraceCheckUtils]: 0: Hoare triple {27147#true} call ULTIMATE.init(); {27147#true} is VALID [2022-04-28 11:19:44,851 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 29 proven. 17 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 11:19:44,851 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:19:44,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1330536712] [2022-04-28 11:19:44,851 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:19:44,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1652077860] [2022-04-28 11:19:44,851 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1652077860] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:19:44,852 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:19:44,852 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14] total 25 [2022-04-28 11:19:44,852 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:19:44,852 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1579384699] [2022-04-28 11:19:44,852 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1579384699] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:19:44,852 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:19:44,852 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 11:19:44,852 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1293565785] [2022-04-28 11:19:44,852 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:19:44,852 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 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 59 [2022-04-28 11:19:44,853 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:19:44,853 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 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:19:44,927 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:19:44,927 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 11:19:44,927 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:19:44,927 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 11:19:44,928 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=480, Unknown=0, NotChecked=0, Total=600 [2022-04-28 11:19:44,928 INFO L87 Difference]: Start difference. First operand 157 states and 170 transitions. Second operand has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 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:19:48,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:19:48,074 INFO L93 Difference]: Finished difference Result 182 states and 199 transitions. [2022-04-28 11:19:48,074 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 11:19:48,074 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 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 59 [2022-04-28 11:19:48,075 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:19:48,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 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:19:48,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 76 transitions. [2022-04-28 11:19:48,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 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:19:48,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 76 transitions. [2022-04-28 11:19:48,076 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 76 transitions. [2022-04-28 11:19:48,163 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:19:48,165 INFO L225 Difference]: With dead ends: 182 [2022-04-28 11:19:48,165 INFO L226 Difference]: Without dead ends: 171 [2022-04-28 11:19:48,165 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 90 SyntacticMatches, 4 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=136, Invalid=566, Unknown=0, NotChecked=0, Total=702 [2022-04-28 11:19:48,166 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 9 mSDsluCounter, 236 mSDsCounter, 0 mSdLazyCounter, 498 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 268 SdHoareTripleChecker+Invalid, 501 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 498 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:19:48,166 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 268 Invalid, 501 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 498 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 11:19:48,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 171 states. [2022-04-28 11:19:48,697 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 171 to 169. [2022-04-28 11:19:48,698 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:19:48,698 INFO L82 GeneralOperation]: Start isEquivalent. First operand 171 states. Second operand has 169 states, 126 states have (on average 1.0793650793650793) internal successors, (136), 131 states have internal predecessors, (136), 24 states have call successors, (24), 19 states have call predecessors, (24), 18 states have return successors, (23), 18 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:19:48,698 INFO L74 IsIncluded]: Start isIncluded. First operand 171 states. Second operand has 169 states, 126 states have (on average 1.0793650793650793) internal successors, (136), 131 states have internal predecessors, (136), 24 states have call successors, (24), 19 states have call predecessors, (24), 18 states have return successors, (23), 18 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:19:48,698 INFO L87 Difference]: Start difference. First operand 171 states. Second operand has 169 states, 126 states have (on average 1.0793650793650793) internal successors, (136), 131 states have internal predecessors, (136), 24 states have call successors, (24), 19 states have call predecessors, (24), 18 states have return successors, (23), 18 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:19:48,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:19:48,701 INFO L93 Difference]: Finished difference Result 171 states and 185 transitions. [2022-04-28 11:19:48,701 INFO L276 IsEmpty]: Start isEmpty. Operand 171 states and 185 transitions. [2022-04-28 11:19:48,702 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:19:48,702 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:19:48,702 INFO L74 IsIncluded]: Start isIncluded. First operand has 169 states, 126 states have (on average 1.0793650793650793) internal successors, (136), 131 states have internal predecessors, (136), 24 states have call successors, (24), 19 states have call predecessors, (24), 18 states have return successors, (23), 18 states have call predecessors, (23), 23 states have call successors, (23) Second operand 171 states. [2022-04-28 11:19:48,702 INFO L87 Difference]: Start difference. First operand has 169 states, 126 states have (on average 1.0793650793650793) internal successors, (136), 131 states have internal predecessors, (136), 24 states have call successors, (24), 19 states have call predecessors, (24), 18 states have return successors, (23), 18 states have call predecessors, (23), 23 states have call successors, (23) Second operand 171 states. [2022-04-28 11:19:48,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:19:48,704 INFO L93 Difference]: Finished difference Result 171 states and 185 transitions. [2022-04-28 11:19:48,704 INFO L276 IsEmpty]: Start isEmpty. Operand 171 states and 185 transitions. [2022-04-28 11:19:48,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:19:48,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:19:48,704 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:19:48,704 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:19:48,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 169 states, 126 states have (on average 1.0793650793650793) internal successors, (136), 131 states have internal predecessors, (136), 24 states have call successors, (24), 19 states have call predecessors, (24), 18 states have return successors, (23), 18 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:19:48,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 169 states to 169 states and 183 transitions. [2022-04-28 11:19:48,706 INFO L78 Accepts]: Start accepts. Automaton has 169 states and 183 transitions. Word has length 59 [2022-04-28 11:19:48,706 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:19:48,706 INFO L495 AbstractCegarLoop]: Abstraction has 169 states and 183 transitions. [2022-04-28 11:19:48,706 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 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:19:48,709 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 169 states and 183 transitions. [2022-04-28 11:19:49,386 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:19:49,386 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 183 transitions. [2022-04-28 11:19:49,386 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:19:49,386 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:19:49,386 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:19:49,390 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Forceful destruction successful, exit code 0 [2022-04-28 11:19:49,587 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:19:49,587 INFO L420 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:19:49,587 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:19:49,587 INFO L85 PathProgramCache]: Analyzing trace with hash -1293851497, now seen corresponding path program 29 times [2022-04-28 11:19:49,587 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:19:49,587 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [127993923] [2022-04-28 11:19:49,589 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:19:49,589 INFO L85 PathProgramCache]: Analyzing trace with hash -1293851497, now seen corresponding path program 30 times [2022-04-28 11:19:49,589 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:19:49,589 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1608150058] [2022-04-28 11:19:49,589 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:19:49,589 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:19:49,597 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:19:49,598 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [914468993] [2022-04-28 11:19:49,598 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:19:49,598 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:19:49,598 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:19:49,599 INFO L229 MonitoredProcess]: Starting monitored process 31 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:19:49,599 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2022-04-28 11:19:49,645 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 11:19:49,645 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:19:49,646 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 50 conjunts are in the unsatisfiable core [2022-04-28 11:19:49,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:19:49,669 INFO L286 TraceCheckSpWp]: Computing forward predicates...