/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_valuebound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 11:09:58,025 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 11:09:58,028 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 11:09:58,069 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 11:09:58,070 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 11:09:58,070 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 11:09:58,076 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 11:09:58,078 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 11:09:58,080 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 11:09:58,084 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 11:09:58,085 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 11:09:58,086 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 11:09:58,086 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 11:09:58,088 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 11:09:58,089 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 11:09:58,091 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 11:09:58,091 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 11:09:58,092 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 11:09:58,097 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 11:09:58,103 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 11:09:58,105 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 11:09:58,106 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 11:09:58,107 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 11:09:58,107 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 11:09:58,109 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 11:09:58,115 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 11:09:58,116 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 11:09:58,116 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 11:09:58,116 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 11:09:58,117 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 11:09:58,117 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 11:09:58,118 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 11:09:58,118 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 11:09:58,119 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 11:09:58,119 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 11:09:58,120 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 11:09:58,120 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 11:09:58,120 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 11:09:58,121 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 11:09:58,121 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 11:09:58,123 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 11:09:58,124 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 11:09:58,125 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:09:58,136 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 11:09:58,136 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 11:09:58,137 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 11:09:58,137 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 11:09:58,137 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 11:09:58,138 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 11:09:58,138 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 11:09:58,138 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 11:09:58,138 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 11:09:58,139 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 11:09:58,139 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 11:09:58,139 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 11:09:58,139 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 11:09:58,139 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 11:09:58,139 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 11:09:58,139 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 11:09:58,140 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 11:09:58,140 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 11:09:58,140 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 11:09:58,140 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 11:09:58,140 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 11:09:58,140 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 11:09:58,140 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:09:58,338 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 11:09:58,357 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 11:09:58,359 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 11:09:58,360 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 11:09:58,360 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 11:09:58,361 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound50.c [2022-04-28 11:09:58,412 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/888a1c2d8/6d52d48278374eaba542f4d9b8698ed1/FLAG37fa69845 [2022-04-28 11:09:58,783 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 11:09:58,783 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound50.c [2022-04-28 11:09:58,789 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/888a1c2d8/6d52d48278374eaba542f4d9b8698ed1/FLAG37fa69845 [2022-04-28 11:09:59,198 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/888a1c2d8/6d52d48278374eaba542f4d9b8698ed1 [2022-04-28 11:09:59,201 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 11:09:59,202 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 11:09:59,203 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 11:09:59,204 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 11:09:59,207 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 11:09:59,208 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 11:09:59" (1/1) ... [2022-04-28 11:09:59,209 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6d08af2f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:09:59, skipping insertion in model container [2022-04-28 11:09:59,209 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 11:09:59" (1/1) ... [2022-04-28 11:09:59,213 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 11:09:59,225 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 11:09:59,384 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_valuebound50.c[597,610] [2022-04-28 11:09:59,424 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 11:09:59,434 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 11:09:59,447 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_valuebound50.c[597,610] [2022-04-28 11:09:59,473 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 11:09:59,485 INFO L208 MainTranslator]: Completed translation [2022-04-28 11:09:59,485 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:09:59 WrapperNode [2022-04-28 11:09:59,485 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 11:09:59,486 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 11:09:59,486 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 11:09:59,487 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 11:09:59,494 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:09:59" (1/1) ... [2022-04-28 11:09:59,495 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:09:59" (1/1) ... [2022-04-28 11:09:59,500 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:09:59" (1/1) ... [2022-04-28 11:09:59,500 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:09:59" (1/1) ... [2022-04-28 11:09:59,512 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:09:59" (1/1) ... [2022-04-28 11:09:59,517 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:09:59" (1/1) ... [2022-04-28 11:09:59,521 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:09:59" (1/1) ... [2022-04-28 11:09:59,524 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 11:09:59,525 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 11:09:59,525 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 11:09:59,525 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 11:09:59,526 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:09:59" (1/1) ... [2022-04-28 11:09:59,531 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 11:09:59,540 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:09:59,552 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:09:59,565 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:09:59,592 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 11:09:59,592 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 11:09:59,592 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 11:09:59,593 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 11:09:59,593 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 11:09:59,593 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 11:09:59,593 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 11:09:59,593 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 11:09:59,593 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 11:09:59,593 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 11:09:59,593 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 11:09:59,594 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 11:09:59,594 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 11:09:59,594 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 11:09:59,595 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 11:09:59,595 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 11:09:59,595 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 11:09:59,595 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 11:09:59,595 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 11:09:59,596 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 11:09:59,653 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 11:09:59,654 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 11:09:59,870 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 11:09:59,888 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 11:09:59,888 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 11:09:59,890 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 11:09:59 BoogieIcfgContainer [2022-04-28 11:09:59,890 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 11:09:59,891 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 11:09:59,891 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 11:09:59,895 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 11:09:59,895 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 11:09:59" (1/3) ... [2022-04-28 11:09:59,896 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@61da09fb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 11:09:59, skipping insertion in model container [2022-04-28 11:09:59,896 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:09:59" (2/3) ... [2022-04-28 11:09:59,896 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@61da09fb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 11:09:59, skipping insertion in model container [2022-04-28 11:09:59,896 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 11:09:59" (3/3) ... [2022-04-28 11:09:59,897 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound50.c [2022-04-28 11:09:59,909 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 11:09:59,909 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 11:09:59,967 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 11:09:59,974 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@6b81a20d, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@6f1b6104 [2022-04-28 11:09:59,975 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 11:09:59,990 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:09:59,996 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 11:09:59,996 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:09:59,997 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:09:59,997 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:10:00,002 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:10:00,002 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-28 11:10:00,009 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:00,009 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [760944880] [2022-04-28 11:10:00,019 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:10:00,019 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 2 times [2022-04-28 11:10:00,022 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:10:00,022 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [407718487] [2022-04-28 11:10:00,022 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:10:00,023 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:10:00,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:00,176 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 11:10:00,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:00,210 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:10:00,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 11:10:00,210 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-28 11:10:00,211 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 11:10:00,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:00,226 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:10:00,227 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:10:00,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:10:00,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 11:10:00,228 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 11:10:00,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:00,235 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:10:00,235 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:10:00,236 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:10:00,236 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 11:10:00,237 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:10:00,237 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:10:00,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 11:10:00,238 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-28 11:10:00,238 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-28 11:10:00,238 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:10:00,238 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {35#true} is VALID [2022-04-28 11:10:00,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:10:00,239 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:10:00,239 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:10:00,239 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 11:10:00,240 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:10:00,240 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {35#true} is VALID [2022-04-28 11:10:00,240 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 11:10:00,240 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 11:10:00,241 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 11:10:00,241 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 11:10:00,241 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:10:00,241 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:10:00,242 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:10:00,242 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 11:10:00,242 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 11:10:00,242 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 11:10:00,243 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:10:00,243 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:10:00,243 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [407718487] [2022-04-28 11:10:00,244 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [407718487] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:10:00,244 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:10:00,244 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 11:10:00,246 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:10:00,246 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [760944880] [2022-04-28 11:10:00,247 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [760944880] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:10:00,247 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:10:00,247 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 11:10:00,247 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [237924646] [2022-04-28 11:10:00,247 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:10:00,253 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:10:00,254 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:10:00,257 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:10:00,288 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:10:00,288 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 11:10:00,288 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:00,305 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 11:10:00,305 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 11:10:00,307 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:10:00,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:00,403 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-28 11:10:00,403 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 11:10:00,404 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:10:00,404 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:10:00,405 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:10:00,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-28 11:10:00,413 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:10:00,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-28 11:10:00,417 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-28 11:10:00,520 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:10:00,527 INFO L225 Difference]: With dead ends: 57 [2022-04-28 11:10:00,528 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 11:10:00,530 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:10:00,533 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:10:00,534 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:10:00,548 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 11:10:00,562 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 11:10:00,562 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:10:00,563 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:10:00,564 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:10:00,564 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:10:00,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:00,568 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 11:10:00,569 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 11:10:00,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:00,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:00,570 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:10:00,570 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:10:00,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:00,573 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 11:10:00,574 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 11:10:00,574 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:00,574 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:00,574 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:10:00,574 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:10:00,575 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:10:00,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-28 11:10:00,578 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-28 11:10:00,579 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:10:00,579 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-28 11:10:00,579 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:10:00,579 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-28 11:10:00,631 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:10:00,631 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 11:10:00,632 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 11:10:00,632 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:10:00,632 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:10:00,633 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 11:10:00,633 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:10:00,634 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:10:00,634 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-28 11:10:00,634 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:00,635 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1559826436] [2022-04-28 11:10:00,636 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:10:00,636 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 2 times [2022-04-28 11:10:00,637 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:10:00,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [623892410] [2022-04-28 11:10:00,640 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:10:00,641 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:10:00,674 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:10:00,674 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [371270538] [2022-04-28 11:10:00,675 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:10:00,677 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:10:00,678 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:10:00,680 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:10:00,681 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:10:00,733 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 11:10:00,733 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:10:00,735 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 11:10:00,755 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:00,761 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:10:01,017 INFO L272 TraceCheckUtils]: 0: Hoare triple {273#true} call ULTIMATE.init(); {273#true} is VALID [2022-04-28 11:10:01,018 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:10:01,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 11:10:01,018 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {273#true} {273#true} #69#return; {273#true} is VALID [2022-04-28 11:10:01,018 INFO L272 TraceCheckUtils]: 4: Hoare triple {273#true} call #t~ret8 := main(); {273#true} is VALID [2022-04-28 11:10:01,019 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:10:01,019 INFO L272 TraceCheckUtils]: 6: Hoare triple {273#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {273#true} is VALID [2022-04-28 11:10:01,019 INFO L290 TraceCheckUtils]: 7: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-28 11:10:01,019 INFO L290 TraceCheckUtils]: 8: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-28 11:10:01,019 INFO L290 TraceCheckUtils]: 9: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 11:10:01,020 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {273#true} {273#true} #61#return; {273#true} is VALID [2022-04-28 11:10:01,021 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:10:01,021 INFO L272 TraceCheckUtils]: 12: Hoare triple {273#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {273#true} is VALID [2022-04-28 11:10:01,021 INFO L290 TraceCheckUtils]: 13: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-28 11:10:01,025 INFO L290 TraceCheckUtils]: 14: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-28 11:10:01,025 INFO L290 TraceCheckUtils]: 15: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 11:10:01,025 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {273#true} {273#true} #63#return; {273#true} is VALID [2022-04-28 11:10:01,027 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:10:01,028 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:10:01,029 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:10:01,030 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:10:01,032 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {274#false} is VALID [2022-04-28 11:10:01,033 INFO L290 TraceCheckUtils]: 22: Hoare triple {274#false} assume !false; {274#false} is VALID [2022-04-28 11:10:01,033 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:10:01,033 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 11:10:01,033 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:10:01,034 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [623892410] [2022-04-28 11:10:01,034 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:10:01,035 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [371270538] [2022-04-28 11:10:01,036 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [371270538] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:10:01,036 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:10:01,036 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 11:10:01,037 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:10:01,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1559826436] [2022-04-28 11:10:01,037 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1559826436] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:10:01,037 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:10:01,037 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 11:10:01,038 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1891175238] [2022-04-28 11:10:01,038 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:10:01,039 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:10:01,040 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:10:01,040 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:10:01,058 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:10:01,058 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 11:10:01,058 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:01,059 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 11:10:01,060 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 11:10:01,061 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:10:01,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:01,320 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-28 11:10:01,320 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 11:10:01,321 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:10:01,321 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:10:01,321 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:10:01,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 11:10:01,323 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:10:01,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 11:10:01,325 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-28 11:10:01,373 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:01,378 INFO L225 Difference]: With dead ends: 39 [2022-04-28 11:10:01,379 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 11:10:01,380 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 11:10:01,382 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:10:01,385 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:10:01,386 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 11:10:01,396 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-28 11:10:01,397 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:10:01,397 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:10:01,398 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:10:01,398 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:10:01,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:01,406 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 11:10:01,406 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 11:10:01,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:01,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:01,407 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:10:01,407 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:10:01,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:01,409 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 11:10:01,410 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 11:10:01,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:01,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:01,410 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:10:01,410 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:10:01,411 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:10:01,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-28 11:10:01,413 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-28 11:10:01,413 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:10:01,413 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-28 11:10:01,413 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:10:01,413 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 37 transitions. [2022-04-28 11:10:01,452 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:10:01,452 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-28 11:10:01,453 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 11:10:01,453 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:10:01,453 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:10:01,474 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:10:01,663 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:10:01,664 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:10:01,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:10:01,664 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-28 11:10:01,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:01,665 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1435929251] [2022-04-28 11:10:01,665 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:10:01,665 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 2 times [2022-04-28 11:10:01,665 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:10:01,665 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1801119218] [2022-04-28 11:10:01,666 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:10:01,666 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:10:01,696 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:10:01,697 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1208219009] [2022-04-28 11:10:01,697 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:10:01,697 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:10:01,697 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:10:01,698 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:10:01,710 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:10:01,744 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:10:01,745 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:10:01,746 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 11:10:01,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:01,762 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:10:02,134 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-28 11:10:02,134 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:10:02,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:10:02,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-28 11:10:02,135 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-28 11:10:02,135 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:10:02,135 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {567#true} is VALID [2022-04-28 11:10:02,135 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:10:02,135 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:10:02,135 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:10:02,136 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-28 11:10:02,136 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:10:02,136 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {567#true} is VALID [2022-04-28 11:10:02,136 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:10:02,137 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:10:02,137 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:10:02,138 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {615#(not (= |assume_abort_if_not_#in~cond| 0))} {567#true} #63#return; {622#(and (<= main_~Y~0 50) (<= 0 main_~Y~0))} is VALID [2022-04-28 11:10:02,139 INFO L290 TraceCheckUtils]: 17: Hoare triple {622#(and (<= main_~Y~0 50) (<= 0 main_~Y~0))} ~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) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:10:02,140 INFO L290 TraceCheckUtils]: 18: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} 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) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:10:02,140 INFO L272 TraceCheckUtils]: 19: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 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)); {567#true} is VALID [2022-04-28 11:10:02,140 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:10:02,140 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:10:02,140 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:10:02,141 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) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} #65#return; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:10:02,142 INFO L290 TraceCheckUtils]: 24: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:10:02,143 INFO L290 TraceCheckUtils]: 25: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {651#(and (= main_~x~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~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:10:02,143 INFO L290 TraceCheckUtils]: 26: Hoare triple {651#(and (= main_~x~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~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; {655#(and (<= main_~Y~0 50) (= main_~x~0 1) (<= 0 main_~Y~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:10:02,144 INFO L290 TraceCheckUtils]: 27: Hoare triple {655#(and (<= main_~Y~0 50) (= main_~x~0 1) (<= 0 main_~Y~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; {659#(and (= main_~xy~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:10:02,145 INFO L272 TraceCheckUtils]: 28: Hoare triple {659#(and (= main_~xy~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~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)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:10:02,146 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:10:02,146 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-28 11:10:02,146 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-28 11:10:02,147 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:10:02,147 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:10:02,419 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-28 11:10:02,420 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-28 11:10:02,420 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:10:02,421 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:10:02,422 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:10:02,470 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:10:02,471 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:10:02,472 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:10:02,473 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:10:02,473 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:10:02,473 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:10:02,473 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:10:02,474 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:10:02,476 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:10:02,478 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:10:02,478 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {567#true} {567#true} #63#return; {567#true} is VALID [2022-04-28 11:10:02,478 INFO L290 TraceCheckUtils]: 15: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:10:02,478 INFO L290 TraceCheckUtils]: 14: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:10:02,478 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:10:02,479 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {567#true} is VALID [2022-04-28 11:10:02,479 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:10:02,479 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-28 11:10:02,479 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:10:02,479 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 11:10:02,480 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 11:10:02,480 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {567#true} is VALID [2022-04-28 11:10:02,480 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:10:02,480 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-28 11:10:02,481 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-28 11:10:02,481 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 11:10:02,481 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:10:02,481 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-28 11:10:02,482 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:10:02,482 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:10:02,482 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1801119218] [2022-04-28 11:10:02,482 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:10:02,482 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1208219009] [2022-04-28 11:10:02,483 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1208219009] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:10:02,483 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:10:02,483 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7] total 14 [2022-04-28 11:10:02,483 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:10:02,483 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1435929251] [2022-04-28 11:10:02,483 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1435929251] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:10:02,484 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:10:02,484 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 11:10:02,484 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2007047750] [2022-04-28 11:10:02,484 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:10:02,485 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:10:02,485 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:10:02,485 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:10:02,516 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:10:02,516 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 11:10:02,517 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:02,517 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 11:10:02,517 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2022-04-28 11:10:02,518 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:10:03,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:03,192 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2022-04-28 11:10:03,192 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 11:10:03,192 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:10:03,192 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:10:03,193 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:10:03,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-28 11:10:03,195 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:10:03,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-28 11:10:03,197 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 51 transitions. [2022-04-28 11:10:03,247 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:10:03,249 INFO L225 Difference]: With dead ends: 48 [2022-04-28 11:10:03,249 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 11:10:03,250 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 49 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=48, Invalid=224, Unknown=0, NotChecked=0, Total=272 [2022-04-28 11:10:03,250 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 22 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 211 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-28 11:10:03,251 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.3s Time] [2022-04-28 11:10:03,251 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 11:10:03,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 43. [2022-04-28 11:10:03,291 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:10:03,292 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:10:03,292 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:10:03,292 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:10:03,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:03,305 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-28 11:10:03,305 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-28 11:10:03,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:03,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:03,308 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:10:03,309 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:10:03,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:03,311 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-28 11:10:03,311 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-28 11:10:03,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:03,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:03,311 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:10:03,311 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:10:03,312 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:10:03,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-28 11:10:03,319 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 32 [2022-04-28 11:10:03,319 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:10:03,319 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-28 11:10:03,319 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:10:03,319 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-28 11:10:03,368 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:10:03,369 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-28 11:10:03,371 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 11:10:03,371 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:10:03,371 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:10:03,398 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:10:03,588 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:10:03,589 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:10:03,589 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:10:03,589 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-28 11:10:03,589 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:03,590 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [787176124] [2022-04-28 11:10:03,590 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:10:03,590 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 2 times [2022-04-28 11:10:03,590 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:10:03,590 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [646315992] [2022-04-28 11:10:03,590 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:10:03,591 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:10:03,607 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:10:03,609 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1792454298] [2022-04-28 11:10:03,609 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:10:03,609 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:10:03,609 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:10:03,611 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:10:03,631 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:10:03,663 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:10:03,664 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:10:03,665 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-28 11:10:03,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:03,697 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:10:04,003 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-28 11:10:04,004 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:10:04,004 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:10:04,004 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-28 11:10:04,004 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-28 11:10:04,004 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:10:04,004 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {1048#true} is VALID [2022-04-28 11:10:04,005 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:10:04,005 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:10:04,005 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:10:04,005 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-28 11:10:04,005 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:10:04,005 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {1048#true} is VALID [2022-04-28 11:10:04,005 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:10:04,006 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:10:04,006 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:10:04,006 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-28 11:10:04,006 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:10:04,007 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:10:04,007 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:10:04,007 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:10:04,007 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:10:04,008 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:10:04,008 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:10:04,009 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:10:04,010 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:10:04,010 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:10:04,011 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:10:04,012 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:10:04,013 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:10:04,013 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-28 11:10:04,013 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-28 11:10:04,013 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:10:04,014 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:10:04,293 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-28 11:10:04,293 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-28 11:10:04,294 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:10:04,295 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:10:04,296 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:10:04,298 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:10:04,300 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:10:04,301 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:10:04,302 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:10:04,302 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:10:04,302 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:10:04,303 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:10:04,303 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:10:04,303 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:10:04,304 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:10:04,305 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-28 11:10:04,305 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:10:04,305 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:10:04,312 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:10:04,312 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {1048#true} is VALID [2022-04-28 11:10:04,312 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:10:04,312 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-28 11:10:04,312 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:10:04,312 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 11:10:04,313 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 11:10:04,313 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {1048#true} is VALID [2022-04-28 11:10:04,313 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:10:04,314 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-28 11:10:04,314 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-28 11:10:04,314 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 11:10:04,314 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:10:04,317 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-28 11:10:04,317 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:10:04,318 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:10:04,318 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [646315992] [2022-04-28 11:10:04,318 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:10:04,318 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1792454298] [2022-04-28 11:10:04,318 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1792454298] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:10:04,318 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:10:04,318 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-28 11:10:04,318 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:10:04,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [787176124] [2022-04-28 11:10:04,319 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [787176124] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:10:04,319 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:10:04,319 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 11:10:04,319 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1040508769] [2022-04-28 11:10:04,319 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:10:04,321 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:10:04,321 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:10:04,321 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:10:04,348 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:10:04,348 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 11:10:04,348 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:04,350 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 11:10:04,350 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-28 11:10:04,351 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:10:04,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:04,783 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-04-28 11:10:04,783 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 11:10:04,783 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:10:04,784 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:10:04,784 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:10:04,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-28 11:10:04,786 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:10:04,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-28 11:10:04,787 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 51 transitions. [2022-04-28 11:10:04,832 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:10:04,834 INFO L225 Difference]: With dead ends: 56 [2022-04-28 11:10:04,834 INFO L226 Difference]: Without dead ends: 54 [2022-04-28 11:10:04,834 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-28 11:10:04,835 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:10:04,835 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:10:04,836 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-28 11:10:04,881 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 50. [2022-04-28 11:10:04,881 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:10:04,882 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:10:04,883 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:10:04,884 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:10:04,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:04,887 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-28 11:10:04,887 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-28 11:10:04,888 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:04,888 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:04,888 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:10:04,888 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:10:04,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:04,893 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-28 11:10:04,893 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-28 11:10:04,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:04,894 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:04,894 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:10:04,894 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:10:04,894 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:10:04,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2022-04-28 11:10:04,898 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 32 [2022-04-28 11:10:04,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:10:04,898 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2022-04-28 11:10:04,899 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:10:04,899 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 54 transitions. [2022-04-28 11:10:04,965 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:10:04,966 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 11:10:04,966 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 11:10:04,966 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:10:04,967 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:10:04,984 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:10:05,175 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:10:05,176 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:10:05,176 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:10:05,176 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-28 11:10:05,176 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:05,176 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1543294648] [2022-04-28 11:10:05,177 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:10:05,177 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 2 times [2022-04-28 11:10:05,177 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:10:05,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [930986539] [2022-04-28 11:10:05,177 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:10:05,177 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:10:05,192 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:10:05,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [729539442] [2022-04-28 11:10:05,192 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:10:05,192 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:10:05,192 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:10:05,193 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:10:05,211 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:10:05,241 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:10:05,241 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:10:05,242 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 11:10:05,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:05,254 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:10:05,702 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-28 11:10:05,702 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:10:05,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:10:05,702 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-28 11:10:05,702 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-28 11:10:05,703 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:10:05,703 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:10:05,703 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 11:10:05,703 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 11:10:05,703 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:10:05,703 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-28 11:10:05,703 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:10:05,703 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:10:05,707 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 11:10:05,707 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 11:10:05,707 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:10:05,708 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-28 11:10:05,709 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:10:05,710 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:10:05,710 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:10:05,710 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:10:05,710 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:10:05,711 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:10:05,712 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:10:05,712 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:10:05,713 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:10:05,713 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:10:05,714 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:10:05,714 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:10:05,714 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:10:05,714 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:10:05,715 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:10:05,716 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_~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) (<= 0 main_~X~0))} is VALID [2022-04-28 11:10:05,717 INFO L290 TraceCheckUtils]: 33: Hoare triple {1684#(and (= (+ (- 1) main_~y~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)) (= main_~x~0 1) (<= 0 main_~X~0))} assume !(~x~0 <= ~X~0); {1688#(and (= (+ (- 1) main_~y~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)) (= main_~x~0 1) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:10:05,718 INFO L290 TraceCheckUtils]: 34: Hoare triple {1688#(and (= (+ (- 1) main_~y~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)) (= main_~x~0 1) (<= 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 (not (<= 1 main_~X~0)) (= (+ (- 1) main_~y~0) 0) (= main_~y~0 main_~xy~0) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-28 11:10:05,719 INFO L272 TraceCheckUtils]: 35: Hoare triple {1692#(and (not (<= 1 main_~X~0)) (= (+ (- 1) main_~y~0) 0) (= main_~y~0 main_~xy~0) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~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:10:05,719 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:10:05,720 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-28 11:10:05,720 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-28 11:10:05,721 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:10:05,721 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:10:06,395 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-28 11:10:06,396 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-28 11:10:06,396 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:10:06,397 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:10:06,398 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:10:06,399 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:10:06,400 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:10:06,401 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:10:06,402 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:10:06,402 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:10:06,402 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:10:06,403 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:10:06,405 INFO L290 TraceCheckUtils]: 26: Hoare triple {1749#(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; {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:10:06,407 INFO L290 TraceCheckUtils]: 25: Hoare triple {1753#(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; {1749#(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:10:06,409 INFO L290 TraceCheckUtils]: 24: Hoare triple {1576#true} assume !!(~x~0 <= ~X~0); {1753#(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:10:06,409 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1576#true} {1576#true} #65#return; {1576#true} is VALID [2022-04-28 11:10:06,410 INFO L290 TraceCheckUtils]: 22: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:10:06,410 INFO L290 TraceCheckUtils]: 21: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 11:10:06,410 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 11:10:06,410 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:10:06,410 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:10:06,411 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:10:06,413 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-28 11:10:06,415 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:10:06,423 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 11:10:06,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 11:10:06,424 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:10:06,424 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:10:06,424 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-28 11:10:06,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:10:06,424 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 11:10:06,424 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 11:10:06,424 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {1576#true} is VALID [2022-04-28 11:10:06,425 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:10:06,425 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-28 11:10:06,425 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-28 11:10:06,425 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 11:10:06,425 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:10:06,425 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-28 11:10:06,425 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:10:06,426 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:10:06,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [930986539] [2022-04-28 11:10:06,426 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:10:06,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [729539442] [2022-04-28 11:10:06,426 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [729539442] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:10:06,426 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:10:06,426 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-28 11:10:06,427 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:10:06,427 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1543294648] [2022-04-28 11:10:06,427 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1543294648] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:10:06,427 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:10:06,427 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:10:06,427 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [118452309] [2022-04-28 11:10:06,427 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:10:06,428 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:10:06,428 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:10:06,428 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:10:06,461 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:10:06,462 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:10:06,462 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:06,462 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:10:06,462 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-28 11:10:06,463 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:10:07,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:07,352 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-28 11:10:07,352 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 11:10:07,352 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:10:07,353 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:10:07,353 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:10:07,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-28 11:10:07,354 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:10:07,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-28 11:10:07,360 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 53 transitions. [2022-04-28 11:10:07,407 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:10:07,408 INFO L225 Difference]: With dead ends: 61 [2022-04-28 11:10:07,408 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 11:10:07,409 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 120 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=115, Invalid=587, Unknown=0, NotChecked=0, Total=702 [2022-04-28 11:10:07,410 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 16 mSDsluCounter, 196 mSDsCounter, 0 mSdLazyCounter, 295 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 295 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 11:10:07,410 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 219 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 295 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 11:10:07,410 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 11:10:07,450 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 43. [2022-04-28 11:10:07,451 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:10:07,451 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:10:07,452 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:10:07,452 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:10:07,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:07,454 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-28 11:10:07,454 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-28 11:10:07,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:07,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:07,455 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:10:07,455 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:10:07,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:07,459 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-28 11:10:07,459 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-28 11:10:07,459 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:07,459 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:07,459 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:10:07,459 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:10:07,460 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:10:07,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-28 11:10:07,461 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 39 [2022-04-28 11:10:07,461 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:10:07,462 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-28 11:10:07,462 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:10:07,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-28 11:10:07,522 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:10:07,522 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-28 11:10:07,523 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 11:10:07,523 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:10:07,523 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:10:07,547 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:10:07,739 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:10:07,739 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:10:07,740 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:10:07,740 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 3 times [2022-04-28 11:10:07,740 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:07,740 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [639191488] [2022-04-28 11:10:07,741 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:10:07,741 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 4 times [2022-04-28 11:10:07,741 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:10:07,741 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1379476800] [2022-04-28 11:10:07,741 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:10:07,741 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:10:07,760 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:10:07,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [832231300] [2022-04-28 11:10:07,760 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:10:07,760 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:10:07,760 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:10:07,763 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:10:07,790 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:10:07,815 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:10:07,816 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:10:07,816 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 11:10:07,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:07,835 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:10:24,468 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:10:28,463 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-28 11:10:28,463 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:10:28,463 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:10:28,464 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-28 11:10:28,464 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-28 11:10:28,464 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:10:28,464 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:10:28,464 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 11:10:28,464 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 11:10:28,464 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:10:28,464 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-28 11:10:28,464 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:10:28,465 INFO L272 TraceCheckUtils]: 12: Hoare triple {2155#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:10:28,465 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 11:10:28,465 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 11:10:28,465 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:10:28,465 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-28 11:10:28,466 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:10:28,466 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:10:28,466 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:10:28,467 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:10:28,467 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:10:28,467 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:10:28,468 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:10:28,469 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:10:28,469 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:10:28,470 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:10:28,470 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:10:28,471 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:10:28,471 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:10:28,471 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:10:28,472 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:10:28,473 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:10:28,474 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:10:28,474 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:10:28,479 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:10:28,486 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:10:28,490 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:10:28,491 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:10:28,491 INFO L290 TraceCheckUtils]: 39: Hoare triple {2284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-28 11:10:28,491 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-28 11:10:28,492 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:10:28,492 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:10:30,330 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-28 11:10:30,331 INFO L290 TraceCheckUtils]: 39: Hoare triple {2284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-28 11:10:30,331 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:10:30,332 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:10:30,333 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:10:30,334 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:10:30,335 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:10:30,336 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:10:30,337 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:10:30,338 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:10:30,338 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:10:30,338 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:10:30,339 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:10:30,339 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:10:30,340 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:10:30,340 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:10:30,340 INFO L290 TraceCheckUtils]: 24: Hoare triple {2155#true} assume !!(~x~0 <= ~X~0); {2155#true} is VALID [2022-04-28 11:10:30,340 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2155#true} {2155#true} #65#return; {2155#true} is VALID [2022-04-28 11:10:30,340 INFO L290 TraceCheckUtils]: 22: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:10:30,340 INFO L290 TraceCheckUtils]: 21: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 11:10:30,340 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 11:10:30,340 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:10:30,341 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:10:30,341 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:10:30,341 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-28 11:10:30,341 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:10:30,341 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 11:10:30,341 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 11:10:30,341 INFO L272 TraceCheckUtils]: 12: Hoare triple {2155#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:10:30,341 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:10:30,342 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-28 11:10:30,342 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:10:30,342 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 11:10:30,342 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 11:10:30,342 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {2155#true} is VALID [2022-04-28 11:10:30,342 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:10:30,342 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-28 11:10:30,342 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-28 11:10:30,342 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 11:10:30,343 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:10:30,343 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-28 11:10:30,343 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:10:30,343 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:10:30,343 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1379476800] [2022-04-28 11:10:30,343 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:10:30,343 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [832231300] [2022-04-28 11:10:30,344 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [832231300] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:10:30,344 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:10:30,344 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 11:10:30,344 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:10:30,344 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [639191488] [2022-04-28 11:10:30,344 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [639191488] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:10:30,344 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:10:30,344 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 11:10:30,344 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1463653299] [2022-04-28 11:10:30,345 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:10:30,345 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:10:30,345 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:10:30,345 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:10:30,386 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:10:30,386 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 11:10:30,386 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:30,386 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 11:10:30,387 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=259, Unknown=0, NotChecked=0, Total=306 [2022-04-28 11:10:30,387 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:10:31,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:31,436 INFO L93 Difference]: Finished difference Result 61 states and 69 transitions. [2022-04-28 11:10:31,436 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 11:10:31,436 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:10:31,436 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:10:31,437 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:10:31,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 11:10:31,439 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:10:31,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 11:10:31,440 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-28 11:10:31,512 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:10:31,514 INFO L225 Difference]: With dead ends: 61 [2022-04-28 11:10:31,514 INFO L226 Difference]: Without dead ends: 57 [2022-04-28 11:10:31,514 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:10:31,515 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 18 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 248 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-28 11:10:31,515 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.4s Time] [2022-04-28 11:10:31,516 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-28 11:10:31,582 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 55. [2022-04-28 11:10:31,582 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:10:31,582 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:10:31,582 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:10:31,583 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:10:31,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:31,587 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-28 11:10:31,587 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-28 11:10:31,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:31,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:31,588 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:10:31,588 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:10:31,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:31,591 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-28 11:10:31,591 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-28 11:10:31,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:31,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:31,591 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:10:31,592 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:10:31,593 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:10:31,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 61 transitions. [2022-04-28 11:10:31,595 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 61 transitions. Word has length 41 [2022-04-28 11:10:31,595 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:10:31,595 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 61 transitions. [2022-04-28 11:10:31,596 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:10:31,596 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 61 transitions. [2022-04-28 11:10:31,680 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:10:31,680 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-04-28 11:10:31,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 11:10:31,680 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:10:31,681 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:10:31,697 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:10:31,883 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:10:31,884 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:10:31,884 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:10:31,884 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 1 times [2022-04-28 11:10:31,884 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:31,884 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [67303940] [2022-04-28 11:10:31,885 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:10:31,885 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 2 times [2022-04-28 11:10:31,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:10:31,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [973856708] [2022-04-28 11:10:31,885 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:10:31,885 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:10:31,908 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:10:31,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1121074057] [2022-04-28 11:10:31,908 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:10:31,908 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:10:31,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:10:31,910 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:10:31,926 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:10:31,960 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:10:31,960 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:10:31,961 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 11:10:31,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:31,982 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:10:32,316 INFO L272 TraceCheckUtils]: 0: Hoare triple {2772#true} call ULTIMATE.init(); {2772#true} is VALID [2022-04-28 11:10:32,317 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:10:32,317 INFO L290 TraceCheckUtils]: 2: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:10:32,317 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2772#true} {2772#true} #69#return; {2772#true} is VALID [2022-04-28 11:10:32,317 INFO L272 TraceCheckUtils]: 4: Hoare triple {2772#true} call #t~ret8 := main(); {2772#true} is VALID [2022-04-28 11:10:32,317 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:10:32,317 INFO L272 TraceCheckUtils]: 6: Hoare triple {2772#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {2772#true} is VALID [2022-04-28 11:10:32,317 INFO L290 TraceCheckUtils]: 7: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 11:10:32,317 INFO L290 TraceCheckUtils]: 8: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 11:10:32,318 INFO L290 TraceCheckUtils]: 9: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:10:32,318 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2772#true} {2772#true} #61#return; {2772#true} is VALID [2022-04-28 11:10:32,318 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:10:32,318 INFO L272 TraceCheckUtils]: 12: Hoare triple {2772#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {2772#true} is VALID [2022-04-28 11:10:32,318 INFO L290 TraceCheckUtils]: 13: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 11:10:32,318 INFO L290 TraceCheckUtils]: 14: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 11:10:32,318 INFO L290 TraceCheckUtils]: 15: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:10:32,318 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2772#true} {2772#true} #63#return; {2772#true} is VALID [2022-04-28 11:10:32,319 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:10:32,319 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:10:32,320 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:10:32,320 INFO L290 TraceCheckUtils]: 20: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 11:10:32,320 INFO L290 TraceCheckUtils]: 21: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 11:10:32,320 INFO L290 TraceCheckUtils]: 22: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:10:32,321 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:10:32,321 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:10:32,322 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:10:32,323 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:10:32,323 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:10:32,326 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:10:32,328 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:10:32,330 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:10:32,330 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:10:32,331 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:10:32,332 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:10:32,333 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:10:32,333 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:10:32,334 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:10:32,335 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:10:32,338 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:10:32,339 INFO L290 TraceCheckUtils]: 39: Hoare triple {2901#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2773#false} is VALID [2022-04-28 11:10:32,339 INFO L290 TraceCheckUtils]: 40: Hoare triple {2773#false} assume !false; {2773#false} is VALID [2022-04-28 11:10:32,339 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:10:32,339 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:10:34,161 INFO L290 TraceCheckUtils]: 40: Hoare triple {2773#false} assume !false; {2773#false} is VALID [2022-04-28 11:10:34,162 INFO L290 TraceCheckUtils]: 39: Hoare triple {2901#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2773#false} is VALID [2022-04-28 11:10:34,162 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:10:34,163 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:10:34,164 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:10:34,166 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:10:34,167 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:10:34,168 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:10:34,169 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:10:34,169 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:10:34,170 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:10:34,170 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:10:34,170 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:10:34,171 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:10:34,171 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:10:34,171 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:10:34,171 INFO L290 TraceCheckUtils]: 24: Hoare triple {2772#true} assume !!(~x~0 <= ~X~0); {2772#true} is VALID [2022-04-28 11:10:34,172 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2772#true} {2772#true} #65#return; {2772#true} is VALID [2022-04-28 11:10:34,172 INFO L290 TraceCheckUtils]: 22: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:10:34,172 INFO L290 TraceCheckUtils]: 21: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 11:10:34,172 INFO L290 TraceCheckUtils]: 20: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 11:10:34,172 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:10:34,172 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:10:34,172 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:10:34,172 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2772#true} {2772#true} #63#return; {2772#true} is VALID [2022-04-28 11:10:34,172 INFO L290 TraceCheckUtils]: 15: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:10:34,173 INFO L290 TraceCheckUtils]: 14: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 11:10:34,173 INFO L290 TraceCheckUtils]: 13: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 11:10:34,173 INFO L272 TraceCheckUtils]: 12: Hoare triple {2772#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {2772#true} is VALID [2022-04-28 11:10:34,173 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:10:34,173 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2772#true} {2772#true} #61#return; {2772#true} is VALID [2022-04-28 11:10:34,173 INFO L290 TraceCheckUtils]: 9: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:10:34,173 INFO L290 TraceCheckUtils]: 8: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 11:10:34,173 INFO L290 TraceCheckUtils]: 7: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 11:10:34,173 INFO L272 TraceCheckUtils]: 6: Hoare triple {2772#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {2772#true} is VALID [2022-04-28 11:10:34,173 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:10:34,174 INFO L272 TraceCheckUtils]: 4: Hoare triple {2772#true} call #t~ret8 := main(); {2772#true} is VALID [2022-04-28 11:10:34,174 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2772#true} {2772#true} #69#return; {2772#true} is VALID [2022-04-28 11:10:34,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 11:10:34,174 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:10:34,174 INFO L272 TraceCheckUtils]: 0: Hoare triple {2772#true} call ULTIMATE.init(); {2772#true} is VALID [2022-04-28 11:10:34,174 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:10:34,174 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:10:34,175 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [973856708] [2022-04-28 11:10:34,175 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:10:34,175 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1121074057] [2022-04-28 11:10:34,175 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1121074057] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:10:34,175 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:10:34,175 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 11:10:34,175 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:10:34,175 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [67303940] [2022-04-28 11:10:34,175 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [67303940] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:10:34,176 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:10:34,176 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 11:10:34,176 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1011802743] [2022-04-28 11:10:34,176 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:10:34,176 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:10:34,177 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:10:34,177 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:10:34,212 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:10:34,212 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 11:10:34,212 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:34,213 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 11:10:34,213 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-28 11:10:34,213 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:10:35,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:35,044 INFO L93 Difference]: Finished difference Result 72 states and 79 transitions. [2022-04-28 11:10:35,044 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 11:10:35,044 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:10:35,045 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:10:35,045 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:10:35,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 11:10:35,046 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:10:35,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 11:10:35,048 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-28 11:10:35,104 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:10:35,105 INFO L225 Difference]: With dead ends: 72 [2022-04-28 11:10:35,106 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 11:10:35,106 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:10:35,107 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:10:35,107 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:10:35,107 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 11:10:35,167 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 59. [2022-04-28 11:10:35,167 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:10:35,167 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:10:35,168 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:10:35,168 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:10:35,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:35,170 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-28 11:10:35,170 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-28 11:10:35,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:35,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:35,171 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:10:35,171 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:10:35,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:10:35,173 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-28 11:10:35,173 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-28 11:10:35,173 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:10:35,173 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:10:35,173 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:10:35,174 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:10:35,174 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:10:35,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 64 transitions. [2022-04-28 11:10:35,176 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 64 transitions. Word has length 41 [2022-04-28 11:10:35,176 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:10:35,176 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 64 transitions. [2022-04-28 11:10:35,176 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:10:35,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 64 transitions. [2022-04-28 11:10:35,265 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:10:35,266 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-04-28 11:10:35,266 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 11:10:35,266 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:10:35,266 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:10:35,282 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:10:35,467 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:10:35,467 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:10:35,468 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:10:35,468 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 3 times [2022-04-28 11:10:35,468 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:10:35,468 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [770977006] [2022-04-28 11:10:35,468 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:10:35,468 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 4 times [2022-04-28 11:10:35,468 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:10:35,468 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [416929454] [2022-04-28 11:10:35,469 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:10:35,469 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:10:35,485 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:10:35,486 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1958356629] [2022-04-28 11:10:35,486 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:10:35,486 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:10:35,486 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:10:35,487 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:10:35,499 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:10:35,550 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:10:35,550 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:10:35,551 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 11:10:35,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:10:35,563 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:10:50,106 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:10:56,148 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:10:58,509 INFO L272 TraceCheckUtils]: 0: Hoare triple {3443#true} call ULTIMATE.init(); {3443#true} is VALID [2022-04-28 11:10:58,509 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:10:58,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 11:10:58,509 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3443#true} {3443#true} #69#return; {3443#true} is VALID [2022-04-28 11:10:58,509 INFO L272 TraceCheckUtils]: 4: Hoare triple {3443#true} call #t~ret8 := main(); {3443#true} is VALID [2022-04-28 11:10:58,509 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:10:58,510 INFO L272 TraceCheckUtils]: 6: Hoare triple {3443#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {3443#true} is VALID [2022-04-28 11:10:58,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-28 11:10:58,510 INFO L290 TraceCheckUtils]: 8: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-28 11:10:58,510 INFO L290 TraceCheckUtils]: 9: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 11:10:58,510 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3443#true} {3443#true} #61#return; {3443#true} is VALID [2022-04-28 11:10:58,510 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:10:58,510 INFO L272 TraceCheckUtils]: 12: Hoare triple {3443#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {3443#true} is VALID [2022-04-28 11:10:58,510 INFO L290 TraceCheckUtils]: 13: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-28 11:10:58,510 INFO L290 TraceCheckUtils]: 14: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-28 11:10:58,510 INFO L290 TraceCheckUtils]: 15: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 11:10:58,510 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3443#true} {3443#true} #63#return; {3443#true} is VALID [2022-04-28 11:10:58,511 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:10:58,511 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:10:58,511 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:10:58,512 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:10:58,512 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:10:58,512 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:10:58,513 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:10:58,513 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:10:58,514 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:10:58,514 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:10:58,515 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:10:58,515 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:10:58,515 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:10:58,515 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:10:58,516 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:10:58,517 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:10:58,517 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:10:58,518 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:10:58,519 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:10:58,521 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:10:58,522 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:10:58,522 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:10:58,522 INFO L290 TraceCheckUtils]: 39: Hoare triple {3573#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3444#false} is VALID [2022-04-28 11:10:58,523 INFO L290 TraceCheckUtils]: 40: Hoare triple {3444#false} assume !false; {3444#false} is VALID [2022-04-28 11:10:58,523 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:10:58,523 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:11:03,383 INFO L290 TraceCheckUtils]: 40: Hoare triple {3444#false} assume !false; {3444#false} is VALID [2022-04-28 11:11:03,384 INFO L290 TraceCheckUtils]: 39: Hoare triple {3573#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3444#false} is VALID [2022-04-28 11:11:03,384 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:11:03,385 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:11:03,386 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:11:03,388 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:11:03,389 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:11:03,389 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:11:03,390 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:11:03,391 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:11:03,391 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:11:03,391 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:11:03,392 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:11:03,392 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:11:03,393 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:11:03,393 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:11:03,393 INFO L290 TraceCheckUtils]: 24: Hoare triple {3443#true} assume !!(~x~0 <= ~X~0); {3443#true} is VALID [2022-04-28 11:11:03,393 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3443#true} {3443#true} #65#return; {3443#true} is VALID [2022-04-28 11:11:03,393 INFO L290 TraceCheckUtils]: 22: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 11:11:03,393 INFO L290 TraceCheckUtils]: 21: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-28 11:11:03,393 INFO L290 TraceCheckUtils]: 20: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-28 11:11:03,393 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:11:03,393 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:11:03,394 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:11:03,394 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3443#true} {3443#true} #63#return; {3443#true} is VALID [2022-04-28 11:11:03,394 INFO L290 TraceCheckUtils]: 15: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 11:11:03,394 INFO L290 TraceCheckUtils]: 14: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-28 11:11:03,394 INFO L290 TraceCheckUtils]: 13: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-28 11:11:03,394 INFO L272 TraceCheckUtils]: 12: Hoare triple {3443#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {3443#true} is VALID [2022-04-28 11:11:03,394 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:11:03,394 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3443#true} {3443#true} #61#return; {3443#true} is VALID [2022-04-28 11:11:03,394 INFO L290 TraceCheckUtils]: 9: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 11:11:03,394 INFO L290 TraceCheckUtils]: 8: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-28 11:11:03,395 INFO L290 TraceCheckUtils]: 7: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-28 11:11:03,395 INFO L272 TraceCheckUtils]: 6: Hoare triple {3443#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {3443#true} is VALID [2022-04-28 11:11:03,395 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:11:03,395 INFO L272 TraceCheckUtils]: 4: Hoare triple {3443#true} call #t~ret8 := main(); {3443#true} is VALID [2022-04-28 11:11:03,395 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3443#true} {3443#true} #69#return; {3443#true} is VALID [2022-04-28 11:11:03,395 INFO L290 TraceCheckUtils]: 2: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 11:11:03,395 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:11:03,395 INFO L272 TraceCheckUtils]: 0: Hoare triple {3443#true} call ULTIMATE.init(); {3443#true} is VALID [2022-04-28 11:11:03,396 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:11:03,396 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:11:03,396 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [416929454] [2022-04-28 11:11:03,396 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:11:03,396 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1958356629] [2022-04-28 11:11:03,396 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1958356629] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:11:03,396 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:11:03,396 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-28 11:11:03,397 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:11:03,397 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [770977006] [2022-04-28 11:11:03,397 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [770977006] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:11:03,397 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:11:03,397 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:11:03,397 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [940027990] [2022-04-28 11:11:03,397 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:11:03,397 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:11:03,398 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:11:03,398 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:11:03,433 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:11:03,433 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:11:03,433 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:11:03,434 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:11:03,434 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=320, Unknown=0, NotChecked=0, Total=380 [2022-04-28 11:11:03,434 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:11:07,439 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.53s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:11:09,672 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:11:11,829 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:11:15,129 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:11:17,258 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:11:17,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:17,895 INFO L93 Difference]: Finished difference Result 86 states and 98 transitions. [2022-04-28 11:11:17,895 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 11:11:17,895 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:11:17,895 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:11:17,896 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:11:17,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-28 11:11:17,897 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:11:17,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-28 11:11:17,899 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 70 transitions. [2022-04-28 11:11:17,963 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:11:17,965 INFO L225 Difference]: With dead ends: 86 [2022-04-28 11:11:17,965 INFO L226 Difference]: Without dead ends: 73 [2022-04-28 11:11:17,965 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 61 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 4.0s TimeCoverageRelationStatistics Valid=98, Invalid=502, Unknown=0, NotChecked=0, Total=600 [2022-04-28 11:11:17,966 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 15 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 298 mSolverCounterSat, 6 mSolverCounterUnsat, 4 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 10.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 298 IncrementalHoareTripleChecker+Invalid, 4 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 10.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:11:17,966 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 184 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 298 Invalid, 4 Unknown, 0 Unchecked, 10.0s Time] [2022-04-28 11:11:17,966 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-28 11:11:18,052 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 73. [2022-04-28 11:11:18,052 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:11:18,052 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:11:18,053 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:11:18,053 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:11:18,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:18,055 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-28 11:11:18,055 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 11:11:18,056 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:18,056 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:18,056 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:11:18,056 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:11:18,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:18,058 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-28 11:11:18,058 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 11:11:18,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:18,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:18,059 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:11:18,059 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:11:18,059 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:11:18,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-28 11:11:18,063 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-28 11:11:18,064 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:11:18,064 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-28 11:11:18,064 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:11:18,064 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-28 11:11:18,210 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:11:18,210 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 11:11:18,211 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 11:11:18,211 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:11:18,211 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:11:18,215 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 11:11:18,411 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:11:18,412 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:11:18,412 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:11:18,412 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 3 times [2022-04-28 11:11:18,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:11:18,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [292476416] [2022-04-28 11:11:18,413 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:11:18,413 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 4 times [2022-04-28 11:11:18,413 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:11:18,413 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1611013315] [2022-04-28 11:11:18,413 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:11:18,413 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:11:18,432 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:11:18,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1280402689] [2022-04-28 11:11:18,432 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:11:18,433 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:11:18,433 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:11:18,435 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:11:18,439 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:11:18,485 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:11:18,485 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:11:18,486 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 11:11:18,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:11:18,497 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:11:18,813 INFO L272 TraceCheckUtils]: 0: Hoare triple {4182#true} call ULTIMATE.init(); {4182#true} is VALID [2022-04-28 11:11:18,813 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:11:18,813 INFO L290 TraceCheckUtils]: 2: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:11:18,813 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4182#true} {4182#true} #69#return; {4182#true} is VALID [2022-04-28 11:11:18,814 INFO L272 TraceCheckUtils]: 4: Hoare triple {4182#true} call #t~ret8 := main(); {4182#true} is VALID [2022-04-28 11:11:18,814 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:11:18,814 INFO L272 TraceCheckUtils]: 6: Hoare triple {4182#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {4182#true} is VALID [2022-04-28 11:11:18,814 INFO L290 TraceCheckUtils]: 7: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:11:18,814 INFO L290 TraceCheckUtils]: 8: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:11:18,814 INFO L290 TraceCheckUtils]: 9: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:11:18,814 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4182#true} {4182#true} #61#return; {4182#true} is VALID [2022-04-28 11:11:18,814 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:11:18,814 INFO L272 TraceCheckUtils]: 12: Hoare triple {4182#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {4182#true} is VALID [2022-04-28 11:11:18,815 INFO L290 TraceCheckUtils]: 13: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:11:18,815 INFO L290 TraceCheckUtils]: 14: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:11:18,815 INFO L290 TraceCheckUtils]: 15: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:11:18,815 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4182#true} {4182#true} #63#return; {4182#true} is VALID [2022-04-28 11:11:18,815 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:11:18,816 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:11:18,816 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:11:18,816 INFO L290 TraceCheckUtils]: 20: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:11:18,816 INFO L290 TraceCheckUtils]: 21: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:11:18,816 INFO L290 TraceCheckUtils]: 22: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:11:18,817 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:11:18,818 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:11:18,819 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:11:18,819 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:11:18,820 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:11:18,820 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:11:18,820 INFO L290 TraceCheckUtils]: 29: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:11:18,820 INFO L290 TraceCheckUtils]: 30: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:11:18,820 INFO L290 TraceCheckUtils]: 31: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:11:18,821 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:11:18,822 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:11:18,823 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:11:18,823 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:11:18,824 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:11:18,825 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:11:18,826 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:11:18,826 INFO L290 TraceCheckUtils]: 39: Hoare triple {4309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4183#false} is VALID [2022-04-28 11:11:18,826 INFO L290 TraceCheckUtils]: 40: Hoare triple {4183#false} assume !false; {4183#false} is VALID [2022-04-28 11:11:18,827 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:11:18,827 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:11:19,204 INFO L290 TraceCheckUtils]: 40: Hoare triple {4183#false} assume !false; {4183#false} is VALID [2022-04-28 11:11:19,204 INFO L290 TraceCheckUtils]: 39: Hoare triple {4309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4183#false} is VALID [2022-04-28 11:11:19,205 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:11:19,206 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:11:19,207 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:11:19,208 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:11:19,210 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:11:19,211 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:11:19,212 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:11:19,212 INFO L290 TraceCheckUtils]: 31: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:11:19,212 INFO L290 TraceCheckUtils]: 30: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:11:19,212 INFO L290 TraceCheckUtils]: 29: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:11:19,212 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:11:19,213 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:11:19,215 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:11:19,217 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:11:19,217 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:11:19,218 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:11:19,218 INFO L290 TraceCheckUtils]: 22: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:11:19,218 INFO L290 TraceCheckUtils]: 21: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:11:19,219 INFO L290 TraceCheckUtils]: 20: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:11:19,219 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:11:19,219 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:11:19,220 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:11:19,220 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4182#true} {4182#true} #63#return; {4182#true} is VALID [2022-04-28 11:11:19,220 INFO L290 TraceCheckUtils]: 15: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:11:19,220 INFO L290 TraceCheckUtils]: 14: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:11:19,220 INFO L290 TraceCheckUtils]: 13: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:11:19,220 INFO L272 TraceCheckUtils]: 12: Hoare triple {4182#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {4182#true} is VALID [2022-04-28 11:11:19,221 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:11:19,221 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4182#true} {4182#true} #61#return; {4182#true} is VALID [2022-04-28 11:11:19,221 INFO L290 TraceCheckUtils]: 9: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:11:19,221 INFO L290 TraceCheckUtils]: 8: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 11:11:19,221 INFO L290 TraceCheckUtils]: 7: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 11:11:19,221 INFO L272 TraceCheckUtils]: 6: Hoare triple {4182#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {4182#true} is VALID [2022-04-28 11:11:19,221 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:11:19,221 INFO L272 TraceCheckUtils]: 4: Hoare triple {4182#true} call #t~ret8 := main(); {4182#true} is VALID [2022-04-28 11:11:19,221 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4182#true} {4182#true} #69#return; {4182#true} is VALID [2022-04-28 11:11:19,221 INFO L290 TraceCheckUtils]: 2: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 11:11:19,222 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:11:19,222 INFO L272 TraceCheckUtils]: 0: Hoare triple {4182#true} call ULTIMATE.init(); {4182#true} is VALID [2022-04-28 11:11:19,222 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:11:19,222 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:11:19,222 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1611013315] [2022-04-28 11:11:19,222 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:11:19,222 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1280402689] [2022-04-28 11:11:19,223 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1280402689] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:11:19,223 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:11:19,223 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2022-04-28 11:11:19,223 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:11:19,223 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [292476416] [2022-04-28 11:11:19,223 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [292476416] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:11:19,223 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:11:19,223 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 11:11:19,223 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [968882767] [2022-04-28 11:11:19,224 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:11:19,224 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:11:19,224 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:11:19,224 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:11:19,256 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:11:19,256 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 11:11:19,256 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:11:19,257 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 11:11:19,257 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-28 11:11:19,257 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:11:19,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:19,975 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2022-04-28 11:11:19,976 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 11:11:19,976 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:11:19,976 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:11:19,976 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:11:19,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-28 11:11:19,978 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:11:19,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-28 11:11:19,979 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 58 transitions. [2022-04-28 11:11:20,029 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:11:20,030 INFO L225 Difference]: With dead ends: 86 [2022-04-28 11:11:20,030 INFO L226 Difference]: Without dead ends: 84 [2022-04-28 11:11:20,031 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:11:20,031 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:11:20,032 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:11:20,032 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-28 11:11:20,123 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 73. [2022-04-28 11:11:20,123 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:11:20,124 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:11:20,124 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:11:20,124 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:11:20,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:20,127 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-28 11:11:20,127 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-28 11:11:20,127 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:20,127 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:20,128 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:11:20,128 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:11:20,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:20,130 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-28 11:11:20,130 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-28 11:11:20,130 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:20,130 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:20,130 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:11:20,131 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:11:20,131 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:11:20,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-28 11:11:20,133 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-28 11:11:20,133 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:11:20,133 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-28 11:11:20,133 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:11:20,133 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-28 11:11:20,271 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:11:20,271 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 11:11:20,271 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 11:11:20,272 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:11:20,272 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:11:20,275 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 11:11:20,472 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:11:20,472 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:11:20,473 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:11:20,473 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 1 times [2022-04-28 11:11:20,473 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:11:20,473 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2059450749] [2022-04-28 11:11:20,473 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:11:20,473 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 2 times [2022-04-28 11:11:20,473 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:11:20,473 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [379834979] [2022-04-28 11:11:20,474 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:11:20,474 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:11:20,484 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:11:20,485 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [273748774] [2022-04-28 11:11:20,485 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:11:20,485 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:11:20,485 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:11:20,486 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:11:20,490 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:11:20,529 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:11:20,529 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:11:20,530 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 11:11:20,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:11:20,541 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:11:21,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {4935#true} call ULTIMATE.init(); {4935#true} is VALID [2022-04-28 11:11:21,631 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:11:21,631 INFO L290 TraceCheckUtils]: 2: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:11:21,631 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4935#true} {4935#true} #69#return; {4935#true} is VALID [2022-04-28 11:11:21,631 INFO L272 TraceCheckUtils]: 4: Hoare triple {4935#true} call #t~ret8 := main(); {4935#true} is VALID [2022-04-28 11:11:21,631 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:11:21,631 INFO L272 TraceCheckUtils]: 6: Hoare triple {4935#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {4935#true} is VALID [2022-04-28 11:11:21,631 INFO L290 TraceCheckUtils]: 7: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:11:21,631 INFO L290 TraceCheckUtils]: 8: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:11:21,631 INFO L290 TraceCheckUtils]: 9: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:11:21,631 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4935#true} {4935#true} #61#return; {4935#true} is VALID [2022-04-28 11:11:21,632 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:11:21,632 INFO L272 TraceCheckUtils]: 12: Hoare triple {4935#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {4935#true} is VALID [2022-04-28 11:11:21,632 INFO L290 TraceCheckUtils]: 13: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:11:21,632 INFO L290 TraceCheckUtils]: 14: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:11:21,632 INFO L290 TraceCheckUtils]: 15: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:11:21,632 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4935#true} {4935#true} #63#return; {4935#true} is VALID [2022-04-28 11:11:21,632 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:11:21,633 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:11:21,633 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:11:21,633 INFO L290 TraceCheckUtils]: 20: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:11:21,633 INFO L290 TraceCheckUtils]: 21: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:11:21,633 INFO L290 TraceCheckUtils]: 22: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:11:21,634 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:11:21,634 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:11:21,635 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:11:21,635 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:11:21,636 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:11:21,636 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:11:21,636 INFO L290 TraceCheckUtils]: 29: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:11:21,636 INFO L290 TraceCheckUtils]: 30: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:11:21,636 INFO L290 TraceCheckUtils]: 31: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:11:21,637 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:11:21,637 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:11:21,638 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:11:21,638 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:11:21,639 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:11:21,639 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:11:21,639 INFO L290 TraceCheckUtils]: 38: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:11:21,639 INFO L290 TraceCheckUtils]: 39: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:11:21,639 INFO L290 TraceCheckUtils]: 40: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:11:21,640 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:11:21,640 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:11:21,640 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:11:21,640 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:11:21,640 INFO L290 TraceCheckUtils]: 45: Hoare triple {4936#false} ~cond := #in~cond; {4936#false} is VALID [2022-04-28 11:11:21,640 INFO L290 TraceCheckUtils]: 46: Hoare triple {4936#false} assume 0 == ~cond; {4936#false} is VALID [2022-04-28 11:11:21,640 INFO L290 TraceCheckUtils]: 47: Hoare triple {4936#false} assume !false; {4936#false} is VALID [2022-04-28 11:11:21,641 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:11:21,641 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:11:21,908 INFO L290 TraceCheckUtils]: 47: Hoare triple {4936#false} assume !false; {4936#false} is VALID [2022-04-28 11:11:21,908 INFO L290 TraceCheckUtils]: 46: Hoare triple {4936#false} assume 0 == ~cond; {4936#false} is VALID [2022-04-28 11:11:21,908 INFO L290 TraceCheckUtils]: 45: Hoare triple {4936#false} ~cond := #in~cond; {4936#false} is VALID [2022-04-28 11:11:21,908 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:11:21,908 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:11:21,911 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:11:21,912 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:11:21,912 INFO L290 TraceCheckUtils]: 40: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:11:21,912 INFO L290 TraceCheckUtils]: 39: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:11:21,912 INFO L290 TraceCheckUtils]: 38: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:11:21,912 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:11:21,913 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:11:21,914 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:11:21,914 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:11:21,915 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:11:21,915 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:11:21,915 INFO L290 TraceCheckUtils]: 31: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:11:21,915 INFO L290 TraceCheckUtils]: 30: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:11:21,916 INFO L290 TraceCheckUtils]: 29: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:11:21,916 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:11:21,916 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:11:21,917 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:11:21,917 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:11:21,918 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:11:21,919 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:11:21,919 INFO L290 TraceCheckUtils]: 22: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:11:21,919 INFO L290 TraceCheckUtils]: 21: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:11:21,919 INFO L290 TraceCheckUtils]: 20: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:11:21,919 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:11:21,920 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:11:21,920 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:11:21,921 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4935#true} {4935#true} #63#return; {4935#true} is VALID [2022-04-28 11:11:21,921 INFO L290 TraceCheckUtils]: 15: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:11:21,921 INFO L290 TraceCheckUtils]: 14: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:11:21,921 INFO L290 TraceCheckUtils]: 13: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:11:21,921 INFO L272 TraceCheckUtils]: 12: Hoare triple {4935#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {4935#true} is VALID [2022-04-28 11:11:21,921 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:11:21,921 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4935#true} {4935#true} #61#return; {4935#true} is VALID [2022-04-28 11:11:21,921 INFO L290 TraceCheckUtils]: 9: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:11:21,922 INFO L290 TraceCheckUtils]: 8: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 11:11:21,922 INFO L290 TraceCheckUtils]: 7: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 11:11:21,922 INFO L272 TraceCheckUtils]: 6: Hoare triple {4935#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {4935#true} is VALID [2022-04-28 11:11:21,922 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:11:21,922 INFO L272 TraceCheckUtils]: 4: Hoare triple {4935#true} call #t~ret8 := main(); {4935#true} is VALID [2022-04-28 11:11:21,922 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4935#true} {4935#true} #69#return; {4935#true} is VALID [2022-04-28 11:11:21,922 INFO L290 TraceCheckUtils]: 2: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 11:11:21,922 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:11:21,922 INFO L272 TraceCheckUtils]: 0: Hoare triple {4935#true} call ULTIMATE.init(); {4935#true} is VALID [2022-04-28 11:11:21,923 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:11:21,923 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:11:21,923 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [379834979] [2022-04-28 11:11:21,923 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:11:21,923 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [273748774] [2022-04-28 11:11:21,923 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [273748774] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:11:21,923 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:11:21,923 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 11:11:21,924 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:11:21,924 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2059450749] [2022-04-28 11:11:21,924 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2059450749] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:11:21,924 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:11:21,924 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 11:11:21,924 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [719133704] [2022-04-28 11:11:21,924 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:11:21,925 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:11:21,926 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:11:21,926 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:11:21,964 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:11:21,964 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 11:11:21,964 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:11:21,964 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 11:11:21,965 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-28 11:11:21,967 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:11:22,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:22,330 INFO L93 Difference]: Finished difference Result 87 states and 96 transitions. [2022-04-28 11:11:22,330 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 11:11:22,330 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:11:22,330 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:11:22,330 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:11:22,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-28 11:11:22,332 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:11:22,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-28 11:11:22,333 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2022-04-28 11:11:22,383 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:11:22,384 INFO L225 Difference]: With dead ends: 87 [2022-04-28 11:11:22,384 INFO L226 Difference]: Without dead ends: 79 [2022-04-28 11:11:22,385 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:11:22,385 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:11:22,385 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:11:22,386 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-28 11:11:22,504 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 76. [2022-04-28 11:11:22,504 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:11:22,505 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:11:22,505 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:11:22,505 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:11:22,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:22,508 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-28 11:11:22,508 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-28 11:11:22,508 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:22,508 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:22,508 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:11:22,509 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:11:22,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:22,510 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-28 11:11:22,510 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-28 11:11:22,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:22,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:22,511 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:11:22,511 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:11:22,511 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:11:22,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 84 transitions. [2022-04-28 11:11:22,512 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 84 transitions. Word has length 48 [2022-04-28 11:11:22,513 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:11:22,513 INFO L495 AbstractCegarLoop]: Abstraction has 76 states and 84 transitions. [2022-04-28 11:11:22,513 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:11:22,513 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 84 transitions. [2022-04-28 11:11:22,661 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:11:22,662 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 84 transitions. [2022-04-28 11:11:22,662 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 11:11:22,662 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:11:22,662 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:11:22,678 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 11:11:22,862 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 11:11:22,863 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:11:22,863 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:11:22,863 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 3 times [2022-04-28 11:11:22,863 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:11:22,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [874920378] [2022-04-28 11:11:22,864 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:11:22,864 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 4 times [2022-04-28 11:11:22,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:11:22,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2064848827] [2022-04-28 11:11:22,864 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:11:22,865 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:11:22,892 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:11:22,892 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1308869620] [2022-04-28 11:11:22,892 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:11:22,892 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:11:22,892 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:11:22,894 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:11:22,898 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 11:11:22,937 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:11:22,938 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:11:22,938 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 11:11:22,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:11:22,949 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:11:23,439 INFO L272 TraceCheckUtils]: 0: Hoare triple {5718#true} call ULTIMATE.init(); {5718#true} is VALID [2022-04-28 11:11:23,440 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:11:23,440 INFO L290 TraceCheckUtils]: 2: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:11:23,440 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5718#true} {5718#true} #69#return; {5718#true} is VALID [2022-04-28 11:11:23,440 INFO L272 TraceCheckUtils]: 4: Hoare triple {5718#true} call #t~ret8 := main(); {5718#true} is VALID [2022-04-28 11:11:23,440 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:11:23,440 INFO L272 TraceCheckUtils]: 6: Hoare triple {5718#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {5718#true} is VALID [2022-04-28 11:11:23,440 INFO L290 TraceCheckUtils]: 7: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 11:11:23,440 INFO L290 TraceCheckUtils]: 8: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 11:11:23,440 INFO L290 TraceCheckUtils]: 9: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:11:23,440 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5718#true} {5718#true} #61#return; {5718#true} is VALID [2022-04-28 11:11:23,440 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:11:23,441 INFO L272 TraceCheckUtils]: 12: Hoare triple {5718#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {5718#true} is VALID [2022-04-28 11:11:23,441 INFO L290 TraceCheckUtils]: 13: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 11:11:23,441 INFO L290 TraceCheckUtils]: 14: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 11:11:23,441 INFO L290 TraceCheckUtils]: 15: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:11:23,441 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5718#true} {5718#true} #63#return; {5718#true} is VALID [2022-04-28 11:11:23,441 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:11:23,442 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:11:23,442 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:11:23,442 INFO L290 TraceCheckUtils]: 20: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 11:11:23,442 INFO L290 TraceCheckUtils]: 21: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 11:11:23,442 INFO L290 TraceCheckUtils]: 22: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:11:23,442 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:11:23,443 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:11:23,443 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:11:23,444 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:11:23,444 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:11:23,444 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:11:23,444 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:11:23,445 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:11:23,445 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:11:23,445 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:11:23,446 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:11:23,446 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:11:23,447 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:11:23,447 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:11:23,447 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:11:23,447 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:11:23,448 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:11:23,448 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:11:23,449 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:11:23,449 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:11:23,450 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:11:23,451 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:11:23,452 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:11:23,452 INFO L290 TraceCheckUtils]: 46: Hoare triple {5871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5719#false} is VALID [2022-04-28 11:11:23,452 INFO L290 TraceCheckUtils]: 47: Hoare triple {5719#false} assume !false; {5719#false} is VALID [2022-04-28 11:11:23,452 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:11:23,452 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:11:24,018 INFO L290 TraceCheckUtils]: 47: Hoare triple {5719#false} assume !false; {5719#false} is VALID [2022-04-28 11:11:24,019 INFO L290 TraceCheckUtils]: 46: Hoare triple {5871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5719#false} is VALID [2022-04-28 11:11:24,019 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:11:24,020 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:11:24,021 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:11:24,021 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:11:24,023 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:11:24,023 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:11:24,023 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:11:24,024 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:11:24,024 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:11:24,024 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:11:24,026 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:11:24,028 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:11:24,030 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:11:24,030 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5718#true} {5718#true} #65#return; {5718#true} is VALID [2022-04-28 11:11:24,030 INFO L290 TraceCheckUtils]: 31: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:11:24,030 INFO L290 TraceCheckUtils]: 30: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 11:11:24,030 INFO L290 TraceCheckUtils]: 29: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 11:11:24,030 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:11:24,030 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:11:24,030 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:11:24,030 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:11:24,030 INFO L290 TraceCheckUtils]: 24: Hoare triple {5718#true} assume !!(~x~0 <= ~X~0); {5718#true} is VALID [2022-04-28 11:11:24,030 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5718#true} {5718#true} #65#return; {5718#true} is VALID [2022-04-28 11:11:24,030 INFO L290 TraceCheckUtils]: 22: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:11:24,031 INFO L290 TraceCheckUtils]: 21: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 11:11:24,031 INFO L290 TraceCheckUtils]: 20: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 11:11:24,031 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:11:24,031 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:11:24,031 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:11:24,031 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5718#true} {5718#true} #63#return; {5718#true} is VALID [2022-04-28 11:11:24,031 INFO L290 TraceCheckUtils]: 15: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:11:24,031 INFO L290 TraceCheckUtils]: 14: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 11:11:24,031 INFO L290 TraceCheckUtils]: 13: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 11:11:24,031 INFO L272 TraceCheckUtils]: 12: Hoare triple {5718#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {5718#true} is VALID [2022-04-28 11:11:24,031 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:11:24,031 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5718#true} {5718#true} #61#return; {5718#true} is VALID [2022-04-28 11:11:24,032 INFO L290 TraceCheckUtils]: 9: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:11:24,032 INFO L290 TraceCheckUtils]: 8: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 11:11:24,032 INFO L290 TraceCheckUtils]: 7: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 11:11:24,032 INFO L272 TraceCheckUtils]: 6: Hoare triple {5718#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {5718#true} is VALID [2022-04-28 11:11:24,032 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:11:24,032 INFO L272 TraceCheckUtils]: 4: Hoare triple {5718#true} call #t~ret8 := main(); {5718#true} is VALID [2022-04-28 11:11:24,032 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5718#true} {5718#true} #69#return; {5718#true} is VALID [2022-04-28 11:11:24,032 INFO L290 TraceCheckUtils]: 2: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 11:11:24,032 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:11:24,032 INFO L272 TraceCheckUtils]: 0: Hoare triple {5718#true} call ULTIMATE.init(); {5718#true} is VALID [2022-04-28 11:11:24,033 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:11:24,033 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:11:24,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2064848827] [2022-04-28 11:11:24,033 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:11:24,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1308869620] [2022-04-28 11:11:24,033 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1308869620] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:11:24,033 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:11:24,033 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-28 11:11:24,034 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:11:24,034 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [874920378] [2022-04-28 11:11:24,034 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [874920378] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:11:24,034 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:11:24,034 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 11:11:24,034 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [616357797] [2022-04-28 11:11:24,035 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:11:24,035 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:11:24,036 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:11:24,036 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:11:24,076 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:11:24,076 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 11:11:24,076 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:11:24,076 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 11:11:24,077 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=475, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:11:24,077 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:11:25,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:25,020 INFO L93 Difference]: Finished difference Result 87 states and 96 transitions. [2022-04-28 11:11:25,020 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 11:11:25,020 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:11:25,021 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:11:25,021 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:11:25,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 61 transitions. [2022-04-28 11:11:25,022 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:11:25,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 61 transitions. [2022-04-28 11:11:25,023 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 61 transitions. [2022-04-28 11:11:25,077 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:11:25,078 INFO L225 Difference]: With dead ends: 87 [2022-04-28 11:11:25,078 INFO L226 Difference]: Without dead ends: 79 [2022-04-28 11:11:25,079 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:11:25,079 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 20 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 320 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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:11:25,079 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:11:25,080 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-28 11:11:25,192 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 73. [2022-04-28 11:11:25,193 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:11:25,193 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:11:25,193 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:11:25,193 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:11:25,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:25,195 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-28 11:11:25,195 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-28 11:11:25,195 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:25,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:25,196 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:11:25,196 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:11:25,200 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:25,201 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-28 11:11:25,201 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-28 11:11:25,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:25,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:25,201 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:11:25,202 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:11:25,202 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:11:25,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-28 11:11:25,204 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 48 [2022-04-28 11:11:25,204 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:11:25,204 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-28 11:11:25,204 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:11:25,204 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-28 11:11:25,360 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:11:25,360 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 11:11:25,361 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:11:25,361 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:11:25,361 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:11:25,377 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 11:11:25,561 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 11:11:25,561 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:11:25,562 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:11:25,562 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 5 times [2022-04-28 11:11:25,562 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:11:25,562 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1636824051] [2022-04-28 11:11:25,562 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:11:25,562 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 6 times [2022-04-28 11:11:25,563 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:11:25,563 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [134362281] [2022-04-28 11:11:25,563 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:11:25,563 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:11:25,580 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:11:25,581 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1706767588] [2022-04-28 11:11:25,581 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:11:25,581 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:11:25,581 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:11:25,582 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:11:25,584 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 11:11:25,628 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 11:11:25,628 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:11:25,629 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 50 conjunts are in the unsatisfiable core [2022-04-28 11:11:25,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:11:25,644 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:11:30,379 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:11:39,620 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:11:47,101 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:11:53,117 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:11:53,419 INFO L272 TraceCheckUtils]: 0: Hoare triple {6517#true} call ULTIMATE.init(); {6517#true} is VALID [2022-04-28 11:11:53,419 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:11:53,419 INFO L290 TraceCheckUtils]: 2: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:11:53,420 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6517#true} {6517#true} #69#return; {6517#true} is VALID [2022-04-28 11:11:53,420 INFO L272 TraceCheckUtils]: 4: Hoare triple {6517#true} call #t~ret8 := main(); {6517#true} is VALID [2022-04-28 11:11:53,420 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:11:53,420 INFO L272 TraceCheckUtils]: 6: Hoare triple {6517#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {6517#true} is VALID [2022-04-28 11:11:53,420 INFO L290 TraceCheckUtils]: 7: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 11:11:53,420 INFO L290 TraceCheckUtils]: 8: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 11:11:53,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:11:53,420 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6517#true} {6517#true} #61#return; {6517#true} is VALID [2022-04-28 11:11:53,420 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:11:53,420 INFO L272 TraceCheckUtils]: 12: Hoare triple {6517#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {6517#true} is VALID [2022-04-28 11:11:53,421 INFO L290 TraceCheckUtils]: 13: Hoare triple {6517#true} ~cond := #in~cond; {6561#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:11:53,421 INFO L290 TraceCheckUtils]: 14: Hoare triple {6561#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6565#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:11:53,421 INFO L290 TraceCheckUtils]: 15: Hoare triple {6565#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6565#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:11:53,422 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6565#(not (= |assume_abort_if_not_#in~cond| 0))} {6517#true} #63#return; {6572#(and (<= main_~Y~0 50) (<= 0 main_~Y~0))} is VALID [2022-04-28 11:11:53,423 INFO L290 TraceCheckUtils]: 17: Hoare triple {6572#(and (<= main_~Y~0 50) (<= 0 main_~Y~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:11:53,423 INFO L290 TraceCheckUtils]: 18: Hoare triple {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:11:53,423 INFO L272 TraceCheckUtils]: 19: Hoare triple {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 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)); {6517#true} is VALID [2022-04-28 11:11:53,423 INFO L290 TraceCheckUtils]: 20: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 11:11:53,424 INFO L290 TraceCheckUtils]: 21: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 11:11:53,424 INFO L290 TraceCheckUtils]: 22: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:11:53,424 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6517#true} {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} #65#return; {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:11:53,425 INFO L290 TraceCheckUtils]: 24: Hoare triple {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:11:53,426 INFO L290 TraceCheckUtils]: 25: Hoare triple {6576#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6601#(and (= main_~x~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~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:11:53,426 INFO L290 TraceCheckUtils]: 26: Hoare triple {6601#(and (= main_~x~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~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; {6605#(and (<= main_~x~0 1) (<= main_~Y~0 50) (<= 0 main_~Y~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:11:53,427 INFO L290 TraceCheckUtils]: 27: Hoare triple {6605#(and (<= main_~x~0 1) (<= main_~Y~0 50) (<= 0 main_~Y~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; {6609#(and (<= main_~x~0 1) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:11:53,427 INFO L272 TraceCheckUtils]: 28: Hoare triple {6609#(and (<= main_~x~0 1) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~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)); {6517#true} is VALID [2022-04-28 11:11:53,427 INFO L290 TraceCheckUtils]: 29: Hoare triple {6517#true} ~cond := #in~cond; {6616#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:11:53,428 INFO L290 TraceCheckUtils]: 30: Hoare triple {6616#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:53,428 INFO L290 TraceCheckUtils]: 31: Hoare triple {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:53,429 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} {6609#(and (<= main_~x~0 1) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #65#return; {6627#(and (<= 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)) (<= main_~Y~0 50) (<= 0 main_~Y~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:11:53,430 INFO L290 TraceCheckUtils]: 33: Hoare triple {6627#(and (<= 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)) (<= main_~Y~0 50) (<= 0 main_~Y~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); {6627#(and (<= 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)) (<= main_~Y~0 50) (<= 0 main_~Y~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:11:53,431 INFO L290 TraceCheckUtils]: 34: Hoare triple {6627#(and (<= 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)) (<= main_~Y~0 50) (<= 0 main_~Y~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; {6634#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= main_~x~0 1) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 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:11:53,432 INFO L290 TraceCheckUtils]: 35: Hoare triple {6634#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= main_~x~0 1) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 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; {6638#(and (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-28 11:11:53,432 INFO L290 TraceCheckUtils]: 36: Hoare triple {6638#(and (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6642#(and (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-28 11:11:53,433 INFO L272 TraceCheckUtils]: 37: Hoare triple {6642#(and (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= 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)); {6517#true} is VALID [2022-04-28 11:11:53,433 INFO L290 TraceCheckUtils]: 38: Hoare triple {6517#true} ~cond := #in~cond; {6616#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:11:53,433 INFO L290 TraceCheckUtils]: 39: Hoare triple {6616#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:53,434 INFO L290 TraceCheckUtils]: 40: Hoare triple {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:53,435 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} {6642#(and (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} #65#return; {6658#(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 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-28 11:11:53,435 INFO L290 TraceCheckUtils]: 42: Hoare triple {6658#(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 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {6658#(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 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} is VALID [2022-04-28 11:11:53,436 INFO L290 TraceCheckUtils]: 43: Hoare triple {6658#(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 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= main_~x~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6665#(and (= (* main_~Y~0 6) (+ (* main_~Y~0 main_~x~0 2) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~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))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~x~0 2))} is VALID [2022-04-28 11:11:53,438 INFO L290 TraceCheckUtils]: 44: Hoare triple {6665#(and (= (* main_~Y~0 6) (+ (* main_~Y~0 main_~x~0 2) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~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))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6669#(and (= 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 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 6)) (<= main_~Y~0 50) (<= 0 main_~Y~0) (<= main_~x~0 3) (= main_~y~0 0))} is VALID [2022-04-28 11:11:53,442 INFO L290 TraceCheckUtils]: 45: Hoare triple {6669#(and (= 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 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 6)) (<= main_~Y~0 50) (<= 0 main_~Y~0) (<= main_~x~0 3) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6673#(and (= (+ main_~X~0 main_~v~0) (+ (* 2 (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0))) (* main_~Y~0 2))) (= main_~xy~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0))} is VALID [2022-04-28 11:11:53,444 INFO L272 TraceCheckUtils]: 46: Hoare triple {6673#(and (= (+ main_~X~0 main_~v~0) (+ (* 2 (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0))) (* main_~Y~0 2))) (= main_~xy~0 0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (* main_~Y~0 (div (* main_~Y~0 3) 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)); {6677#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:11:53,444 INFO L290 TraceCheckUtils]: 47: Hoare triple {6677#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6681#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:11:53,444 INFO L290 TraceCheckUtils]: 48: Hoare triple {6681#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6518#false} is VALID [2022-04-28 11:11:53,444 INFO L290 TraceCheckUtils]: 49: Hoare triple {6518#false} assume !false; {6518#false} is VALID [2022-04-28 11:11:53,445 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 13 proven. 23 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-28 11:11:53,445 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:11:56,265 INFO L290 TraceCheckUtils]: 49: Hoare triple {6518#false} assume !false; {6518#false} is VALID [2022-04-28 11:11:56,266 INFO L290 TraceCheckUtils]: 48: Hoare triple {6681#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6518#false} is VALID [2022-04-28 11:11:56,266 INFO L290 TraceCheckUtils]: 47: Hoare triple {6677#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6681#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:11:56,267 INFO L272 TraceCheckUtils]: 46: Hoare triple {6697#(= (+ (* 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)); {6677#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:11:56,268 INFO L290 TraceCheckUtils]: 45: Hoare triple {6701#(= (+ (* 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; {6697#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:11:56,270 INFO L290 TraceCheckUtils]: 44: Hoare triple {6705#(= (+ (* (* 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; {6701#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:11:56,271 INFO L290 TraceCheckUtils]: 43: Hoare triple {6701#(= (+ (* 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; {6705#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 11:11:56,271 INFO L290 TraceCheckUtils]: 42: Hoare triple {6701#(= (+ (* 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); {6701#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:11:56,273 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} {6715#(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; {6701#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 11:11:56,273 INFO L290 TraceCheckUtils]: 40: Hoare triple {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:56,273 INFO L290 TraceCheckUtils]: 39: Hoare triple {6725#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6620#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:11:56,274 INFO L290 TraceCheckUtils]: 38: Hoare triple {6517#true} ~cond := #in~cond; {6725#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:11:56,274 INFO L272 TraceCheckUtils]: 37: Hoare triple {6715#(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:11:56,275 INFO L290 TraceCheckUtils]: 36: Hoare triple {6517#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6715#(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:11:56,275 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:11:56,275 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:11:56,275 INFO L290 TraceCheckUtils]: 33: Hoare triple {6517#true} assume !!(~x~0 <= ~X~0); {6517#true} is VALID [2022-04-28 11:11:56,275 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6517#true} {6517#true} #65#return; {6517#true} is VALID [2022-04-28 11:11:56,275 INFO L290 TraceCheckUtils]: 31: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:11:56,276 INFO L290 TraceCheckUtils]: 30: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 11:11:56,276 INFO L290 TraceCheckUtils]: 29: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 11:11:56,276 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:11:56,276 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:11:56,276 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:11:56,276 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:11:56,276 INFO L290 TraceCheckUtils]: 24: Hoare triple {6517#true} assume !!(~x~0 <= ~X~0); {6517#true} is VALID [2022-04-28 11:11:56,276 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6517#true} {6517#true} #65#return; {6517#true} is VALID [2022-04-28 11:11:56,276 INFO L290 TraceCheckUtils]: 22: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:11:56,276 INFO L290 TraceCheckUtils]: 21: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 11:11:56,276 INFO L290 TraceCheckUtils]: 20: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 11:11:56,277 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:11:56,277 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:11:56,277 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:11:56,277 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6517#true} {6517#true} #63#return; {6517#true} is VALID [2022-04-28 11:11:56,277 INFO L290 TraceCheckUtils]: 15: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:11:56,277 INFO L290 TraceCheckUtils]: 14: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 11:11:56,277 INFO L290 TraceCheckUtils]: 13: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 11:11:56,277 INFO L272 TraceCheckUtils]: 12: Hoare triple {6517#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {6517#true} is VALID [2022-04-28 11:11:56,277 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:11:56,277 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6517#true} {6517#true} #61#return; {6517#true} is VALID [2022-04-28 11:11:56,277 INFO L290 TraceCheckUtils]: 9: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:11:56,278 INFO L290 TraceCheckUtils]: 8: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 11:11:56,278 INFO L290 TraceCheckUtils]: 7: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 11:11:56,278 INFO L272 TraceCheckUtils]: 6: Hoare triple {6517#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {6517#true} is VALID [2022-04-28 11:11:56,278 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:11:56,278 INFO L272 TraceCheckUtils]: 4: Hoare triple {6517#true} call #t~ret8 := main(); {6517#true} is VALID [2022-04-28 11:11:56,278 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6517#true} {6517#true} #69#return; {6517#true} is VALID [2022-04-28 11:11:56,278 INFO L290 TraceCheckUtils]: 2: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 11:11:56,278 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:11:56,278 INFO L272 TraceCheckUtils]: 0: Hoare triple {6517#true} call ULTIMATE.init(); {6517#true} is VALID [2022-04-28 11:11:56,279 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-28 11:11:56,279 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:11:56,279 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [134362281] [2022-04-28 11:11:56,279 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:11:56,279 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1706767588] [2022-04-28 11:11:56,279 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1706767588] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:11:56,279 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:11:56,279 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 10] total 26 [2022-04-28 11:11:56,280 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:11:56,280 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1636824051] [2022-04-28 11:11:56,280 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1636824051] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:11:56,280 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:11:56,280 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 11:11:56,280 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2091503643] [2022-04-28 11:11:56,280 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:11:56,281 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:11:56,281 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:11:56,281 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:11:56,335 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:11:56,335 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 11:11:56,335 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:11:56,336 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 11:11:56,336 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=564, Unknown=0, NotChecked=0, Total=650 [2022-04-28 11:11:56,336 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 21 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:11:58,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:58,000 INFO L93 Difference]: Finished difference Result 92 states and 101 transitions. [2022-04-28 11:11:58,001 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 11:11:58,001 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-28 11:11:58,001 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:11:58,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:11:58,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-28 11:11:58,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:11:58,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-28 11:11:58,004 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 65 transitions. [2022-04-28 11:11:58,089 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:11:58,090 INFO L225 Difference]: With dead ends: 92 [2022-04-28 11:11:58,091 INFO L226 Difference]: Without dead ends: 88 [2022-04-28 11:11:58,091 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 73 SyntacticMatches, 2 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 259 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=137, Invalid=919, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 11:11:58,092 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 36 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 482 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 511 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 482 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 11:11:58,092 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [37 Valid, 102 Invalid, 511 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 482 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 11:11:58,092 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-28 11:11:58,220 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 79. [2022-04-28 11:11:58,220 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:11:58,221 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:11:58,221 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:11:58,221 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:11:58,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:58,223 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-04-28 11:11:58,223 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-04-28 11:11:58,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:58,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:58,223 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-28 11:11:58,224 INFO L87 Difference]: Start difference. First operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-28 11:11:58,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:11:58,225 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-04-28 11:11:58,225 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-04-28 11:11:58,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:11:58,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:11:58,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:11:58,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:11:58,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:11:58,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 86 transitions. [2022-04-28 11:11:58,228 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 86 transitions. Word has length 50 [2022-04-28 11:11:58,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:11:58,228 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 86 transitions. [2022-04-28 11:11:58,228 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 11:11:58,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 86 transitions. [2022-04-28 11:11:58,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:11:58,393 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 86 transitions. [2022-04-28 11:11:58,393 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:11:58,393 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:11:58,393 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:11:58,409 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:11:58,594 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:11:58,594 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:11:58,594 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:11:58,594 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 5 times [2022-04-28 11:11:58,595 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:11:58,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [941514655] [2022-04-28 11:11:58,595 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:11:58,595 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 6 times [2022-04-28 11:11:58,595 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:11:58,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [526646059] [2022-04-28 11:11:58,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:11:58,595 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:11:58,605 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:11:58,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2035001871] [2022-04-28 11:11:58,605 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:11:58,605 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:11:58,605 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:11:58,606 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:11:58,608 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:11:58,654 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 11:11:58,654 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:11:58,655 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 11:11:58,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:11:58,670 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:12:06,140 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:12:19,679 WARN L232 SmtUtils]: Spent 7.69s on a formula simplification that was a NOOP. DAG size: 43 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 11:12:42,394 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:12:49,207 INFO L272 TraceCheckUtils]: 0: Hoare triple {7374#true} call ULTIMATE.init(); {7374#true} is VALID [2022-04-28 11:12:49,207 INFO L290 TraceCheckUtils]: 1: Hoare triple {7374#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); {7374#true} is VALID [2022-04-28 11:12:49,207 INFO L290 TraceCheckUtils]: 2: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 11:12:49,207 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7374#true} {7374#true} #69#return; {7374#true} is VALID [2022-04-28 11:12:49,207 INFO L272 TraceCheckUtils]: 4: Hoare triple {7374#true} call #t~ret8 := main(); {7374#true} is VALID [2022-04-28 11:12:49,207 INFO L290 TraceCheckUtils]: 5: Hoare triple {7374#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; {7374#true} is VALID [2022-04-28 11:12:49,208 INFO L272 TraceCheckUtils]: 6: Hoare triple {7374#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {7374#true} is VALID [2022-04-28 11:12:49,208 INFO L290 TraceCheckUtils]: 7: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-28 11:12:49,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-28 11:12:49,208 INFO L290 TraceCheckUtils]: 9: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 11:12:49,208 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7374#true} {7374#true} #61#return; {7374#true} is VALID [2022-04-28 11:12:49,208 INFO L290 TraceCheckUtils]: 11: Hoare triple {7374#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7374#true} is VALID [2022-04-28 11:12:49,208 INFO L272 TraceCheckUtils]: 12: Hoare triple {7374#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {7374#true} is VALID [2022-04-28 11:12:49,208 INFO L290 TraceCheckUtils]: 13: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-28 11:12:49,208 INFO L290 TraceCheckUtils]: 14: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-28 11:12:49,208 INFO L290 TraceCheckUtils]: 15: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 11:12:49,208 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7374#true} {7374#true} #63#return; {7374#true} is VALID [2022-04-28 11:12:49,209 INFO L290 TraceCheckUtils]: 17: Hoare triple {7374#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7430#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:12:49,209 INFO L290 TraceCheckUtils]: 18: Hoare triple {7430#(and (= main_~x~0 0) (<= (+ 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; {7430#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:12:49,209 INFO L272 TraceCheckUtils]: 19: Hoare triple {7430#(and (= main_~x~0 0) (<= (+ 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)); {7374#true} is VALID [2022-04-28 11:12:49,209 INFO L290 TraceCheckUtils]: 20: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-28 11:12:49,209 INFO L290 TraceCheckUtils]: 21: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-28 11:12:49,209 INFO L290 TraceCheckUtils]: 22: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 11:12:49,210 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7374#true} {7430#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {7430#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:12:49,210 INFO L290 TraceCheckUtils]: 24: Hoare triple {7430#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7430#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:12:49,211 INFO L290 TraceCheckUtils]: 25: Hoare triple {7430#(and (= main_~x~0 0) (<= (+ 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; {7455#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:12:49,211 INFO L290 TraceCheckUtils]: 26: Hoare triple {7455#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7459#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:12:49,212 INFO L290 TraceCheckUtils]: 27: Hoare triple {7459#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 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; {7463#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= (* 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:12:49,212 INFO L272 TraceCheckUtils]: 28: Hoare triple {7463#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= (* 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)); {7374#true} is VALID [2022-04-28 11:12:49,212 INFO L290 TraceCheckUtils]: 29: Hoare triple {7374#true} ~cond := #in~cond; {7470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:12:49,213 INFO L290 TraceCheckUtils]: 30: Hoare triple {7470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:12:49,213 INFO L290 TraceCheckUtils]: 31: Hoare triple {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:12:49,214 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} {7463#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {7481#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 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_~v~0 (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:12:49,214 INFO L290 TraceCheckUtils]: 33: Hoare triple {7481#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 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_~v~0 (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7481#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 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_~v~0 (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:12:49,215 INFO L290 TraceCheckUtils]: 34: Hoare triple {7481#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= 1 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_~v~0 (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7488#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 4)) (= main_~y~0 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:12:51,217 WARN L290 TraceCheckUtils]: 35: Hoare triple {7488#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (<= 1 main_~x~0) (< main_~v~0 (* main_~Y~0 4)) (= main_~y~0 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; {7492#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< main_~v~0 (* main_~Y~0 4)) (= main_~y~0 0) (or (and (= (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) 0) (<= 2 main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (= main_~Y~0 0)) (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) 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) 1) main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (not (= main_~Y~0 0)) (= (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 UNKNOWN [2022-04-28 11:12:51,219 INFO L290 TraceCheckUtils]: 36: Hoare triple {7492#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< main_~v~0 (* main_~Y~0 4)) (= main_~y~0 0) (or (and (= (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) 0) (<= 2 main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (= main_~Y~0 0)) (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) 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) 1) main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (not (= main_~Y~0 0)) (= (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; {7496#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< 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)) (or (and (= (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) 0) (<= 2 main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (= main_~Y~0 0)) (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) 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) 1) main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (not (= main_~Y~0 0)) (= (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:12:51,219 INFO L272 TraceCheckUtils]: 37: Hoare triple {7496#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< 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)) (or (and (= (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) 0) (<= 2 main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (= main_~Y~0 0)) (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) 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) 1) main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (not (= main_~Y~0 0)) (= (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)); {7374#true} is VALID [2022-04-28 11:12:51,219 INFO L290 TraceCheckUtils]: 38: Hoare triple {7374#true} ~cond := #in~cond; {7470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:12:51,219 INFO L290 TraceCheckUtils]: 39: Hoare triple {7470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:12:51,220 INFO L290 TraceCheckUtils]: 40: Hoare triple {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:12:51,221 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} {7496#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< 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)) (or (and (= (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) 0) (<= 2 main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (= main_~Y~0 0)) (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) 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) 1) main_~x~0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~X~0 main_~y~0)) 2) 0) (not (= main_~Y~0 0)) (= (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; {7512#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< main_~v~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)) (or (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (not (= main_~Y~0 0)) (= (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)) (and (<= 2 main_~x~0) (= main_~Y~0 0))) (= main_~y~0 0))} is VALID [2022-04-28 11:12:51,222 INFO L290 TraceCheckUtils]: 42: Hoare triple {7512#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< main_~v~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)) (or (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (not (= main_~Y~0 0)) (= (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)) (and (<= 2 main_~x~0) (= main_~Y~0 0))) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7512#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< main_~v~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)) (or (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (not (= main_~Y~0 0)) (= (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)) (and (<= 2 main_~x~0) (= main_~Y~0 0))) (= main_~y~0 0))} is VALID [2022-04-28 11:12:51,227 INFO L290 TraceCheckUtils]: 43: Hoare triple {7512#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (< main_~v~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)) (or (and (<= 1 (div (+ (* main_~X~0 main_~y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (not (= main_~Y~0 0)) (= (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)) (and (<= 2 main_~x~0) (= main_~Y~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; {7519#(and (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 6)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 1 (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 2) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)))} is VALID [2022-04-28 11:12:51,230 INFO L290 TraceCheckUtils]: 44: Hoare triple {7519#(and (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 6)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 1 (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 2) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7523#(and (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= (+ (- 1) main_~y~0) 0) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 6)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 1 (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 2) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:12:51,236 INFO L290 TraceCheckUtils]: 45: Hoare triple {7523#(and (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= (+ (- 1) main_~y~0) 0) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 6)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 1 (div (+ (* main_~X~0 main_~y~0) (* (- 1) main_~X~0) (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 2) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) 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; {7527#(and (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= (+ (* main_~Y~0 2) (* (* (+ (div main_~yx~0 main_~Y~0) (- 1)) main_~Y~0) 2)) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (<= 1 (div (+ (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 2) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 6)) (= main_~X~0 main_~xy~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (mod main_~yx~0 main_~Y~0) 0))} is VALID [2022-04-28 11:12:51,237 INFO L272 TraceCheckUtils]: 46: Hoare triple {7527#(and (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= (+ (* main_~Y~0 2) (* (* (+ (div main_~yx~0 main_~Y~0) (- 1)) main_~Y~0) 2)) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (<= 1 (div (+ (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 2) (* (- 1) main_~v~0)) (- 2)) (* (- 2) main_~Y~0)) main_~Y~0)) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 6)) (= main_~X~0 main_~xy~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (mod main_~yx~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)); {7531#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:12:51,237 INFO L290 TraceCheckUtils]: 47: Hoare triple {7531#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7535#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:12:51,238 INFO L290 TraceCheckUtils]: 48: Hoare triple {7535#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7375#false} is VALID [2022-04-28 11:12:51,238 INFO L290 TraceCheckUtils]: 49: Hoare triple {7375#false} assume !false; {7375#false} is VALID [2022-04-28 11:12:51,238 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:12:51,238 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:12:56,911 INFO L290 TraceCheckUtils]: 49: Hoare triple {7375#false} assume !false; {7375#false} is VALID [2022-04-28 11:12:56,912 INFO L290 TraceCheckUtils]: 48: Hoare triple {7535#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7375#false} is VALID [2022-04-28 11:12:56,912 INFO L290 TraceCheckUtils]: 47: Hoare triple {7531#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7535#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:12:56,913 INFO L272 TraceCheckUtils]: 46: Hoare triple {7551#(= (+ (* 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)); {7531#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:12:56,913 INFO L290 TraceCheckUtils]: 45: Hoare triple {7555#(= (+ (* 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; {7551#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:12:56,915 INFO L290 TraceCheckUtils]: 44: Hoare triple {7559#(= (+ (* (* 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; {7555#(= (+ (* 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:12:56,916 INFO L290 TraceCheckUtils]: 43: Hoare triple {7563#(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; {7559#(= (+ (* (* 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:12:56,917 INFO L290 TraceCheckUtils]: 42: Hoare triple {7563#(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); {7563#(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:12:56,918 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} {7570#(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; {7563#(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:12:56,918 INFO L290 TraceCheckUtils]: 40: Hoare triple {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:12:56,918 INFO L290 TraceCheckUtils]: 39: Hoare triple {7580#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:12:56,919 INFO L290 TraceCheckUtils]: 38: Hoare triple {7374#true} ~cond := #in~cond; {7580#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:12:56,919 INFO L272 TraceCheckUtils]: 37: Hoare triple {7570#(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)); {7374#true} is VALID [2022-04-28 11:12:56,919 INFO L290 TraceCheckUtils]: 36: Hoare triple {7374#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7570#(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:12:56,920 INFO L290 TraceCheckUtils]: 35: Hoare triple {7374#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7374#true} is VALID [2022-04-28 11:12:56,920 INFO L290 TraceCheckUtils]: 34: Hoare triple {7374#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7374#true} is VALID [2022-04-28 11:12:56,920 INFO L290 TraceCheckUtils]: 33: Hoare triple {7374#true} assume !!(~x~0 <= ~X~0); {7374#true} is VALID [2022-04-28 11:12:56,920 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7374#true} {7374#true} #65#return; {7374#true} is VALID [2022-04-28 11:12:56,920 INFO L290 TraceCheckUtils]: 31: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 11:12:56,920 INFO L290 TraceCheckUtils]: 30: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-28 11:12:56,920 INFO L290 TraceCheckUtils]: 29: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-28 11:12:56,920 INFO L272 TraceCheckUtils]: 28: Hoare triple {7374#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7374#true} is VALID [2022-04-28 11:12:56,920 INFO L290 TraceCheckUtils]: 27: Hoare triple {7374#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7374#true} is VALID [2022-04-28 11:12:56,920 INFO L290 TraceCheckUtils]: 26: Hoare triple {7374#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7374#true} is VALID [2022-04-28 11:12:56,920 INFO L290 TraceCheckUtils]: 25: Hoare triple {7374#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7374#true} is VALID [2022-04-28 11:12:56,920 INFO L290 TraceCheckUtils]: 24: Hoare triple {7374#true} assume !!(~x~0 <= ~X~0); {7374#true} is VALID [2022-04-28 11:12:56,920 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7374#true} {7374#true} #65#return; {7374#true} is VALID [2022-04-28 11:12:56,921 INFO L290 TraceCheckUtils]: 22: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 11:12:56,921 INFO L290 TraceCheckUtils]: 21: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-28 11:12:56,921 INFO L290 TraceCheckUtils]: 20: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-28 11:12:56,921 INFO L272 TraceCheckUtils]: 19: Hoare triple {7374#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7374#true} is VALID [2022-04-28 11:12:56,921 INFO L290 TraceCheckUtils]: 18: Hoare triple {7374#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7374#true} is VALID [2022-04-28 11:12:56,921 INFO L290 TraceCheckUtils]: 17: Hoare triple {7374#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7374#true} is VALID [2022-04-28 11:12:56,921 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7374#true} {7374#true} #63#return; {7374#true} is VALID [2022-04-28 11:12:56,921 INFO L290 TraceCheckUtils]: 15: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 11:12:56,921 INFO L290 TraceCheckUtils]: 14: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-28 11:12:56,921 INFO L290 TraceCheckUtils]: 13: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-28 11:12:56,921 INFO L272 TraceCheckUtils]: 12: Hoare triple {7374#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {7374#true} is VALID [2022-04-28 11:12:56,921 INFO L290 TraceCheckUtils]: 11: Hoare triple {7374#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7374#true} is VALID [2022-04-28 11:12:56,921 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7374#true} {7374#true} #61#return; {7374#true} is VALID [2022-04-28 11:12:56,921 INFO L290 TraceCheckUtils]: 9: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 11:12:56,922 INFO L290 TraceCheckUtils]: 8: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-28 11:12:56,922 INFO L290 TraceCheckUtils]: 7: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-28 11:12:56,922 INFO L272 TraceCheckUtils]: 6: Hoare triple {7374#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {7374#true} is VALID [2022-04-28 11:12:56,922 INFO L290 TraceCheckUtils]: 5: Hoare triple {7374#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; {7374#true} is VALID [2022-04-28 11:12:56,922 INFO L272 TraceCheckUtils]: 4: Hoare triple {7374#true} call #t~ret8 := main(); {7374#true} is VALID [2022-04-28 11:12:56,922 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7374#true} {7374#true} #69#return; {7374#true} is VALID [2022-04-28 11:12:56,922 INFO L290 TraceCheckUtils]: 2: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 11:12:56,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {7374#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); {7374#true} is VALID [2022-04-28 11:12:56,922 INFO L272 TraceCheckUtils]: 0: Hoare triple {7374#true} call ULTIMATE.init(); {7374#true} is VALID [2022-04-28 11:12:56,922 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:12:56,922 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:12:56,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [526646059] [2022-04-28 11:12:56,923 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:12:56,923 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2035001871] [2022-04-28 11:12:56,923 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2035001871] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:12:56,923 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:12:56,923 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 11] total 24 [2022-04-28 11:12:56,923 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:12:56,923 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [941514655] [2022-04-28 11:12:56,923 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [941514655] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:12:56,923 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:12:56,923 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 11:12:56,923 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1136364929] [2022-04-28 11:12:56,924 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:12:56,924 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 2.0) internal successors, (30), 17 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:12:56,924 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:12:56,924 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 15 states have (on average 2.0) internal successors, (30), 17 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:12:59,137 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:12:59,137 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 11:12:59,137 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:12:59,138 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 11:12:59,138 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=482, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:12:59,138 INFO L87 Difference]: Start difference. First operand 79 states and 86 transitions. Second operand has 18 states, 15 states have (on average 2.0) internal successors, (30), 17 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:13:01,728 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:13:03,836 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:13:05,858 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:13:07,920 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:13:29,565 WARN L232 SmtUtils]: Spent 16.52s on a formula simplification. DAG size of input: 57 DAG size of output: 47 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 11:13:35,159 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:13:35,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:13:35,198 INFO L93 Difference]: Finished difference Result 96 states and 105 transitions. [2022-04-28 11:13:35,198 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 11:13:35,199 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 2.0) internal successors, (30), 17 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:13:35,199 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:13:35,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 2.0) internal successors, (30), 17 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:13:35,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 69 transitions. [2022-04-28 11:13:35,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 2.0) internal successors, (30), 17 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:13:35,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 69 transitions. [2022-04-28 11:13:35,202 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 69 transitions. [2022-04-28 11:13:35,533 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:13:35,540 INFO L225 Difference]: With dead ends: 96 [2022-04-28 11:13:35,541 INFO L226 Difference]: Without dead ends: 88 [2022-04-28 11:13:35,541 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 107 ImplicationChecksByTransitivity, 30.8s TimeCoverageRelationStatistics Valid=109, Invalid=702, Unknown=1, NotChecked=0, Total=812 [2022-04-28 11:13:35,547 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 18 mSDsluCounter, 200 mSDsCounter, 0 mSdLazyCounter, 485 mSolverCounterSat, 6 mSolverCounterUnsat, 5 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 11.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 226 SdHoareTripleChecker+Invalid, 496 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 485 IncrementalHoareTripleChecker+Invalid, 5 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 11.7s IncrementalHoareTripleChecker+Time [2022-04-28 11:13:35,547 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 226 Invalid, 496 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 485 Invalid, 5 Unknown, 0 Unchecked, 11.7s Time] [2022-04-28 11:13:35,548 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-28 11:13:35,688 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 79. [2022-04-28 11:13:35,689 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:13:35,689 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:13:35,689 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:13:35,689 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:13:35,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:13:35,691 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-04-28 11:13:35,691 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-04-28 11:13:35,691 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:13:35,691 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:13:35,692 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-28 11:13:35,692 INFO L87 Difference]: Start difference. First operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 88 states. [2022-04-28 11:13:35,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:13:35,694 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-04-28 11:13:35,694 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-04-28 11:13:35,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:13:35,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:13:35,694 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:13:35,694 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:13:35,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 57 states have (on average 1.1228070175438596) internal successors, (64), 58 states have internal predecessors, (64), 12 states have call successors, (12), 10 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:13:35,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 86 transitions. [2022-04-28 11:13:35,696 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 86 transitions. Word has length 50 [2022-04-28 11:13:35,696 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:13:35,697 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 86 transitions. [2022-04-28 11:13:35,697 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 15 states have (on average 2.0) internal successors, (30), 17 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:13:35,697 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 86 transitions. [2022-04-28 11:13:35,962 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:13:35,962 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 86 transitions. [2022-04-28 11:13:35,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:13:35,962 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:13:35,962 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:13:35,985 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:13:36,163 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:13:36,163 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:13:36,170 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:13:36,171 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 7 times [2022-04-28 11:13:36,171 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:13:36,171 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [467419319] [2022-04-28 11:13:36,171 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:13:36,171 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 8 times [2022-04-28 11:13:36,171 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:13:36,171 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1117673832] [2022-04-28 11:13:36,171 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:13:36,172 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:13:36,182 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:13:36,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1089514203] [2022-04-28 11:13:36,182 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:13:36,182 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:13:36,183 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:13:36,184 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:13:36,186 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:13:36,227 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:13:36,227 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:13:36,228 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 11:13:36,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:13:36,241 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:13:41,164 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:13:45,085 INFO L272 TraceCheckUtils]: 0: Hoare triple {8233#true} call ULTIMATE.init(); {8233#true} is VALID [2022-04-28 11:13:45,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {8233#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); {8233#true} is VALID [2022-04-28 11:13:45,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 11:13:45,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8233#true} {8233#true} #69#return; {8233#true} is VALID [2022-04-28 11:13:45,086 INFO L272 TraceCheckUtils]: 4: Hoare triple {8233#true} call #t~ret8 := main(); {8233#true} is VALID [2022-04-28 11:13:45,086 INFO L290 TraceCheckUtils]: 5: Hoare triple {8233#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; {8233#true} is VALID [2022-04-28 11:13:45,086 INFO L272 TraceCheckUtils]: 6: Hoare triple {8233#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {8233#true} is VALID [2022-04-28 11:13:45,086 INFO L290 TraceCheckUtils]: 7: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-28 11:13:45,086 INFO L290 TraceCheckUtils]: 8: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-28 11:13:45,086 INFO L290 TraceCheckUtils]: 9: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 11:13:45,086 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8233#true} {8233#true} #61#return; {8233#true} is VALID [2022-04-28 11:13:45,086 INFO L290 TraceCheckUtils]: 11: Hoare triple {8233#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8233#true} is VALID [2022-04-28 11:13:45,086 INFO L272 TraceCheckUtils]: 12: Hoare triple {8233#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {8233#true} is VALID [2022-04-28 11:13:45,086 INFO L290 TraceCheckUtils]: 13: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-28 11:13:45,086 INFO L290 TraceCheckUtils]: 14: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-28 11:13:45,087 INFO L290 TraceCheckUtils]: 15: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 11:13:45,087 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8233#true} {8233#true} #63#return; {8233#true} is VALID [2022-04-28 11:13:45,087 INFO L290 TraceCheckUtils]: 17: Hoare triple {8233#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8289#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:13:45,088 INFO L290 TraceCheckUtils]: 18: Hoare triple {8289#(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; {8289#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:13:45,088 INFO L272 TraceCheckUtils]: 19: Hoare triple {8289#(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)); {8233#true} is VALID [2022-04-28 11:13:45,088 INFO L290 TraceCheckUtils]: 20: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-28 11:13:45,088 INFO L290 TraceCheckUtils]: 21: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-28 11:13:45,088 INFO L290 TraceCheckUtils]: 22: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 11:13:45,089 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8233#true} {8289#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {8289#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:13:45,089 INFO L290 TraceCheckUtils]: 24: Hoare triple {8289#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {8289#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:13:45,090 INFO L290 TraceCheckUtils]: 25: Hoare triple {8289#(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; {8314#(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:13:45,090 INFO L290 TraceCheckUtils]: 26: Hoare triple {8314#(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; {8314#(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:13:45,091 INFO L290 TraceCheckUtils]: 27: Hoare triple {8314#(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; {8314#(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:13:45,091 INFO L272 TraceCheckUtils]: 28: Hoare triple {8314#(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)); {8233#true} is VALID [2022-04-28 11:13:45,091 INFO L290 TraceCheckUtils]: 29: Hoare triple {8233#true} ~cond := #in~cond; {8327#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:13:45,091 INFO L290 TraceCheckUtils]: 30: Hoare triple {8327#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:45,092 INFO L290 TraceCheckUtils]: 31: Hoare triple {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:45,092 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} {8314#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #65#return; {8314#(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:13:45,093 INFO L290 TraceCheckUtils]: 33: Hoare triple {8314#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {8314#(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:13:45,093 INFO L290 TraceCheckUtils]: 34: Hoare triple {8314#(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 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {8344#(and (= (+ (- 1) main_~y~0) 0) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} is VALID [2022-04-28 11:13:45,094 INFO L290 TraceCheckUtils]: 35: Hoare triple {8344#(and (= (+ (- 1) main_~y~0) 0) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8344#(and (= (+ (- 1) main_~y~0) 0) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} is VALID [2022-04-28 11:13:45,094 INFO L290 TraceCheckUtils]: 36: Hoare triple {8344#(and (= (+ (- 1) main_~y~0) 0) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8351#(and (= (+ (- 1) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:13:45,094 INFO L272 TraceCheckUtils]: 37: Hoare triple {8351#(and (= (+ (- 1) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))) (= 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)); {8233#true} is VALID [2022-04-28 11:13:45,095 INFO L290 TraceCheckUtils]: 38: Hoare triple {8233#true} ~cond := #in~cond; {8327#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:13:45,095 INFO L290 TraceCheckUtils]: 39: Hoare triple {8327#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:45,095 INFO L290 TraceCheckUtils]: 40: Hoare triple {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:45,097 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} {8351#(and (= (+ (- 1) main_~y~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {8367#(and (= (+ (- 1) main_~y~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)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} is VALID [2022-04-28 11:13:45,098 INFO L290 TraceCheckUtils]: 42: Hoare triple {8367#(and (= (+ (- 1) main_~y~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)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} assume !!(~x~0 <= ~X~0); {8367#(and (= (+ (- 1) main_~y~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)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} is VALID [2022-04-28 11:13:45,098 INFO L290 TraceCheckUtils]: 43: Hoare triple {8367#(and (= (+ (- 1) main_~y~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)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 3))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8374#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* 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:13:45,100 INFO L290 TraceCheckUtils]: 44: Hoare triple {8374#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* 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; {8378#(and (= (+ (- 1) main_~y~0) 0) (= 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:13:45,102 INFO L290 TraceCheckUtils]: 45: Hoare triple {8378#(and (= (+ (- 1) main_~y~0) 0) (= 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; {8382#(and (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0) (= main_~X~0 main_~xy~0) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-28 11:13:45,105 INFO L272 TraceCheckUtils]: 46: Hoare triple {8382#(and (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0) (= main_~X~0 main_~xy~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)); {8386#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:13:45,106 INFO L290 TraceCheckUtils]: 47: Hoare triple {8386#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8390#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:13:45,106 INFO L290 TraceCheckUtils]: 48: Hoare triple {8390#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8234#false} is VALID [2022-04-28 11:13:45,106 INFO L290 TraceCheckUtils]: 49: Hoare triple {8234#false} assume !false; {8234#false} is VALID [2022-04-28 11:13:45,107 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:13:45,107 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:13:47,287 INFO L290 TraceCheckUtils]: 49: Hoare triple {8234#false} assume !false; {8234#false} is VALID [2022-04-28 11:13:47,287 INFO L290 TraceCheckUtils]: 48: Hoare triple {8390#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8234#false} is VALID [2022-04-28 11:13:47,288 INFO L290 TraceCheckUtils]: 47: Hoare triple {8386#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8390#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:13:47,288 INFO L272 TraceCheckUtils]: 46: Hoare triple {8406#(= (+ (* 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)); {8386#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:13:47,289 INFO L290 TraceCheckUtils]: 45: Hoare triple {8410#(= (+ (* 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; {8406#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:13:47,291 INFO L290 TraceCheckUtils]: 44: Hoare triple {8414#(= (+ (* (* 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; {8410#(= (+ (* 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:13:47,291 INFO L290 TraceCheckUtils]: 43: Hoare triple {8410#(= (+ (* 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; {8414#(= (+ (* (* 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:13:47,292 INFO L290 TraceCheckUtils]: 42: Hoare triple {8410#(= (+ (* 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); {8410#(= (+ (* 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:13:47,293 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} {8424#(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; {8410#(= (+ (* 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:13:47,293 INFO L290 TraceCheckUtils]: 40: Hoare triple {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:47,293 INFO L290 TraceCheckUtils]: 39: Hoare triple {8434#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8331#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:13:47,294 INFO L290 TraceCheckUtils]: 38: Hoare triple {8233#true} ~cond := #in~cond; {8434#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:13:47,294 INFO L272 TraceCheckUtils]: 37: Hoare triple {8424#(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)); {8233#true} is VALID [2022-04-28 11:13:47,294 INFO L290 TraceCheckUtils]: 36: Hoare triple {8233#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8424#(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:13:47,295 INFO L290 TraceCheckUtils]: 35: Hoare triple {8233#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8233#true} is VALID [2022-04-28 11:13:47,295 INFO L290 TraceCheckUtils]: 34: Hoare triple {8233#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; {8233#true} is VALID [2022-04-28 11:13:47,295 INFO L290 TraceCheckUtils]: 33: Hoare triple {8233#true} assume !!(~x~0 <= ~X~0); {8233#true} is VALID [2022-04-28 11:13:47,295 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8233#true} {8233#true} #65#return; {8233#true} is VALID [2022-04-28 11:13:47,295 INFO L290 TraceCheckUtils]: 31: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 11:13:47,295 INFO L290 TraceCheckUtils]: 30: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-28 11:13:47,295 INFO L290 TraceCheckUtils]: 29: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-28 11:13:47,295 INFO L272 TraceCheckUtils]: 28: Hoare triple {8233#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8233#true} is VALID [2022-04-28 11:13:47,295 INFO L290 TraceCheckUtils]: 27: Hoare triple {8233#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8233#true} is VALID [2022-04-28 11:13:47,295 INFO L290 TraceCheckUtils]: 26: Hoare triple {8233#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8233#true} is VALID [2022-04-28 11:13:47,295 INFO L290 TraceCheckUtils]: 25: Hoare triple {8233#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8233#true} is VALID [2022-04-28 11:13:47,295 INFO L290 TraceCheckUtils]: 24: Hoare triple {8233#true} assume !!(~x~0 <= ~X~0); {8233#true} is VALID [2022-04-28 11:13:47,295 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8233#true} {8233#true} #65#return; {8233#true} is VALID [2022-04-28 11:13:47,296 INFO L290 TraceCheckUtils]: 22: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 11:13:47,296 INFO L290 TraceCheckUtils]: 21: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-28 11:13:47,296 INFO L290 TraceCheckUtils]: 20: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-28 11:13:47,296 INFO L272 TraceCheckUtils]: 19: Hoare triple {8233#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8233#true} is VALID [2022-04-28 11:13:47,296 INFO L290 TraceCheckUtils]: 18: Hoare triple {8233#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8233#true} is VALID [2022-04-28 11:13:47,296 INFO L290 TraceCheckUtils]: 17: Hoare triple {8233#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8233#true} is VALID [2022-04-28 11:13:47,296 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8233#true} {8233#true} #63#return; {8233#true} is VALID [2022-04-28 11:13:47,296 INFO L290 TraceCheckUtils]: 15: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 11:13:47,296 INFO L290 TraceCheckUtils]: 14: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-28 11:13:47,296 INFO L290 TraceCheckUtils]: 13: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-28 11:13:47,296 INFO L272 TraceCheckUtils]: 12: Hoare triple {8233#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {8233#true} is VALID [2022-04-28 11:13:47,296 INFO L290 TraceCheckUtils]: 11: Hoare triple {8233#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8233#true} is VALID [2022-04-28 11:13:47,296 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8233#true} {8233#true} #61#return; {8233#true} is VALID [2022-04-28 11:13:47,296 INFO L290 TraceCheckUtils]: 9: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 11:13:47,297 INFO L290 TraceCheckUtils]: 8: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-28 11:13:47,297 INFO L290 TraceCheckUtils]: 7: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-28 11:13:47,297 INFO L272 TraceCheckUtils]: 6: Hoare triple {8233#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {8233#true} is VALID [2022-04-28 11:13:47,297 INFO L290 TraceCheckUtils]: 5: Hoare triple {8233#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; {8233#true} is VALID [2022-04-28 11:13:47,297 INFO L272 TraceCheckUtils]: 4: Hoare triple {8233#true} call #t~ret8 := main(); {8233#true} is VALID [2022-04-28 11:13:47,297 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8233#true} {8233#true} #69#return; {8233#true} is VALID [2022-04-28 11:13:47,297 INFO L290 TraceCheckUtils]: 2: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 11:13:47,297 INFO L290 TraceCheckUtils]: 1: Hoare triple {8233#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); {8233#true} is VALID [2022-04-28 11:13:47,297 INFO L272 TraceCheckUtils]: 0: Hoare triple {8233#true} call ULTIMATE.init(); {8233#true} is VALID [2022-04-28 11:13:47,297 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:13:47,297 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:13:47,297 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1117673832] [2022-04-28 11:13:47,298 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:13:47,298 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1089514203] [2022-04-28 11:13:47,298 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1089514203] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:13:47,298 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:13:47,298 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-28 11:13:47,298 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:13:47,298 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [467419319] [2022-04-28 11:13:47,298 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [467419319] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:13:47,298 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:13:47,298 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:13:47,298 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1445516782] [2022-04-28 11:13:47,298 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:13:47,299 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:13:47,299 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:13:47,299 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:13:47,345 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:13:47,345 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:13:47,345 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:13:47,346 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:13:47,346 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=293, Unknown=0, NotChecked=0, Total=342 [2022-04-28 11:13:47,346 INFO L87 Difference]: Start difference. First operand 79 states and 86 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:13:49,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:13:49,648 INFO L93 Difference]: Finished difference Result 97 states and 108 transitions. [2022-04-28 11:13:49,648 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 11:13:49,648 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:13:49,649 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:13:49,649 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:13:49,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-28 11:13:49,650 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:13:49,651 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-28 11:13:49,651 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 65 transitions. [2022-04-28 11:13:49,724 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:13:49,725 INFO L225 Difference]: With dead ends: 97 [2022-04-28 11:13:49,725 INFO L226 Difference]: Without dead ends: 95 [2022-04-28 11:13:49,726 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 79 SyntacticMatches, 3 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 57 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-28 11:13:49,726 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 18 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 354 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 182 SdHoareTripleChecker+Invalid, 359 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 354 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:13:49,726 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 182 Invalid, 359 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 354 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 11:13:49,727 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-28 11:13:49,899 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 91. [2022-04-28 11:13:49,899 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:13:49,900 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 91 states, 66 states have (on average 1.121212121212121) internal successors, (74), 68 states have internal predecessors, (74), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 11:13:49,900 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 91 states, 66 states have (on average 1.121212121212121) internal successors, (74), 68 states have internal predecessors, (74), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 11:13:49,900 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 91 states, 66 states have (on average 1.121212121212121) internal successors, (74), 68 states have internal predecessors, (74), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 11:13:49,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:13:49,902 INFO L93 Difference]: Finished difference Result 95 states and 106 transitions. [2022-04-28 11:13:49,902 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 106 transitions. [2022-04-28 11:13:49,902 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:13:49,902 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:13:49,902 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 66 states have (on average 1.121212121212121) internal successors, (74), 68 states have internal predecessors, (74), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 95 states. [2022-04-28 11:13:49,903 INFO L87 Difference]: Start difference. First operand has 91 states, 66 states have (on average 1.121212121212121) internal successors, (74), 68 states have internal predecessors, (74), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 95 states. [2022-04-28 11:13:49,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:13:49,905 INFO L93 Difference]: Finished difference Result 95 states and 106 transitions. [2022-04-28 11:13:49,905 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 106 transitions. [2022-04-28 11:13:49,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:13:49,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:13:49,905 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:13:49,905 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:13:49,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 66 states have (on average 1.121212121212121) internal successors, (74), 68 states have internal predecessors, (74), 14 states have call successors, (14), 11 states have call predecessors, (14), 10 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 11:13:49,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 100 transitions. [2022-04-28 11:13:49,907 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 100 transitions. Word has length 50 [2022-04-28 11:13:49,908 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:13:49,908 INFO L495 AbstractCegarLoop]: Abstraction has 91 states and 100 transitions. [2022-04-28 11:13:49,908 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:13:49,908 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 100 transitions. [2022-04-28 11:13:50,178 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:13:50,178 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 100 transitions. [2022-04-28 11:13:50,179 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:13:50,179 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:13:50,179 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:13:50,197 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:13:50,379 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:13:50,379 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:13:50,380 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:13:50,380 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 9 times [2022-04-28 11:13:50,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:13:50,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [516698903] [2022-04-28 11:13:50,380 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:13:50,380 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 10 times [2022-04-28 11:13:50,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:13:50,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1008850231] [2022-04-28 11:13:50,381 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:13:50,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:13:50,391 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:13:50,391 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1995349555] [2022-04-28 11:13:50,391 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:13:50,391 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:13:50,391 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:13:50,392 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:13:50,395 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:13:50,429 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:13:50,429 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:13:50,430 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 11:13:50,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:13:50,440 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:13:50,757 INFO L272 TraceCheckUtils]: 0: Hoare triple {9125#true} call ULTIMATE.init(); {9125#true} is VALID [2022-04-28 11:13:50,758 INFO L290 TraceCheckUtils]: 1: Hoare triple {9125#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); {9125#true} is VALID [2022-04-28 11:13:50,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 11:13:50,758 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9125#true} {9125#true} #69#return; {9125#true} is VALID [2022-04-28 11:13:50,758 INFO L272 TraceCheckUtils]: 4: Hoare triple {9125#true} call #t~ret8 := main(); {9125#true} is VALID [2022-04-28 11:13:50,758 INFO L290 TraceCheckUtils]: 5: Hoare triple {9125#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; {9125#true} is VALID [2022-04-28 11:13:50,758 INFO L272 TraceCheckUtils]: 6: Hoare triple {9125#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {9125#true} is VALID [2022-04-28 11:13:50,758 INFO L290 TraceCheckUtils]: 7: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 11:13:50,758 INFO L290 TraceCheckUtils]: 8: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 11:13:50,758 INFO L290 TraceCheckUtils]: 9: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 11:13:50,758 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9125#true} {9125#true} #61#return; {9125#true} is VALID [2022-04-28 11:13:50,758 INFO L290 TraceCheckUtils]: 11: Hoare triple {9125#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9125#true} is VALID [2022-04-28 11:13:50,758 INFO L272 TraceCheckUtils]: 12: Hoare triple {9125#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {9125#true} is VALID [2022-04-28 11:13:50,759 INFO L290 TraceCheckUtils]: 13: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 11:13:50,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 11:13:50,759 INFO L290 TraceCheckUtils]: 15: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 11:13:50,759 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9125#true} {9125#true} #63#return; {9125#true} is VALID [2022-04-28 11:13:50,763 INFO L290 TraceCheckUtils]: 17: Hoare triple {9125#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-28 11:13:50,764 INFO L290 TraceCheckUtils]: 18: Hoare triple {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-28 11:13:50,764 INFO L272 TraceCheckUtils]: 19: Hoare triple {9181#(<= (* 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)); {9125#true} is VALID [2022-04-28 11:13:50,764 INFO L290 TraceCheckUtils]: 20: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 11:13:50,764 INFO L290 TraceCheckUtils]: 21: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 11:13:50,764 INFO L290 TraceCheckUtils]: 22: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 11:13:50,765 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9125#true} {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} #65#return; {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-28 11:13:50,765 INFO L290 TraceCheckUtils]: 24: Hoare triple {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-28 11:13:50,766 INFO L290 TraceCheckUtils]: 25: Hoare triple {9181#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:13:50,767 INFO L290 TraceCheckUtils]: 26: Hoare triple {9206#(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; {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:13:50,767 INFO L290 TraceCheckUtils]: 27: Hoare triple {9206#(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; {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:13:50,767 INFO L272 TraceCheckUtils]: 28: Hoare triple {9206#(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)); {9125#true} is VALID [2022-04-28 11:13:50,767 INFO L290 TraceCheckUtils]: 29: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 11:13:50,767 INFO L290 TraceCheckUtils]: 30: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 11:13:50,767 INFO L290 TraceCheckUtils]: 31: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 11:13:50,768 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9125#true} {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} #65#return; {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:13:50,768 INFO L290 TraceCheckUtils]: 33: Hoare triple {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {9206#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:13:50,769 INFO L290 TraceCheckUtils]: 34: Hoare triple {9206#(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; {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-28 11:13:50,769 INFO L290 TraceCheckUtils]: 35: Hoare triple {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-28 11:13:50,770 INFO L290 TraceCheckUtils]: 36: Hoare triple {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-28 11:13:50,770 INFO L272 TraceCheckUtils]: 37: Hoare triple {9234#(< 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)); {9125#true} is VALID [2022-04-28 11:13:50,770 INFO L290 TraceCheckUtils]: 38: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 11:13:50,770 INFO L290 TraceCheckUtils]: 39: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 11:13:50,770 INFO L290 TraceCheckUtils]: 40: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 11:13:50,770 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9125#true} {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} #65#return; {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-28 11:13:50,771 INFO L290 TraceCheckUtils]: 42: Hoare triple {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !!(~x~0 <= ~X~0); {9234#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-28 11:13:50,772 INFO L290 TraceCheckUtils]: 43: Hoare triple {9234#(< 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; {9126#false} is VALID [2022-04-28 11:13:50,772 INFO L290 TraceCheckUtils]: 44: Hoare triple {9126#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9126#false} is VALID [2022-04-28 11:13:50,772 INFO L290 TraceCheckUtils]: 45: Hoare triple {9126#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9126#false} is VALID [2022-04-28 11:13:50,772 INFO L272 TraceCheckUtils]: 46: Hoare triple {9126#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9126#false} is VALID [2022-04-28 11:13:50,772 INFO L290 TraceCheckUtils]: 47: Hoare triple {9126#false} ~cond := #in~cond; {9126#false} is VALID [2022-04-28 11:13:50,772 INFO L290 TraceCheckUtils]: 48: Hoare triple {9126#false} assume 0 == ~cond; {9126#false} is VALID [2022-04-28 11:13:50,772 INFO L290 TraceCheckUtils]: 49: Hoare triple {9126#false} assume !false; {9126#false} is VALID [2022-04-28 11:13:50,772 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:13:50,772 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:13:50,982 INFO L290 TraceCheckUtils]: 49: Hoare triple {9126#false} assume !false; {9126#false} is VALID [2022-04-28 11:13:50,982 INFO L290 TraceCheckUtils]: 48: Hoare triple {9126#false} assume 0 == ~cond; {9126#false} is VALID [2022-04-28 11:13:50,982 INFO L290 TraceCheckUtils]: 47: Hoare triple {9126#false} ~cond := #in~cond; {9126#false} is VALID [2022-04-28 11:13:50,982 INFO L272 TraceCheckUtils]: 46: Hoare triple {9126#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9126#false} is VALID [2022-04-28 11:13:50,982 INFO L290 TraceCheckUtils]: 45: Hoare triple {9126#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9126#false} is VALID [2022-04-28 11:13:50,982 INFO L290 TraceCheckUtils]: 44: Hoare triple {9126#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9126#false} is VALID [2022-04-28 11:13:50,983 INFO L290 TraceCheckUtils]: 43: Hoare triple {9298#(< 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; {9126#false} is VALID [2022-04-28 11:13:50,983 INFO L290 TraceCheckUtils]: 42: Hoare triple {9298#(< main_~v~0 0)} assume !!(~x~0 <= ~X~0); {9298#(< main_~v~0 0)} is VALID [2022-04-28 11:13:50,984 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9125#true} {9298#(< main_~v~0 0)} #65#return; {9298#(< main_~v~0 0)} is VALID [2022-04-28 11:13:50,984 INFO L290 TraceCheckUtils]: 40: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 11:13:50,984 INFO L290 TraceCheckUtils]: 39: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 11:13:50,984 INFO L290 TraceCheckUtils]: 38: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 11:13:50,984 INFO L272 TraceCheckUtils]: 37: Hoare triple {9298#(< 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)); {9125#true} is VALID [2022-04-28 11:13:50,991 INFO L290 TraceCheckUtils]: 36: Hoare triple {9298#(< main_~v~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9298#(< main_~v~0 0)} is VALID [2022-04-28 11:13:50,992 INFO L290 TraceCheckUtils]: 35: Hoare triple {9298#(< main_~v~0 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9298#(< main_~v~0 0)} is VALID [2022-04-28 11:13:50,993 INFO L290 TraceCheckUtils]: 34: Hoare triple {9326#(< (+ 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; {9298#(< main_~v~0 0)} is VALID [2022-04-28 11:13:50,993 INFO L290 TraceCheckUtils]: 33: Hoare triple {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !!(~x~0 <= ~X~0); {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-28 11:13:50,994 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9125#true} {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} #65#return; {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-28 11:13:50,994 INFO L290 TraceCheckUtils]: 31: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 11:13:50,994 INFO L290 TraceCheckUtils]: 30: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 11:13:50,994 INFO L290 TraceCheckUtils]: 29: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 11:13:50,994 INFO L272 TraceCheckUtils]: 28: Hoare triple {9326#(< (+ 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)); {9125#true} is VALID [2022-04-28 11:13:50,995 INFO L290 TraceCheckUtils]: 27: Hoare triple {9326#(< (+ 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; {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-28 11:13:50,995 INFO L290 TraceCheckUtils]: 26: Hoare triple {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-28 11:13:50,996 INFO L290 TraceCheckUtils]: 25: Hoare triple {9354#(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; {9326#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-28 11:13:50,996 INFO L290 TraceCheckUtils]: 24: Hoare triple {9354#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {9354#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:13:50,997 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9125#true} {9354#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} #65#return; {9354#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:13:50,997 INFO L290 TraceCheckUtils]: 22: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 11:13:50,997 INFO L290 TraceCheckUtils]: 21: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 11:13:50,997 INFO L290 TraceCheckUtils]: 20: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 11:13:50,998 INFO L272 TraceCheckUtils]: 19: Hoare triple {9354#(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)); {9125#true} is VALID [2022-04-28 11:13:50,998 INFO L290 TraceCheckUtils]: 18: Hoare triple {9354#(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; {9354#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:13:50,999 INFO L290 TraceCheckUtils]: 17: Hoare triple {9125#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9354#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-28 11:13:50,999 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9125#true} {9125#true} #63#return; {9125#true} is VALID [2022-04-28 11:13:50,999 INFO L290 TraceCheckUtils]: 15: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 11:13:50,999 INFO L290 TraceCheckUtils]: 14: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 11:13:50,999 INFO L290 TraceCheckUtils]: 13: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 11:13:50,999 INFO L272 TraceCheckUtils]: 12: Hoare triple {9125#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {9125#true} is VALID [2022-04-28 11:13:50,999 INFO L290 TraceCheckUtils]: 11: Hoare triple {9125#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9125#true} is VALID [2022-04-28 11:13:51,000 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9125#true} {9125#true} #61#return; {9125#true} is VALID [2022-04-28 11:13:51,000 INFO L290 TraceCheckUtils]: 9: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 11:13:51,000 INFO L290 TraceCheckUtils]: 8: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 11:13:51,000 INFO L290 TraceCheckUtils]: 7: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 11:13:51,000 INFO L272 TraceCheckUtils]: 6: Hoare triple {9125#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {9125#true} is VALID [2022-04-28 11:13:51,000 INFO L290 TraceCheckUtils]: 5: Hoare triple {9125#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; {9125#true} is VALID [2022-04-28 11:13:51,000 INFO L272 TraceCheckUtils]: 4: Hoare triple {9125#true} call #t~ret8 := main(); {9125#true} is VALID [2022-04-28 11:13:51,000 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9125#true} {9125#true} #69#return; {9125#true} is VALID [2022-04-28 11:13:51,000 INFO L290 TraceCheckUtils]: 2: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 11:13:51,001 INFO L290 TraceCheckUtils]: 1: Hoare triple {9125#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); {9125#true} is VALID [2022-04-28 11:13:51,001 INFO L272 TraceCheckUtils]: 0: Hoare triple {9125#true} call ULTIMATE.init(); {9125#true} is VALID [2022-04-28 11:13:51,001 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:13:51,001 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:13:51,001 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1008850231] [2022-04-28 11:13:51,001 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:13:51,001 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1995349555] [2022-04-28 11:13:51,001 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1995349555] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:13:51,002 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:13:51,002 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 11:13:51,002 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:13:51,002 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [516698903] [2022-04-28 11:13:51,002 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [516698903] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:13:51,002 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:13:51,002 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 11:13:51,002 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [87042231] [2022-04-28 11:13:51,002 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:13:51,003 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:13:51,003 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:13:51,003 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:13:51,045 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:13:51,045 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 11:13:51,045 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:13:51,046 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 11:13:51,046 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 11:13:51,046 INFO L87 Difference]: Start difference. First operand 91 states and 100 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:13:51,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:13:51,573 INFO L93 Difference]: Finished difference Result 126 states and 145 transitions. [2022-04-28 11:13:51,573 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 11:13:51,573 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:13:51,575 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:13:51,575 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:13:51,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-28 11:13:51,577 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:13:51,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-28 11:13:51,578 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 71 transitions. [2022-04-28 11:13:51,641 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:13:51,643 INFO L225 Difference]: With dead ends: 126 [2022-04-28 11:13:51,643 INFO L226 Difference]: Without dead ends: 113 [2022-04-28 11:13:51,643 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:13:51,644 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:13:51,644 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:13:51,644 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-28 11:13:51,916 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 109. [2022-04-28 11:13:51,916 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:13:51,917 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand has 109 states, 80 states have (on average 1.125) internal successors, (90), 82 states have internal predecessors, (90), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:13:51,917 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand has 109 states, 80 states have (on average 1.125) internal successors, (90), 82 states have internal predecessors, (90), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:13:51,917 INFO L87 Difference]: Start difference. First operand 113 states. Second operand has 109 states, 80 states have (on average 1.125) internal successors, (90), 82 states have internal predecessors, (90), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:13:51,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:13:51,920 INFO L93 Difference]: Finished difference Result 113 states and 128 transitions. [2022-04-28 11:13:51,920 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 128 transitions. [2022-04-28 11:13:51,920 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:13:51,920 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:13:51,921 INFO L74 IsIncluded]: Start isIncluded. First operand has 109 states, 80 states have (on average 1.125) internal successors, (90), 82 states have internal predecessors, (90), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 113 states. [2022-04-28 11:13:51,921 INFO L87 Difference]: Start difference. First operand has 109 states, 80 states have (on average 1.125) internal successors, (90), 82 states have internal predecessors, (90), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 113 states. [2022-04-28 11:13:51,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:13:51,923 INFO L93 Difference]: Finished difference Result 113 states and 128 transitions. [2022-04-28 11:13:51,923 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 128 transitions. [2022-04-28 11:13:51,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:13:51,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:13:51,924 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:13:51,924 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:13:51,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 109 states, 80 states have (on average 1.125) internal successors, (90), 82 states have internal predecessors, (90), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:13:51,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 124 transitions. [2022-04-28 11:13:51,926 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 124 transitions. Word has length 50 [2022-04-28 11:13:51,927 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:13:51,927 INFO L495 AbstractCegarLoop]: Abstraction has 109 states and 124 transitions. [2022-04-28 11:13:51,927 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:13:51,927 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 109 states and 124 transitions. [2022-04-28 11:13:52,315 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:13:52,315 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 124 transitions. [2022-04-28 11:13:52,316 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:13:52,316 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:13:52,316 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:13:52,341 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:13:52,516 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:13:52,517 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:13:52,517 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:13:52,517 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 11 times [2022-04-28 11:13:52,517 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:13:52,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1610642608] [2022-04-28 11:13:52,518 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:13:52,518 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 12 times [2022-04-28 11:13:52,518 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:13:52,518 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [17128199] [2022-04-28 11:13:52,518 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:13:52,518 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:13:52,527 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:13:52,528 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1650348907] [2022-04-28 11:13:52,528 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:13:52,528 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:13:52,528 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:13:52,529 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:13:52,531 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:13:52,577 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 11:13:52,577 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:13:52,578 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-28 11:13:52,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:13:52,592 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:14:14,316 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:14:16,408 INFO L272 TraceCheckUtils]: 0: Hoare triple {10130#true} call ULTIMATE.init(); {10130#true} is VALID [2022-04-28 11:14:16,409 INFO L290 TraceCheckUtils]: 1: Hoare triple {10130#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); {10130#true} is VALID [2022-04-28 11:14:16,409 INFO L290 TraceCheckUtils]: 2: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 11:14:16,409 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10130#true} {10130#true} #69#return; {10130#true} is VALID [2022-04-28 11:14:16,409 INFO L272 TraceCheckUtils]: 4: Hoare triple {10130#true} call #t~ret8 := main(); {10130#true} is VALID [2022-04-28 11:14:16,409 INFO L290 TraceCheckUtils]: 5: Hoare triple {10130#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; {10130#true} is VALID [2022-04-28 11:14:16,409 INFO L272 TraceCheckUtils]: 6: Hoare triple {10130#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {10130#true} is VALID [2022-04-28 11:14:16,409 INFO L290 TraceCheckUtils]: 7: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-28 11:14:16,409 INFO L290 TraceCheckUtils]: 8: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-28 11:14:16,410 INFO L290 TraceCheckUtils]: 9: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 11:14:16,410 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10130#true} {10130#true} #61#return; {10130#true} is VALID [2022-04-28 11:14:16,410 INFO L290 TraceCheckUtils]: 11: Hoare triple {10130#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10130#true} is VALID [2022-04-28 11:14:16,410 INFO L272 TraceCheckUtils]: 12: Hoare triple {10130#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {10130#true} is VALID [2022-04-28 11:14:16,410 INFO L290 TraceCheckUtils]: 13: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-28 11:14:16,410 INFO L290 TraceCheckUtils]: 14: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-28 11:14:16,410 INFO L290 TraceCheckUtils]: 15: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 11:14:16,410 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10130#true} {10130#true} #63#return; {10130#true} is VALID [2022-04-28 11:14:16,411 INFO L290 TraceCheckUtils]: 17: Hoare triple {10130#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10186#(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:16,411 INFO L290 TraceCheckUtils]: 18: Hoare triple {10186#(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; {10186#(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:16,411 INFO L272 TraceCheckUtils]: 19: Hoare triple {10186#(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)); {10130#true} is VALID [2022-04-28 11:14:16,411 INFO L290 TraceCheckUtils]: 20: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-28 11:14:16,412 INFO L290 TraceCheckUtils]: 21: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-28 11:14:16,412 INFO L290 TraceCheckUtils]: 22: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 11:14:16,412 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10130#true} {10186#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {10186#(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:16,413 INFO L290 TraceCheckUtils]: 24: Hoare triple {10186#(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); {10186#(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:16,414 INFO L290 TraceCheckUtils]: 25: Hoare triple {10186#(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; {10211#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:14:16,415 INFO L290 TraceCheckUtils]: 26: Hoare triple {10211#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10215#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~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:16,415 INFO L290 TraceCheckUtils]: 27: Hoare triple {10215#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~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; {10219#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:14:16,415 INFO L272 TraceCheckUtils]: 28: Hoare triple {10219#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10130#true} is VALID [2022-04-28 11:14:16,416 INFO L290 TraceCheckUtils]: 29: Hoare triple {10130#true} ~cond := #in~cond; {10226#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:14:16,416 INFO L290 TraceCheckUtils]: 30: Hoare triple {10226#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:14:16,416 INFO L290 TraceCheckUtils]: 31: Hoare triple {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:14:16,417 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} {10219#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {10215#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~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:16,418 INFO L290 TraceCheckUtils]: 33: Hoare triple {10215#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~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); {10215#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~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:16,419 INFO L290 TraceCheckUtils]: 34: Hoare triple {10215#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~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; {10243#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1))} is VALID [2022-04-28 11:14:16,420 INFO L290 TraceCheckUtils]: 35: Hoare triple {10243#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10247#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (< main_~v~0 (* main_~Y~0 2)) (<= main_~x~0 2))} is VALID [2022-04-28 11:14:16,421 INFO L290 TraceCheckUtils]: 36: Hoare triple {10247#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (< 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; {10251#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 11:14:16,421 INFO L272 TraceCheckUtils]: 37: Hoare triple {10251#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~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)); {10130#true} is VALID [2022-04-28 11:14:16,421 INFO L290 TraceCheckUtils]: 38: Hoare triple {10130#true} ~cond := #in~cond; {10226#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:14:16,421 INFO L290 TraceCheckUtils]: 39: Hoare triple {10226#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:14:16,422 INFO L290 TraceCheckUtils]: 40: Hoare triple {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:14:16,423 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} {10251#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (= (+ (- 1) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (< main_~v~0 (* main_~Y~0 2)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 2))} #65#return; {10267#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 2))) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:14:16,424 INFO L290 TraceCheckUtils]: 42: Hoare triple {10267#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 2))) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {10267#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 2))) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-28 11:14:16,425 INFO L290 TraceCheckUtils]: 43: Hoare triple {10267#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 2))) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~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; {10274#(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_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-28 11:14:16,427 INFO L290 TraceCheckUtils]: 44: Hoare triple {10274#(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_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10278#(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 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-28 11:14:16,430 INFO L290 TraceCheckUtils]: 45: Hoare triple {10278#(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 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* 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; {10282#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~v~0) (* main_~X~0 (- 5))) (- 2))) main_~Y~0) main_~Y~0) main_~yx~0) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-28 11:14:16,433 INFO L272 TraceCheckUtils]: 46: Hoare triple {10282#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= (* (div (+ (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~v~0) (* main_~X~0 (- 5))) (- 2))) main_~Y~0) main_~Y~0) main_~yx~0) (<= (* 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)); {10286#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:14:16,433 INFO L290 TraceCheckUtils]: 47: Hoare triple {10286#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10290#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:14:16,433 INFO L290 TraceCheckUtils]: 48: Hoare triple {10290#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10131#false} is VALID [2022-04-28 11:14:16,434 INFO L290 TraceCheckUtils]: 49: Hoare triple {10131#false} assume !false; {10131#false} is VALID [2022-04-28 11:14:16,434 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:14:16,434 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:14:19,543 INFO L290 TraceCheckUtils]: 49: Hoare triple {10131#false} assume !false; {10131#false} is VALID [2022-04-28 11:14:19,544 INFO L290 TraceCheckUtils]: 48: Hoare triple {10290#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10131#false} is VALID [2022-04-28 11:14:19,544 INFO L290 TraceCheckUtils]: 47: Hoare triple {10286#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10290#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:14:19,545 INFO L272 TraceCheckUtils]: 46: Hoare triple {10306#(= (+ (* 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)); {10286#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:14:19,545 INFO L290 TraceCheckUtils]: 45: Hoare triple {10310#(= (+ (* 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; {10306#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:14:19,547 INFO L290 TraceCheckUtils]: 44: Hoare triple {10314#(= (+ (* (* 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; {10310#(= (+ (* 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:14:19,549 INFO L290 TraceCheckUtils]: 43: Hoare triple {10318#(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; {10314#(= (+ (* (* 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:14:19,549 INFO L290 TraceCheckUtils]: 42: Hoare triple {10318#(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); {10318#(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:14:19,550 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} {10325#(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; {10318#(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:14:19,550 INFO L290 TraceCheckUtils]: 40: Hoare triple {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:14:19,551 INFO L290 TraceCheckUtils]: 39: Hoare triple {10335#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10230#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:14:19,551 INFO L290 TraceCheckUtils]: 38: Hoare triple {10130#true} ~cond := #in~cond; {10335#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:14:19,551 INFO L272 TraceCheckUtils]: 37: Hoare triple {10325#(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)); {10130#true} is VALID [2022-04-28 11:14:19,552 INFO L290 TraceCheckUtils]: 36: Hoare triple {10130#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10325#(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:14:19,552 INFO L290 TraceCheckUtils]: 35: Hoare triple {10130#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10130#true} is VALID [2022-04-28 11:14:19,552 INFO L290 TraceCheckUtils]: 34: Hoare triple {10130#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10130#true} is VALID [2022-04-28 11:14:19,552 INFO L290 TraceCheckUtils]: 33: Hoare triple {10130#true} assume !!(~x~0 <= ~X~0); {10130#true} is VALID [2022-04-28 11:14:19,552 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10130#true} {10130#true} #65#return; {10130#true} is VALID [2022-04-28 11:14:19,552 INFO L290 TraceCheckUtils]: 31: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 11:14:19,552 INFO L290 TraceCheckUtils]: 30: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-28 11:14:19,552 INFO L290 TraceCheckUtils]: 29: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-28 11:14:19,552 INFO L272 TraceCheckUtils]: 28: Hoare triple {10130#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10130#true} is VALID [2022-04-28 11:14:19,553 INFO L290 TraceCheckUtils]: 27: Hoare triple {10130#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10130#true} is VALID [2022-04-28 11:14:19,553 INFO L290 TraceCheckUtils]: 26: Hoare triple {10130#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10130#true} is VALID [2022-04-28 11:14:19,553 INFO L290 TraceCheckUtils]: 25: Hoare triple {10130#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; {10130#true} is VALID [2022-04-28 11:14:19,553 INFO L290 TraceCheckUtils]: 24: Hoare triple {10130#true} assume !!(~x~0 <= ~X~0); {10130#true} is VALID [2022-04-28 11:14:19,553 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10130#true} {10130#true} #65#return; {10130#true} is VALID [2022-04-28 11:14:19,553 INFO L290 TraceCheckUtils]: 22: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 11:14:19,553 INFO L290 TraceCheckUtils]: 21: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-28 11:14:19,553 INFO L290 TraceCheckUtils]: 20: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-28 11:14:19,553 INFO L272 TraceCheckUtils]: 19: Hoare triple {10130#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10130#true} is VALID [2022-04-28 11:14:19,553 INFO L290 TraceCheckUtils]: 18: Hoare triple {10130#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10130#true} is VALID [2022-04-28 11:14:19,553 INFO L290 TraceCheckUtils]: 17: Hoare triple {10130#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10130#true} is VALID [2022-04-28 11:14:19,553 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10130#true} {10130#true} #63#return; {10130#true} is VALID [2022-04-28 11:14:19,553 INFO L290 TraceCheckUtils]: 15: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 11:14:19,553 INFO L290 TraceCheckUtils]: 14: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-28 11:14:19,553 INFO L290 TraceCheckUtils]: 13: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-28 11:14:19,554 INFO L272 TraceCheckUtils]: 12: Hoare triple {10130#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {10130#true} is VALID [2022-04-28 11:14:19,554 INFO L290 TraceCheckUtils]: 11: Hoare triple {10130#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10130#true} is VALID [2022-04-28 11:14:19,554 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10130#true} {10130#true} #61#return; {10130#true} is VALID [2022-04-28 11:14:19,554 INFO L290 TraceCheckUtils]: 9: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 11:14:19,554 INFO L290 TraceCheckUtils]: 8: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-28 11:14:19,554 INFO L290 TraceCheckUtils]: 7: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-28 11:14:19,554 INFO L272 TraceCheckUtils]: 6: Hoare triple {10130#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {10130#true} is VALID [2022-04-28 11:14:19,554 INFO L290 TraceCheckUtils]: 5: Hoare triple {10130#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; {10130#true} is VALID [2022-04-28 11:14:19,554 INFO L272 TraceCheckUtils]: 4: Hoare triple {10130#true} call #t~ret8 := main(); {10130#true} is VALID [2022-04-28 11:14:19,554 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10130#true} {10130#true} #69#return; {10130#true} is VALID [2022-04-28 11:14:19,555 INFO L290 TraceCheckUtils]: 2: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 11:14:19,555 INFO L290 TraceCheckUtils]: 1: Hoare triple {10130#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); {10130#true} is VALID [2022-04-28 11:14:19,555 INFO L272 TraceCheckUtils]: 0: Hoare triple {10130#true} call ULTIMATE.init(); {10130#true} is VALID [2022-04-28 11:14:19,555 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:14:19,555 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:14:19,555 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [17128199] [2022-04-28 11:14:19,555 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:14:19,556 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1650348907] [2022-04-28 11:14:19,556 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1650348907] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:14:19,556 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:14:19,556 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 11] total 23 [2022-04-28 11:14:19,556 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:14:19,556 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1610642608] [2022-04-28 11:14:19,556 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1610642608] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:14:19,556 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:14:19,556 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 11:14:19,556 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1071076421] [2022-04-28 11:14:19,556 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:14:19,557 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:14:19,557 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:14:19,557 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:14:19,613 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:14:19,613 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 11:14:19,613 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:14:19,613 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 11:14:19,613 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=431, Unknown=0, NotChecked=0, Total=506 [2022-04-28 11:14:19,614 INFO L87 Difference]: Start difference. First operand 109 states and 124 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:14:21,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:14:21,930 INFO L93 Difference]: Finished difference Result 122 states and 139 transitions. [2022-04-28 11:14:21,931 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 11:14:21,931 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:14:21,931 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:14:21,931 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:14:21,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 64 transitions. [2022-04-28 11:14:21,932 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:14:21,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 64 transitions. [2022-04-28 11:14:21,933 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 64 transitions. [2022-04-28 11:14:22,009 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:22,011 INFO L225 Difference]: With dead ends: 122 [2022-04-28 11:14:22,011 INFO L226 Difference]: Without dead ends: 120 [2022-04-28 11:14:22,011 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 76 SyntacticMatches, 2 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 103 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=112, Invalid=644, Unknown=0, NotChecked=0, Total=756 [2022-04-28 11:14:22,012 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 19 mSDsluCounter, 191 mSDsCounter, 0 mSdLazyCounter, 477 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 486 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 477 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 11:14:22,012 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 219 Invalid, 486 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 477 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 11:14:22,012 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2022-04-28 11:14:22,326 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 116. [2022-04-28 11:14:22,327 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:14:22,327 INFO L82 GeneralOperation]: Start isEquivalent. First operand 120 states. Second operand has 116 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 88 states have internal predecessors, (95), 19 states have call successors, (19), 12 states have call predecessors, (19), 11 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:14:22,327 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand has 116 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 88 states have internal predecessors, (95), 19 states have call successors, (19), 12 states have call predecessors, (19), 11 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:14:22,327 INFO L87 Difference]: Start difference. First operand 120 states. Second operand has 116 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 88 states have internal predecessors, (95), 19 states have call successors, (19), 12 states have call predecessors, (19), 11 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:14:22,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:14:22,330 INFO L93 Difference]: Finished difference Result 120 states and 137 transitions. [2022-04-28 11:14:22,330 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 137 transitions. [2022-04-28 11:14:22,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:14:22,330 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:14:22,330 INFO L74 IsIncluded]: Start isIncluded. First operand has 116 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 88 states have internal predecessors, (95), 19 states have call successors, (19), 12 states have call predecessors, (19), 11 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 120 states. [2022-04-28 11:14:22,330 INFO L87 Difference]: Start difference. First operand has 116 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 88 states have internal predecessors, (95), 19 states have call successors, (19), 12 states have call predecessors, (19), 11 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 120 states. [2022-04-28 11:14:22,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:14:22,333 INFO L93 Difference]: Finished difference Result 120 states and 137 transitions. [2022-04-28 11:14:22,333 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 137 transitions. [2022-04-28 11:14:22,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:14:22,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:14:22,333 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:14:22,333 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:14:22,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 116 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 88 states have internal predecessors, (95), 19 states have call successors, (19), 12 states have call predecessors, (19), 11 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:14:22,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 131 transitions. [2022-04-28 11:14:22,336 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 131 transitions. Word has length 50 [2022-04-28 11:14:22,336 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:14:22,336 INFO L495 AbstractCegarLoop]: Abstraction has 116 states and 131 transitions. [2022-04-28 11:14:22,336 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:14:22,336 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 116 states and 131 transitions. [2022-04-28 11:14:22,723 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:14:22,723 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 131 transitions. [2022-04-28 11:14:22,723 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:14:22,723 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:14:22,724 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:14:22,739 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-28 11:14:22,924 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:14:22,924 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:14:22,924 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:14:22,924 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 13 times [2022-04-28 11:14:22,925 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:14:22,925 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [260592318] [2022-04-28 11:14:22,925 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:14:22,925 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 14 times [2022-04-28 11:14:22,925 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:14:22,925 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1715713179] [2022-04-28 11:14:22,925 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:14:22,925 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:14:22,934 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:14:22,934 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1959856096] [2022-04-28 11:14:22,934 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:14:22,934 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:14:22,935 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:14:22,935 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:14:22,939 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:14:22,980 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:14:22,980 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:14:22,981 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 11:14:22,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:14:23,000 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:14:32,735 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:14:40,782 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:14:44,842 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:16:04,613 INFO L272 TraceCheckUtils]: 0: Hoare triple {11178#true} call ULTIMATE.init(); {11178#true} is VALID [2022-04-28 11:16:04,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {11178#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); {11178#true} is VALID [2022-04-28 11:16:04,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 11:16:04,613 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11178#true} {11178#true} #69#return; {11178#true} is VALID [2022-04-28 11:16:04,614 INFO L272 TraceCheckUtils]: 4: Hoare triple {11178#true} call #t~ret8 := main(); {11178#true} is VALID [2022-04-28 11:16:04,614 INFO L290 TraceCheckUtils]: 5: Hoare triple {11178#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; {11178#true} is VALID [2022-04-28 11:16:04,614 INFO L272 TraceCheckUtils]: 6: Hoare triple {11178#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {11178#true} is VALID [2022-04-28 11:16:04,614 INFO L290 TraceCheckUtils]: 7: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-28 11:16:04,614 INFO L290 TraceCheckUtils]: 8: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-28 11:16:04,614 INFO L290 TraceCheckUtils]: 9: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 11:16:04,614 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11178#true} {11178#true} #61#return; {11178#true} is VALID [2022-04-28 11:16:04,614 INFO L290 TraceCheckUtils]: 11: Hoare triple {11178#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11178#true} is VALID [2022-04-28 11:16:04,614 INFO L272 TraceCheckUtils]: 12: Hoare triple {11178#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {11178#true} is VALID [2022-04-28 11:16:04,614 INFO L290 TraceCheckUtils]: 13: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-28 11:16:04,614 INFO L290 TraceCheckUtils]: 14: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-28 11:16:04,614 INFO L290 TraceCheckUtils]: 15: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 11:16:04,614 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11178#true} {11178#true} #63#return; {11178#true} is VALID [2022-04-28 11:16:04,615 INFO L290 TraceCheckUtils]: 17: Hoare triple {11178#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11234#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-28 11:16:04,615 INFO L290 TraceCheckUtils]: 18: Hoare triple {11234#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11234#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-28 11:16:04,615 INFO L272 TraceCheckUtils]: 19: Hoare triple {11234#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11178#true} is VALID [2022-04-28 11:16:04,615 INFO L290 TraceCheckUtils]: 20: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-28 11:16:04,615 INFO L290 TraceCheckUtils]: 21: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-28 11:16:04,615 INFO L290 TraceCheckUtils]: 22: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 11:16:04,616 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11178#true} {11234#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} #65#return; {11234#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-28 11:16:04,616 INFO L290 TraceCheckUtils]: 24: Hoare triple {11234#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {11234#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-28 11:16:04,617 INFO L290 TraceCheckUtils]: 25: Hoare triple {11234#(and (= main_~x~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11259#(and (= main_~x~0 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:16:04,618 INFO L290 TraceCheckUtils]: 26: Hoare triple {11259#(and (= main_~x~0 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11263#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:16:04,618 INFO L290 TraceCheckUtils]: 27: Hoare triple {11263#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ 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; {11267#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:16:04,618 INFO L272 TraceCheckUtils]: 28: Hoare triple {11267#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 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)); {11178#true} is VALID [2022-04-28 11:16:04,619 INFO L290 TraceCheckUtils]: 29: Hoare triple {11178#true} ~cond := #in~cond; {11274#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:04,619 INFO L290 TraceCheckUtils]: 30: Hoare triple {11274#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:04,619 INFO L290 TraceCheckUtils]: 31: Hoare triple {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:04,620 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} {11267#(and (= (+ (- 1) main_~x~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} #65#return; {11285#(and (= (+ (- 1) 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_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:16:04,621 INFO L290 TraceCheckUtils]: 33: Hoare triple {11285#(and (= (+ (- 1) 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_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {11289#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 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)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 11:16:04,623 INFO L290 TraceCheckUtils]: 34: Hoare triple {11289#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 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)) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 3) (* (- 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; {11293#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* (- 2) main_~X~0) (* main_~Y~0 4))) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-28 11:16:04,623 INFO L290 TraceCheckUtils]: 35: Hoare triple {11293#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* (- 2) main_~X~0) (* main_~Y~0 4))) (not (< (* main_~Y~0 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11297#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* (- 2) main_~X~0) (* main_~Y~0 4)) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 1 main_~X~0))} is VALID [2022-04-28 11:16:04,624 INFO L290 TraceCheckUtils]: 36: Hoare triple {11297#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* (- 2) main_~X~0) (* main_~Y~0 4)) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 1 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11301#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* (- 2) main_~X~0) (* main_~Y~0 4)) (* main_~Y~0 4)) (<= 2 main_~x~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= 1 main_~X~0))} is VALID [2022-04-28 11:16:04,624 INFO L272 TraceCheckUtils]: 37: Hoare triple {11301#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* (- 2) main_~X~0) (* main_~Y~0 4)) (* main_~Y~0 4)) (<= 2 main_~x~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~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)); {11178#true} is VALID [2022-04-28 11:16:04,624 INFO L290 TraceCheckUtils]: 38: Hoare triple {11178#true} ~cond := #in~cond; {11274#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:04,625 INFO L290 TraceCheckUtils]: 39: Hoare triple {11274#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:04,625 INFO L290 TraceCheckUtils]: 40: Hoare triple {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:04,626 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} {11301#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* (- 2) main_~X~0) (* main_~Y~0 4)) (* main_~Y~0 4)) (<= 2 main_~x~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= 1 main_~X~0))} #65#return; {11317#(and (= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= 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)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} is VALID [2022-04-28 11:16:04,627 INFO L290 TraceCheckUtils]: 42: Hoare triple {11317#(and (= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= 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)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} assume !!(~x~0 <= ~X~0); {11317#(and (= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= 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)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} is VALID [2022-04-28 11:16:04,628 INFO L290 TraceCheckUtils]: 43: Hoare triple {11317#(and (= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= 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)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11324#(and (= (* main_~Y~0 6) (+ (* main_~Y~0 main_~x~0 2) (* main_~X~0 4) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~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))) (= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (<= 1 main_~X~0))} is VALID [2022-04-28 11:16:04,629 INFO L290 TraceCheckUtils]: 44: Hoare triple {11324#(and (= (* main_~Y~0 6) (+ (* main_~Y~0 main_~x~0 2) (* main_~X~0 4) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~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))) (= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (<= 1 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11328#(and (= (+ (* main_~X~0 4) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 6)) (= 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_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (<= 1 main_~X~0))} is VALID [2022-04-28 11:16:04,632 INFO L290 TraceCheckUtils]: 45: Hoare triple {11328#(and (= (+ (* main_~X~0 4) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 6)) (= 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_~X~0 main_~y~0) 2) (* main_~X~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (<= 1 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11332#(and (= (mod (+ (div (+ main_~X~0 main_~v~0) 2) (* (div (* main_~X~0 2) main_~X~0) main_~X~0) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) (* main_~Y~0 6)) (+ (* main_~X~0 4) (* (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (div (* main_~X~0 2) main_~X~0) main_~X~0) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) 2))) (= (* (div (* main_~X~0 2) main_~X~0) main_~X~0) main_~xy~0) (<= main_~X~0 (* main_~Y~0 2)) (= (mod (+ main_~X~0 main_~v~0 (* (div (* main_~X~0 2) main_~X~0) main_~X~0 2)) 2) 0) (<= 1 main_~X~0) (= (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (div (* main_~X~0 2) main_~X~0) main_~X~0) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0))} is VALID [2022-04-28 11:16:04,634 INFO L272 TraceCheckUtils]: 46: Hoare triple {11332#(and (= (mod (+ (div (+ main_~X~0 main_~v~0) 2) (* (div (* main_~X~0 2) main_~X~0) main_~X~0) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) (* main_~Y~0 6)) (+ (* main_~X~0 4) (* (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (div (* main_~X~0 2) main_~X~0) main_~X~0) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) 2))) (= (* (div (* main_~X~0 2) main_~X~0) main_~X~0) main_~xy~0) (<= main_~X~0 (* main_~Y~0 2)) (= (mod (+ main_~X~0 main_~v~0 (* (div (* main_~X~0 2) main_~X~0) main_~X~0 2)) 2) 0) (<= 1 main_~X~0) (= (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (div (* main_~X~0 2) main_~X~0) main_~X~0) (* (- 1) main_~Y~0)) main_~Y~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)); {11336#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:16:04,634 INFO L290 TraceCheckUtils]: 47: Hoare triple {11336#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11340#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:04,635 INFO L290 TraceCheckUtils]: 48: Hoare triple {11340#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11179#false} is VALID [2022-04-28 11:16:04,635 INFO L290 TraceCheckUtils]: 49: Hoare triple {11179#false} assume !false; {11179#false} is VALID [2022-04-28 11:16:04,635 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:16:04,635 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:16:11,891 INFO L290 TraceCheckUtils]: 49: Hoare triple {11179#false} assume !false; {11179#false} is VALID [2022-04-28 11:16:11,891 INFO L290 TraceCheckUtils]: 48: Hoare triple {11340#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11179#false} is VALID [2022-04-28 11:16:11,892 INFO L290 TraceCheckUtils]: 47: Hoare triple {11336#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11340#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:16:11,893 INFO L272 TraceCheckUtils]: 46: Hoare triple {11356#(= (+ (* 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)); {11336#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:16:11,894 INFO L290 TraceCheckUtils]: 45: Hoare triple {11360#(= (+ (* 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; {11356#(= (+ (* 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:11,896 INFO L290 TraceCheckUtils]: 44: Hoare triple {11364#(= (+ (* (* 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; {11360#(= (+ (* 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:11,897 INFO L290 TraceCheckUtils]: 43: Hoare triple {11360#(= (+ (* 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; {11364#(= (+ (* (* 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:11,897 INFO L290 TraceCheckUtils]: 42: Hoare triple {11360#(= (+ (* 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); {11360#(= (+ (* 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:11,898 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} {11374#(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; {11360#(= (+ (* 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:11,899 INFO L290 TraceCheckUtils]: 40: Hoare triple {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:11,899 INFO L290 TraceCheckUtils]: 39: Hoare triple {11384#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11278#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:16:11,900 INFO L290 TraceCheckUtils]: 38: Hoare triple {11178#true} ~cond := #in~cond; {11384#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:16:11,900 INFO L272 TraceCheckUtils]: 37: Hoare triple {11374#(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)); {11178#true} is VALID [2022-04-28 11:16:11,901 INFO L290 TraceCheckUtils]: 36: Hoare triple {11178#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11374#(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:11,901 INFO L290 TraceCheckUtils]: 35: Hoare triple {11178#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11178#true} is VALID [2022-04-28 11:16:11,901 INFO L290 TraceCheckUtils]: 34: Hoare triple {11178#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; {11178#true} is VALID [2022-04-28 11:16:11,901 INFO L290 TraceCheckUtils]: 33: Hoare triple {11178#true} assume !!(~x~0 <= ~X~0); {11178#true} is VALID [2022-04-28 11:16:11,901 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11178#true} {11178#true} #65#return; {11178#true} is VALID [2022-04-28 11:16:11,901 INFO L290 TraceCheckUtils]: 31: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 11:16:11,901 INFO L290 TraceCheckUtils]: 30: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-28 11:16:11,901 INFO L290 TraceCheckUtils]: 29: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-28 11:16:11,902 INFO L272 TraceCheckUtils]: 28: Hoare triple {11178#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11178#true} is VALID [2022-04-28 11:16:11,902 INFO L290 TraceCheckUtils]: 27: Hoare triple {11178#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11178#true} is VALID [2022-04-28 11:16:11,902 INFO L290 TraceCheckUtils]: 26: Hoare triple {11178#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11178#true} is VALID [2022-04-28 11:16:11,902 INFO L290 TraceCheckUtils]: 25: Hoare triple {11178#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; {11178#true} is VALID [2022-04-28 11:16:11,902 INFO L290 TraceCheckUtils]: 24: Hoare triple {11178#true} assume !!(~x~0 <= ~X~0); {11178#true} is VALID [2022-04-28 11:16:11,902 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11178#true} {11178#true} #65#return; {11178#true} is VALID [2022-04-28 11:16:11,902 INFO L290 TraceCheckUtils]: 22: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 11:16:11,902 INFO L290 TraceCheckUtils]: 21: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-28 11:16:11,902 INFO L290 TraceCheckUtils]: 20: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-28 11:16:11,902 INFO L272 TraceCheckUtils]: 19: Hoare triple {11178#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11178#true} is VALID [2022-04-28 11:16:11,903 INFO L290 TraceCheckUtils]: 18: Hoare triple {11178#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11178#true} is VALID [2022-04-28 11:16:11,903 INFO L290 TraceCheckUtils]: 17: Hoare triple {11178#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11178#true} is VALID [2022-04-28 11:16:11,903 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11178#true} {11178#true} #63#return; {11178#true} is VALID [2022-04-28 11:16:11,903 INFO L290 TraceCheckUtils]: 15: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 11:16:11,903 INFO L290 TraceCheckUtils]: 14: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-28 11:16:11,903 INFO L290 TraceCheckUtils]: 13: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-28 11:16:11,903 INFO L272 TraceCheckUtils]: 12: Hoare triple {11178#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {11178#true} is VALID [2022-04-28 11:16:11,903 INFO L290 TraceCheckUtils]: 11: Hoare triple {11178#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11178#true} is VALID [2022-04-28 11:16:11,903 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11178#true} {11178#true} #61#return; {11178#true} is VALID [2022-04-28 11:16:11,903 INFO L290 TraceCheckUtils]: 9: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 11:16:11,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-28 11:16:11,904 INFO L290 TraceCheckUtils]: 7: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-28 11:16:11,904 INFO L272 TraceCheckUtils]: 6: Hoare triple {11178#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {11178#true} is VALID [2022-04-28 11:16:11,904 INFO L290 TraceCheckUtils]: 5: Hoare triple {11178#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; {11178#true} is VALID [2022-04-28 11:16:11,904 INFO L272 TraceCheckUtils]: 4: Hoare triple {11178#true} call #t~ret8 := main(); {11178#true} is VALID [2022-04-28 11:16:11,904 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11178#true} {11178#true} #69#return; {11178#true} is VALID [2022-04-28 11:16:11,904 INFO L290 TraceCheckUtils]: 2: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 11:16:11,904 INFO L290 TraceCheckUtils]: 1: Hoare triple {11178#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); {11178#true} is VALID [2022-04-28 11:16:11,904 INFO L272 TraceCheckUtils]: 0: Hoare triple {11178#true} call ULTIMATE.init(); {11178#true} is VALID [2022-04-28 11:16:11,905 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:16:11,905 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:16:11,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1715713179] [2022-04-28 11:16:11,905 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:16:11,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1959856096] [2022-04-28 11:16:11,905 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1959856096] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:16:11,905 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:16:11,905 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 10] total 24 [2022-04-28 11:16:11,906 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:16:11,906 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [260592318] [2022-04-28 11:16:11,906 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [260592318] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:16:11,906 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:16:11,906 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 11:16:11,906 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [89148982] [2022-04-28 11:16:11,906 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:16:11,906 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 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:16:11,907 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:16:11,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 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:16:11,960 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:16:11,960 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 11:16:11,960 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:16:11,960 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 11:16:11,960 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=483, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:16:11,961 INFO L87 Difference]: Start difference. First operand 116 states and 131 transitions. Second operand has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 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:16:17,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:17,367 INFO L93 Difference]: Finished difference Result 134 states and 151 transitions. [2022-04-28 11:16:17,367 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 11:16:17,367 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 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:16:17,367 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:16:17,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 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:16:17,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 65 transitions. [2022-04-28 11:16:17,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 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:16:17,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 65 transitions. [2022-04-28 11:16:17,370 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 65 transitions. [2022-04-28 11:16:17,449 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:17,451 INFO L225 Difference]: With dead ends: 134 [2022-04-28 11:16:17,451 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 11:16:17,452 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 75 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 137 ImplicationChecksByTransitivity, 4.2s TimeCoverageRelationStatistics Valid=115, Invalid=755, Unknown=0, NotChecked=0, Total=870 [2022-04-28 11:16:17,452 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 20 mSDsluCounter, 233 mSDsCounter, 0 mSdLazyCounter, 617 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 261 SdHoareTripleChecker+Invalid, 625 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 617 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:16:17,453 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 261 Invalid, 625 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 617 Invalid, 0 Unknown, 0 Unchecked, 2.0s Time] [2022-04-28 11:16:17,453 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 11:16:17,830 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 121. [2022-04-28 11:16:17,830 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:16:17,830 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:16:17,830 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:16:17,831 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:16:17,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:17,833 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-28 11:16:17,833 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-28 11:16:17,834 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:16:17,834 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:16:17,834 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-28 11:16:17,834 INFO L87 Difference]: Start difference. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-28 11:16:17,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:16:17,837 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-28 11:16:17,837 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-28 11:16:17,837 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:16:17,838 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:16:17,838 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:16:17,838 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:16:17,838 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:16:17,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-28 11:16:17,840 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 50 [2022-04-28 11:16:17,840 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:16:17,841 INFO L495 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-28 11:16:17,841 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 16 states have (on average 1.875) internal successors, (30), 17 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:16:17,841 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-28 11:16:18,332 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:16:18,332 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-28 11:16:18,332 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:16:18,332 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:16:18,333 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:16:18,349 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:16:18,533 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:16:18,533 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:16:18,533 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:16:18,534 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 5 times [2022-04-28 11:16:18,534 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:16:18,534 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [378303798] [2022-04-28 11:16:18,534 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:16:18,534 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 6 times [2022-04-28 11:16:18,534 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:16:18,534 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [722208068] [2022-04-28 11:16:18,534 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:16:18,535 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:16:18,545 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:16:18,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [644340427] [2022-04-28 11:16:18,545 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:16:18,546 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:16:18,546 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:16:18,547 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:16:18,562 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:16:18,601 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 11:16:18,601 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:16:18,602 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 11:16:18,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:16:18,617 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:16:33,037 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:16:41,878 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:16:47,566 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:16:50,789 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:16:54,500 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:17:02,013 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:17:07,090 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:20:09,277 INFO L272 TraceCheckUtils]: 0: Hoare triple {12287#true} call ULTIMATE.init(); {12287#true} is VALID [2022-04-28 11:20:09,277 INFO L290 TraceCheckUtils]: 1: Hoare triple {12287#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); {12287#true} is VALID [2022-04-28 11:20:09,277 INFO L290 TraceCheckUtils]: 2: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 11:20:09,277 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12287#true} {12287#true} #69#return; {12287#true} is VALID [2022-04-28 11:20:09,277 INFO L272 TraceCheckUtils]: 4: Hoare triple {12287#true} call #t~ret8 := main(); {12287#true} is VALID [2022-04-28 11:20:09,278 INFO L290 TraceCheckUtils]: 5: Hoare triple {12287#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; {12287#true} is VALID [2022-04-28 11:20:09,278 INFO L272 TraceCheckUtils]: 6: Hoare triple {12287#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {12287#true} is VALID [2022-04-28 11:20:09,278 INFO L290 TraceCheckUtils]: 7: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 11:20:09,278 INFO L290 TraceCheckUtils]: 8: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 11:20:09,278 INFO L290 TraceCheckUtils]: 9: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 11:20:09,278 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12287#true} {12287#true} #61#return; {12287#true} is VALID [2022-04-28 11:20:09,278 INFO L290 TraceCheckUtils]: 11: Hoare triple {12287#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12287#true} is VALID [2022-04-28 11:20:09,278 INFO L272 TraceCheckUtils]: 12: Hoare triple {12287#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {12287#true} is VALID [2022-04-28 11:20:09,278 INFO L290 TraceCheckUtils]: 13: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 11:20:09,278 INFO L290 TraceCheckUtils]: 14: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 11:20:09,278 INFO L290 TraceCheckUtils]: 15: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 11:20:09,278 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12287#true} {12287#true} #63#return; {12287#true} is VALID [2022-04-28 11:20:09,279 INFO L290 TraceCheckUtils]: 17: Hoare triple {12287#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12343#(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:20:09,279 INFO L290 TraceCheckUtils]: 18: Hoare triple {12343#(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; {12343#(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:20:09,279 INFO L272 TraceCheckUtils]: 19: Hoare triple {12343#(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)); {12287#true} is VALID [2022-04-28 11:20:09,279 INFO L290 TraceCheckUtils]: 20: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 11:20:09,279 INFO L290 TraceCheckUtils]: 21: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 11:20:09,279 INFO L290 TraceCheckUtils]: 22: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 11:20:09,280 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12287#true} {12343#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {12343#(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:20:09,280 INFO L290 TraceCheckUtils]: 24: Hoare triple {12343#(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); {12365#(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:20:09,281 INFO L290 TraceCheckUtils]: 25: Hoare triple {12365#(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; {12369#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~y~0 1))} is VALID [2022-04-28 11:20:09,282 INFO L290 TraceCheckUtils]: 26: Hoare triple {12369#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12373#(and (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~y~0 1))} is VALID [2022-04-28 11:20:09,282 INFO L290 TraceCheckUtils]: 27: Hoare triple {12373#(and (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12373#(and (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~y~0 1))} is VALID [2022-04-28 11:20:09,282 INFO L272 TraceCheckUtils]: 28: Hoare triple {12373#(and (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12287#true} is VALID [2022-04-28 11:20:09,282 INFO L290 TraceCheckUtils]: 29: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 11:20:09,283 INFO L290 TraceCheckUtils]: 30: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 11:20:09,283 INFO L290 TraceCheckUtils]: 31: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 11:20:09,283 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12287#true} {12373#(and (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~y~0 1))} #65#return; {12373#(and (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~y~0 1))} is VALID [2022-04-28 11:20:09,284 INFO L290 TraceCheckUtils]: 33: Hoare triple {12373#(and (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~y~0 1))} assume !!(~x~0 <= ~X~0); {12373#(and (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~y~0 1))} is VALID [2022-04-28 11:20:09,285 INFO L290 TraceCheckUtils]: 34: Hoare triple {12373#(and (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~y~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; {12398#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= 1 main_~x~0) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (<= 0 main_~X~0))} is VALID [2022-04-28 11:20:09,285 INFO L290 TraceCheckUtils]: 35: Hoare triple {12398#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= 1 main_~x~0) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12402#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (<= 2 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:20:09,286 INFO L290 TraceCheckUtils]: 36: Hoare triple {12402#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (<= 2 main_~x~0) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12406#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 11:20:09,286 INFO L272 TraceCheckUtils]: 37: Hoare triple {12406#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12287#true} is VALID [2022-04-28 11:20:09,286 INFO L290 TraceCheckUtils]: 38: Hoare triple {12287#true} ~cond := #in~cond; {12413#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:20:09,286 INFO L290 TraceCheckUtils]: 39: Hoare triple {12413#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:20:09,287 INFO L290 TraceCheckUtils]: 40: Hoare triple {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:20:09,288 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} {12406#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {12424#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:20:09,289 INFO L290 TraceCheckUtils]: 42: Hoare triple {12424#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (<= main_~y~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {12428#(and (<= main_~x~0 main_~X~0) (<= main_~y~0 2) (<= 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)) (<= 2 main_~x~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} is VALID [2022-04-28 11:20:09,291 INFO L290 TraceCheckUtils]: 43: Hoare triple {12428#(and (<= main_~x~0 main_~X~0) (<= main_~y~0 2) (<= 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)) (<= 2 main_~x~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)))} 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; {12432#(and (<= main_~x~0 main_~X~0) (<= main_~y~0 3) (= 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_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (= (+ (* main_~Y~0 main_~x~0 2) (* main_~X~0 6) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (* main_~Y~0 6)))} is VALID [2022-04-28 11:20:09,293 INFO L290 TraceCheckUtils]: 44: Hoare triple {12432#(and (<= main_~x~0 main_~X~0) (<= main_~y~0 3) (= 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_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0) (= (+ (* main_~Y~0 main_~x~0 2) (* main_~X~0 6) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (* main_~Y~0 6)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12436#(and (<= main_~y~0 3) (= 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_~X~0 (* main_~Y~0 2)) (= (+ (* main_~X~0 6) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 6)) (<= 3 main_~x~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:20:09,299 INFO L290 TraceCheckUtils]: 45: Hoare triple {12436#(and (<= main_~y~0 3) (= 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_~X~0 (* main_~Y~0 2)) (= (+ (* main_~X~0 6) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (* main_~Y~0 6)) (<= 3 main_~x~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12440#(and (<= 3 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~X~0 6) (* main_~Y~0 2 (+ (- 1) (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0))) (* main_~Y~0 2) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) (* main_~Y~0 6)) (= (mod (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (<= (div main_~xy~0 main_~X~0) 3) (<= (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) (+ main_~X~0 1)) (= (mod main_~xy~0 main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) 2) 0))} is VALID [2022-04-28 11:20:09,301 INFO L272 TraceCheckUtils]: 46: Hoare triple {12440#(and (<= 3 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) (<= main_~X~0 (* main_~Y~0 2)) (= (+ (* main_~X~0 6) (* main_~Y~0 2 (+ (- 1) (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0))) (* main_~Y~0 2) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0)) (* main_~Y~0 6)) (= (mod (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) 0) (= (* main_~Y~0 (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0)) main_~yx~0) (<= (div main_~xy~0 main_~X~0) 3) (<= (div (+ (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~Y~0) (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) (- 2))) main_~Y~0) (+ main_~X~0 1)) (= (mod main_~xy~0 main_~X~0) 0) (= (mod (+ main_~X~0 main_~v~0 (* (- 2) (div main_~xy~0 main_~X~0) main_~X~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)); {12444#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:20:09,301 INFO L290 TraceCheckUtils]: 47: Hoare triple {12444#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12448#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:20:09,302 INFO L290 TraceCheckUtils]: 48: Hoare triple {12448#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12288#false} is VALID [2022-04-28 11:20:09,302 INFO L290 TraceCheckUtils]: 49: Hoare triple {12288#false} assume !false; {12288#false} is VALID [2022-04-28 11:20:09,302 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:20:09,302 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:20:14,837 INFO L290 TraceCheckUtils]: 49: Hoare triple {12288#false} assume !false; {12288#false} is VALID [2022-04-28 11:20:14,838 INFO L290 TraceCheckUtils]: 48: Hoare triple {12448#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12288#false} is VALID [2022-04-28 11:20:14,838 INFO L290 TraceCheckUtils]: 47: Hoare triple {12444#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12448#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:20:14,839 INFO L272 TraceCheckUtils]: 46: Hoare triple {12464#(= (+ (* 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)); {12444#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:20:14,839 INFO L290 TraceCheckUtils]: 45: Hoare triple {12468#(= (+ (* 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; {12464#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:20:14,842 INFO L290 TraceCheckUtils]: 44: Hoare triple {12472#(= (+ (* (* 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; {12468#(= (+ (* 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:20:14,843 INFO L290 TraceCheckUtils]: 43: Hoare triple {12468#(= (+ (* 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; {12472#(= (+ (* (* 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:20:14,844 INFO L290 TraceCheckUtils]: 42: Hoare triple {12479#(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); {12468#(= (+ (* 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:20:14,845 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} {12483#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {12479#(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:20:14,845 INFO L290 TraceCheckUtils]: 40: Hoare triple {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:20:14,845 INFO L290 TraceCheckUtils]: 39: Hoare triple {12493#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12417#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:20:14,846 INFO L290 TraceCheckUtils]: 38: Hoare triple {12287#true} ~cond := #in~cond; {12493#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:20:14,846 INFO L272 TraceCheckUtils]: 37: Hoare triple {12483#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12287#true} is VALID [2022-04-28 11:20:14,847 INFO L290 TraceCheckUtils]: 36: Hoare triple {12287#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12483#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 11:20:14,847 INFO L290 TraceCheckUtils]: 35: Hoare triple {12287#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12287#true} is VALID [2022-04-28 11:20:14,847 INFO L290 TraceCheckUtils]: 34: Hoare triple {12287#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; {12287#true} is VALID [2022-04-28 11:20:14,847 INFO L290 TraceCheckUtils]: 33: Hoare triple {12287#true} assume !!(~x~0 <= ~X~0); {12287#true} is VALID [2022-04-28 11:20:14,847 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12287#true} {12287#true} #65#return; {12287#true} is VALID [2022-04-28 11:20:14,847 INFO L290 TraceCheckUtils]: 31: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 11:20:14,847 INFO L290 TraceCheckUtils]: 30: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 11:20:14,847 INFO L290 TraceCheckUtils]: 29: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 11:20:14,847 INFO L272 TraceCheckUtils]: 28: Hoare triple {12287#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12287#true} is VALID [2022-04-28 11:20:14,847 INFO L290 TraceCheckUtils]: 27: Hoare triple {12287#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12287#true} is VALID [2022-04-28 11:20:14,847 INFO L290 TraceCheckUtils]: 26: Hoare triple {12287#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12287#true} is VALID [2022-04-28 11:20:14,847 INFO L290 TraceCheckUtils]: 25: Hoare triple {12287#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; {12287#true} is VALID [2022-04-28 11:20:14,848 INFO L290 TraceCheckUtils]: 24: Hoare triple {12287#true} assume !!(~x~0 <= ~X~0); {12287#true} is VALID [2022-04-28 11:20:14,848 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12287#true} {12287#true} #65#return; {12287#true} is VALID [2022-04-28 11:20:14,848 INFO L290 TraceCheckUtils]: 22: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 11:20:14,848 INFO L290 TraceCheckUtils]: 21: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 11:20:14,848 INFO L290 TraceCheckUtils]: 20: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 11:20:14,848 INFO L272 TraceCheckUtils]: 19: Hoare triple {12287#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12287#true} is VALID [2022-04-28 11:20:14,848 INFO L290 TraceCheckUtils]: 18: Hoare triple {12287#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12287#true} is VALID [2022-04-28 11:20:14,848 INFO L290 TraceCheckUtils]: 17: Hoare triple {12287#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12287#true} is VALID [2022-04-28 11:20:14,848 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12287#true} {12287#true} #63#return; {12287#true} is VALID [2022-04-28 11:20:14,848 INFO L290 TraceCheckUtils]: 15: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 11:20:14,848 INFO L290 TraceCheckUtils]: 14: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 11:20:14,848 INFO L290 TraceCheckUtils]: 13: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 11:20:14,849 INFO L272 TraceCheckUtils]: 12: Hoare triple {12287#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {12287#true} is VALID [2022-04-28 11:20:14,849 INFO L290 TraceCheckUtils]: 11: Hoare triple {12287#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12287#true} is VALID [2022-04-28 11:20:14,849 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12287#true} {12287#true} #61#return; {12287#true} is VALID [2022-04-28 11:20:14,849 INFO L290 TraceCheckUtils]: 9: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 11:20:14,849 INFO L290 TraceCheckUtils]: 8: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 11:20:14,849 INFO L290 TraceCheckUtils]: 7: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 11:20:14,849 INFO L272 TraceCheckUtils]: 6: Hoare triple {12287#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {12287#true} is VALID [2022-04-28 11:20:14,849 INFO L290 TraceCheckUtils]: 5: Hoare triple {12287#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; {12287#true} is VALID [2022-04-28 11:20:14,849 INFO L272 TraceCheckUtils]: 4: Hoare triple {12287#true} call #t~ret8 := main(); {12287#true} is VALID [2022-04-28 11:20:14,849 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12287#true} {12287#true} #69#return; {12287#true} is VALID [2022-04-28 11:20:14,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 11:20:14,850 INFO L290 TraceCheckUtils]: 1: Hoare triple {12287#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); {12287#true} is VALID [2022-04-28 11:20:14,850 INFO L272 TraceCheckUtils]: 0: Hoare triple {12287#true} call ULTIMATE.init(); {12287#true} is VALID [2022-04-28 11:20:14,850 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:20:14,850 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:20:14,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [722208068] [2022-04-28 11:20:14,850 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:20:14,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [644340427] [2022-04-28 11:20:14,851 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [644340427] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:20:14,851 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:20:14,851 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 11] total 24 [2022-04-28 11:20:14,851 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:20:14,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [378303798] [2022-04-28 11:20:14,851 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [378303798] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:20:14,851 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:20:14,851 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 11:20:14,851 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [170304005] [2022-04-28 11:20:14,851 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:20:14,852 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.875) 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:20:14,852 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:20:14,852 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 1.875) 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:20:14,927 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:20:14,927 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 11:20:14,927 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:20:14,928 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 11:20:14,928 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=473, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:20:14,928 INFO L87 Difference]: Start difference. First operand 121 states and 136 transitions. Second operand has 18 states, 16 states have (on average 1.875) 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:20:22,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:20:22,367 INFO L93 Difference]: Finished difference Result 134 states and 151 transitions. [2022-04-28 11:20:22,367 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 11:20:22,367 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.875) 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:20:22,367 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:20:22,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.875) 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:20:22,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 65 transitions. [2022-04-28 11:20:22,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.875) 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:20:22,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 65 transitions. [2022-04-28 11:20:22,369 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 65 transitions. [2022-04-28 11:20:22,460 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:20:22,462 INFO L225 Difference]: With dead ends: 134 [2022-04-28 11:20:22,462 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 11:20:22,462 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 75 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 138 ImplicationChecksByTransitivity, 3.4s TimeCoverageRelationStatistics Valid=122, Invalid=690, Unknown=0, NotChecked=0, Total=812 [2022-04-28 11:20:22,463 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 20 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 503 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 508 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 503 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-28 11:20:22,463 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 214 Invalid, 508 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 503 Invalid, 0 Unknown, 0 Unchecked, 2.3s Time] [2022-04-28 11:20:22,463 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 11:20:22,785 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 121. [2022-04-28 11:20:22,785 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:20:22,785 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:20:22,785 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:20:22,785 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:20:22,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:20:22,787 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-28 11:20:22,787 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-28 11:20:22,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:20:22,788 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:20:22,788 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-28 11:20:22,788 INFO L87 Difference]: Start difference. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 132 states. [2022-04-28 11:20:22,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:20:22,791 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-28 11:20:22,791 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-28 11:20:22,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:20:22,792 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:20:22,792 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:20:22,792 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:20:22,792 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:20:22,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-28 11:20:22,794 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 50 [2022-04-28 11:20:22,794 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:20:22,794 INFO L495 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-28 11:20:22,795 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 1.875) 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:20:22,795 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-28 11:20:23,345 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:20:23,345 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-28 11:20:23,345 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 11:20:23,345 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:20:23,345 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:20:23,361 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:20:23,546 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:20:23,546 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:20:23,546 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:20:23,546 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 3 times [2022-04-28 11:20:23,547 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:20:23,547 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1086621660] [2022-04-28 11:20:23,547 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:20:23,547 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 4 times [2022-04-28 11:20:23,547 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:20:23,547 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [6561055] [2022-04-28 11:20:23,547 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:20:23,547 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:20:23,565 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:20:23,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [621635120] [2022-04-28 11:20:23,566 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:20:23,566 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:20:23,566 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:20:23,567 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:20:23,570 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:20:23,605 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:20:23,606 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:20:23,606 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 11:20:23,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:20:23,617 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:20:24,607 INFO L272 TraceCheckUtils]: 0: Hoare triple {13394#true} call ULTIMATE.init(); {13394#true} is VALID [2022-04-28 11:20:24,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {13394#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); {13394#true} is VALID [2022-04-28 11:20:24,607 INFO L290 TraceCheckUtils]: 2: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 11:20:24,607 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13394#true} {13394#true} #69#return; {13394#true} is VALID [2022-04-28 11:20:24,607 INFO L272 TraceCheckUtils]: 4: Hoare triple {13394#true} call #t~ret8 := main(); {13394#true} is VALID [2022-04-28 11:20:24,607 INFO L290 TraceCheckUtils]: 5: Hoare triple {13394#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; {13394#true} is VALID [2022-04-28 11:20:24,608 INFO L272 TraceCheckUtils]: 6: Hoare triple {13394#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {13394#true} is VALID [2022-04-28 11:20:24,608 INFO L290 TraceCheckUtils]: 7: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 11:20:24,608 INFO L290 TraceCheckUtils]: 8: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 11:20:24,608 INFO L290 TraceCheckUtils]: 9: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 11:20:24,608 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13394#true} {13394#true} #61#return; {13394#true} is VALID [2022-04-28 11:20:24,608 INFO L290 TraceCheckUtils]: 11: Hoare triple {13394#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13394#true} is VALID [2022-04-28 11:20:24,608 INFO L272 TraceCheckUtils]: 12: Hoare triple {13394#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {13394#true} is VALID [2022-04-28 11:20:24,608 INFO L290 TraceCheckUtils]: 13: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 11:20:24,608 INFO L290 TraceCheckUtils]: 14: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 11:20:24,608 INFO L290 TraceCheckUtils]: 15: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 11:20:24,608 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13394#true} {13394#true} #63#return; {13394#true} is VALID [2022-04-28 11:20:24,609 INFO L290 TraceCheckUtils]: 17: Hoare triple {13394#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13450#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:20:24,609 INFO L290 TraceCheckUtils]: 18: Hoare triple {13450#(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; {13450#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:20:24,609 INFO L272 TraceCheckUtils]: 19: Hoare triple {13450#(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)); {13394#true} is VALID [2022-04-28 11:20:24,609 INFO L290 TraceCheckUtils]: 20: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 11:20:24,609 INFO L290 TraceCheckUtils]: 21: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 11:20:24,609 INFO L290 TraceCheckUtils]: 22: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 11:20:24,610 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13394#true} {13450#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {13450#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:20:24,610 INFO L290 TraceCheckUtils]: 24: Hoare triple {13450#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {13450#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:20:24,611 INFO L290 TraceCheckUtils]: 25: Hoare triple {13450#(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; {13475#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 0))} is VALID [2022-04-28 11:20:24,613 INFO L290 TraceCheckUtils]: 26: Hoare triple {13475#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 1))} is VALID [2022-04-28 11:20:24,613 INFO L290 TraceCheckUtils]: 27: Hoare triple {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 1))} is VALID [2022-04-28 11:20:24,613 INFO L272 TraceCheckUtils]: 28: Hoare triple {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 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)); {13394#true} is VALID [2022-04-28 11:20:24,613 INFO L290 TraceCheckUtils]: 29: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 11:20:24,614 INFO L290 TraceCheckUtils]: 30: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 11:20:24,614 INFO L290 TraceCheckUtils]: 31: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 11:20:24,614 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13394#true} {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 1))} #65#return; {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 1))} is VALID [2022-04-28 11:20:24,614 INFO L290 TraceCheckUtils]: 33: Hoare triple {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 1)) (<= main_~x~0 1))} is VALID [2022-04-28 11:20:24,616 INFO L290 TraceCheckUtils]: 34: Hoare triple {13479#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ main_~X~0 main_~v~0) 4) 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; {13504#(and (<= main_~x~0 1) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} is VALID [2022-04-28 11:20:24,616 INFO L290 TraceCheckUtils]: 35: Hoare triple {13504#(and (<= main_~x~0 1) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} is VALID [2022-04-28 11:20:24,617 INFO L290 TraceCheckUtils]: 36: Hoare triple {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} is VALID [2022-04-28 11:20:24,617 INFO L272 TraceCheckUtils]: 37: Hoare triple {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 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)); {13394#true} is VALID [2022-04-28 11:20:24,617 INFO L290 TraceCheckUtils]: 38: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 11:20:24,617 INFO L290 TraceCheckUtils]: 39: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 11:20:24,617 INFO L290 TraceCheckUtils]: 40: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 11:20:24,618 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13394#true} {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} #65#return; {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} is VALID [2022-04-28 11:20:24,618 INFO L290 TraceCheckUtils]: 42: Hoare triple {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} is VALID [2022-04-28 11:20:24,618 INFO L290 TraceCheckUtils]: 43: Hoare triple {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} is VALID [2022-04-28 11:20:24,619 INFO L290 TraceCheckUtils]: 44: Hoare triple {13508#(and (< (div (+ (- 1) main_~X~0) (- 2)) 0) (<= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13536#(and (<= main_~x~0 3) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} is VALID [2022-04-28 11:20:24,619 INFO L290 TraceCheckUtils]: 45: Hoare triple {13536#(and (<= main_~x~0 3) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13536#(and (<= main_~x~0 3) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} is VALID [2022-04-28 11:20:24,619 INFO L272 TraceCheckUtils]: 46: Hoare triple {13536#(and (<= main_~x~0 3) (< (div (+ (- 1) main_~X~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)); {13394#true} is VALID [2022-04-28 11:20:24,620 INFO L290 TraceCheckUtils]: 47: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 11:20:24,620 INFO L290 TraceCheckUtils]: 48: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 11:20:24,620 INFO L290 TraceCheckUtils]: 49: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 11:20:24,621 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13394#true} {13536#(and (<= main_~x~0 3) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} #65#return; {13536#(and (<= main_~x~0 3) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} is VALID [2022-04-28 11:20:24,621 INFO L290 TraceCheckUtils]: 51: Hoare triple {13536#(and (<= main_~x~0 3) (< (div (+ (- 1) main_~X~0) (- 2)) 0))} assume !(~x~0 <= ~X~0); {13395#false} is VALID [2022-04-28 11:20:24,621 INFO L290 TraceCheckUtils]: 52: Hoare triple {13395#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13395#false} is VALID [2022-04-28 11:20:24,621 INFO L272 TraceCheckUtils]: 53: Hoare triple {13395#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)); {13395#false} is VALID [2022-04-28 11:20:24,621 INFO L290 TraceCheckUtils]: 54: Hoare triple {13395#false} ~cond := #in~cond; {13395#false} is VALID [2022-04-28 11:20:24,621 INFO L290 TraceCheckUtils]: 55: Hoare triple {13395#false} assume 0 == ~cond; {13395#false} is VALID [2022-04-28 11:20:24,621 INFO L290 TraceCheckUtils]: 56: Hoare triple {13395#false} assume !false; {13395#false} is VALID [2022-04-28 11:20:24,622 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:20:24,622 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:20:24,950 INFO L290 TraceCheckUtils]: 56: Hoare triple {13395#false} assume !false; {13395#false} is VALID [2022-04-28 11:20:24,950 INFO L290 TraceCheckUtils]: 55: Hoare triple {13395#false} assume 0 == ~cond; {13395#false} is VALID [2022-04-28 11:20:24,950 INFO L290 TraceCheckUtils]: 54: Hoare triple {13395#false} ~cond := #in~cond; {13395#false} is VALID [2022-04-28 11:20:24,950 INFO L272 TraceCheckUtils]: 53: Hoare triple {13395#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)); {13395#false} is VALID [2022-04-28 11:20:24,950 INFO L290 TraceCheckUtils]: 52: Hoare triple {13395#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13395#false} is VALID [2022-04-28 11:20:24,951 INFO L290 TraceCheckUtils]: 51: Hoare triple {13588#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {13395#false} is VALID [2022-04-28 11:20:24,951 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13394#true} {13588#(<= main_~x~0 main_~X~0)} #65#return; {13588#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:20:24,951 INFO L290 TraceCheckUtils]: 49: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 11:20:24,951 INFO L290 TraceCheckUtils]: 48: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 11:20:24,951 INFO L290 TraceCheckUtils]: 47: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 11:20:24,951 INFO L272 TraceCheckUtils]: 46: Hoare triple {13588#(<= 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)); {13394#true} is VALID [2022-04-28 11:20:24,952 INFO L290 TraceCheckUtils]: 45: Hoare triple {13588#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13588#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:20:24,953 INFO L290 TraceCheckUtils]: 44: Hoare triple {13610#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13588#(<= main_~x~0 main_~X~0)} is VALID [2022-04-28 11:20:24,953 INFO L290 TraceCheckUtils]: 43: Hoare triple {13610#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13610#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:20:24,954 INFO L290 TraceCheckUtils]: 42: Hoare triple {13610#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {13610#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:20:24,954 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13394#true} {13610#(<= (+ main_~x~0 1) main_~X~0)} #65#return; {13610#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:20:24,954 INFO L290 TraceCheckUtils]: 40: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 11:20:24,954 INFO L290 TraceCheckUtils]: 39: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 11:20:24,954 INFO L290 TraceCheckUtils]: 38: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 11:20:24,954 INFO L272 TraceCheckUtils]: 37: Hoare triple {13610#(<= (+ 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)); {13394#true} is VALID [2022-04-28 11:20:24,955 INFO L290 TraceCheckUtils]: 36: Hoare triple {13610#(<= (+ main_~x~0 1) main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13610#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:20:24,955 INFO L290 TraceCheckUtils]: 35: Hoare triple {13638#(<= (+ main_~x~0 2) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13610#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-28 11:20:24,956 INFO L290 TraceCheckUtils]: 34: Hoare triple {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< 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; {13638#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-28 11:20:24,956 INFO L290 TraceCheckUtils]: 33: Hoare triple {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:20:24,957 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13394#true} {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #65#return; {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:20:24,957 INFO L290 TraceCheckUtils]: 31: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 11:20:24,957 INFO L290 TraceCheckUtils]: 30: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 11:20:24,957 INFO L290 TraceCheckUtils]: 29: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 11:20:24,957 INFO L272 TraceCheckUtils]: 28: Hoare triple {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< 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)); {13394#true} is VALID [2022-04-28 11:20:24,962 INFO L290 TraceCheckUtils]: 27: Hoare triple {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:20:24,963 INFO L290 TraceCheckUtils]: 26: Hoare triple {13667#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13642#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-28 11:20:24,964 INFO L290 TraceCheckUtils]: 25: Hoare triple {13671#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13667#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-28 11:20:24,964 INFO L290 TraceCheckUtils]: 24: Hoare triple {13671#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(~x~0 <= ~X~0); {13671#(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:20:24,964 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13394#true} {13671#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #65#return; {13671#(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:20:24,965 INFO L290 TraceCheckUtils]: 22: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 11:20:24,965 INFO L290 TraceCheckUtils]: 21: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 11:20:24,965 INFO L290 TraceCheckUtils]: 20: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 11:20:24,965 INFO L272 TraceCheckUtils]: 19: Hoare triple {13671#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) 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)); {13394#true} is VALID [2022-04-28 11:20:24,965 INFO L290 TraceCheckUtils]: 18: Hoare triple {13671#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13671#(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:20:24,966 INFO L290 TraceCheckUtils]: 17: Hoare triple {13394#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13671#(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:20:24,966 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13394#true} {13394#true} #63#return; {13394#true} is VALID [2022-04-28 11:20:24,966 INFO L290 TraceCheckUtils]: 15: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 11:20:24,966 INFO L290 TraceCheckUtils]: 14: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 11:20:24,966 INFO L290 TraceCheckUtils]: 13: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 11:20:24,966 INFO L272 TraceCheckUtils]: 12: Hoare triple {13394#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {13394#true} is VALID [2022-04-28 11:20:24,966 INFO L290 TraceCheckUtils]: 11: Hoare triple {13394#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13394#true} is VALID [2022-04-28 11:20:24,967 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13394#true} {13394#true} #61#return; {13394#true} is VALID [2022-04-28 11:20:24,967 INFO L290 TraceCheckUtils]: 9: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 11:20:24,967 INFO L290 TraceCheckUtils]: 8: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 11:20:24,967 INFO L290 TraceCheckUtils]: 7: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 11:20:24,967 INFO L272 TraceCheckUtils]: 6: Hoare triple {13394#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {13394#true} is VALID [2022-04-28 11:20:24,967 INFO L290 TraceCheckUtils]: 5: Hoare triple {13394#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; {13394#true} is VALID [2022-04-28 11:20:24,967 INFO L272 TraceCheckUtils]: 4: Hoare triple {13394#true} call #t~ret8 := main(); {13394#true} is VALID [2022-04-28 11:20:24,967 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13394#true} {13394#true} #69#return; {13394#true} is VALID [2022-04-28 11:20:24,967 INFO L290 TraceCheckUtils]: 2: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 11:20:24,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {13394#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); {13394#true} is VALID [2022-04-28 11:20:24,968 INFO L272 TraceCheckUtils]: 0: Hoare triple {13394#true} call ULTIMATE.init(); {13394#true} is VALID [2022-04-28 11:20:24,968 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:20:24,968 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:20:24,968 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [6561055] [2022-04-28 11:20:24,968 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:20:24,968 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [621635120] [2022-04-28 11:20:24,968 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [621635120] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:20:24,968 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:20:24,969 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 11:20:24,969 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:20:24,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1086621660] [2022-04-28 11:20:24,969 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1086621660] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:20:24,969 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:20:24,969 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 11:20:24,969 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1735870552] [2022-04-28 11:20:24,969 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:20:24,970 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 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:20:24,970 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:20:24,970 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 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:20:25,010 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:20:25,010 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 11:20:25,010 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:20:25,010 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 11:20:25,010 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-28 11:20:25,010 INFO L87 Difference]: Start difference. First operand 121 states and 136 transitions. Second operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 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:20:25,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:20:25,704 INFO L93 Difference]: Finished difference Result 133 states and 149 transitions. [2022-04-28 11:20:25,704 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 11:20:25,704 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 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:20:25,705 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:20:25,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 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:20:25,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-28 11:20:25,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 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:20:25,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-28 11:20:25,709 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-28 11:20:25,775 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:20:25,777 INFO L225 Difference]: With dead ends: 133 [2022-04-28 11:20:25,777 INFO L226 Difference]: Without dead ends: 125 [2022-04-28 11:20:25,777 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-28 11:20:25,778 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 5 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 118 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 104 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 118 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:20:25,778 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 104 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 118 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:20:25,778 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-04-28 11:20:26,120 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 121. [2022-04-28 11:20:26,120 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:20:26,120 INFO L82 GeneralOperation]: Start isEquivalent. First operand 125 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:20:26,120 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:20:26,121 INFO L87 Difference]: Start difference. First operand 125 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:20:26,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:20:26,123 INFO L93 Difference]: Finished difference Result 125 states and 141 transitions. [2022-04-28 11:20:26,123 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 141 transitions. [2022-04-28 11:20:26,123 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:20:26,124 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:20:26,124 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 125 states. [2022-04-28 11:20:26,124 INFO L87 Difference]: Start difference. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 125 states. [2022-04-28 11:20:26,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:20:26,126 INFO L93 Difference]: Finished difference Result 125 states and 141 transitions. [2022-04-28 11:20:26,126 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 141 transitions. [2022-04-28 11:20:26,127 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:20:26,127 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:20:26,127 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:20:26,127 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:20:26,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 92 states have internal predecessors, (100), 19 states have call successors, (19), 13 states have call predecessors, (19), 12 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:20:26,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-28 11:20:26,129 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 57 [2022-04-28 11:20:26,129 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:20:26,129 INFO L495 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-28 11:20:26,130 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.625) internal successors, (29), 8 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:20:26,130 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-28 11:20:26,614 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:20:26,614 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-28 11:20:26,615 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 11:20:26,615 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:20:26,615 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:20:26,642 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:20:26,831 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:20:26,831 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:20:26,832 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:20:26,832 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 5 times [2022-04-28 11:20:26,832 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:20:26,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [217957187] [2022-04-28 11:20:26,832 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:20:26,832 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 6 times [2022-04-28 11:20:26,832 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:20:26,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2007946519] [2022-04-28 11:20:26,832 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:20:26,833 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:20:26,841 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:20:26,841 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1514657011] [2022-04-28 11:20:26,842 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:20:26,842 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:20:26,842 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:20:26,843 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:20:26,844 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:20:26,889 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 11:20:26,889 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:20:26,890 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 11:20:26,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:20:26,904 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:20:37,830 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:20:47,859 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:20:53,882 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:20:57,651 INFO L272 TraceCheckUtils]: 0: Hoare triple {14507#true} call ULTIMATE.init(); {14507#true} is VALID [2022-04-28 11:20:57,651 INFO L290 TraceCheckUtils]: 1: Hoare triple {14507#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); {14507#true} is VALID [2022-04-28 11:20:57,651 INFO L290 TraceCheckUtils]: 2: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 11:20:57,651 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14507#true} {14507#true} #69#return; {14507#true} is VALID [2022-04-28 11:20:57,651 INFO L272 TraceCheckUtils]: 4: Hoare triple {14507#true} call #t~ret8 := main(); {14507#true} is VALID [2022-04-28 11:20:57,651 INFO L290 TraceCheckUtils]: 5: Hoare triple {14507#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; {14507#true} is VALID [2022-04-28 11:20:57,651 INFO L272 TraceCheckUtils]: 6: Hoare triple {14507#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {14507#true} is VALID [2022-04-28 11:20:57,651 INFO L290 TraceCheckUtils]: 7: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 11:20:57,651 INFO L290 TraceCheckUtils]: 8: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 11:20:57,652 INFO L290 TraceCheckUtils]: 9: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 11:20:57,652 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14507#true} {14507#true} #61#return; {14507#true} is VALID [2022-04-28 11:20:57,652 INFO L290 TraceCheckUtils]: 11: Hoare triple {14507#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14507#true} is VALID [2022-04-28 11:20:57,652 INFO L272 TraceCheckUtils]: 12: Hoare triple {14507#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {14507#true} is VALID [2022-04-28 11:20:57,652 INFO L290 TraceCheckUtils]: 13: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 11:20:57,652 INFO L290 TraceCheckUtils]: 14: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 11:20:57,652 INFO L290 TraceCheckUtils]: 15: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 11:20:57,652 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14507#true} {14507#true} #63#return; {14507#true} is VALID [2022-04-28 11:20:57,652 INFO L290 TraceCheckUtils]: 17: Hoare triple {14507#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14563#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 11:20:57,653 INFO L290 TraceCheckUtils]: 18: Hoare triple {14563#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14563#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 11:20:57,653 INFO L272 TraceCheckUtils]: 19: Hoare triple {14563#(and (<= 0 main_~x~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14507#true} is VALID [2022-04-28 11:20:57,653 INFO L290 TraceCheckUtils]: 20: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 11:20:57,653 INFO L290 TraceCheckUtils]: 21: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 11:20:57,653 INFO L290 TraceCheckUtils]: 22: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 11:20:57,654 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14507#true} {14563#(and (<= 0 main_~x~0) (= main_~y~0 0))} #65#return; {14563#(and (<= 0 main_~x~0) (= main_~y~0 0))} is VALID [2022-04-28 11:20:57,654 INFO L290 TraceCheckUtils]: 24: Hoare triple {14563#(and (<= 0 main_~x~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {14585#(and (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 11:20:57,655 INFO L290 TraceCheckUtils]: 25: Hoare triple {14585#(and (<= 0 main_~X~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:20:57,655 INFO L290 TraceCheckUtils]: 26: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:20:57,656 INFO L290 TraceCheckUtils]: 27: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:20:57,656 INFO L272 TraceCheckUtils]: 28: Hoare triple {14589#(and (= main_~y~0 1) (<= 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)); {14507#true} is VALID [2022-04-28 11:20:57,656 INFO L290 TraceCheckUtils]: 29: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 11:20:57,656 INFO L290 TraceCheckUtils]: 30: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 11:20:57,656 INFO L290 TraceCheckUtils]: 31: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 11:20:57,656 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14507#true} {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} #65#return; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:20:57,657 INFO L290 TraceCheckUtils]: 33: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:20:57,657 INFO L290 TraceCheckUtils]: 34: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:20:57,657 INFO L290 TraceCheckUtils]: 35: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:20:57,658 INFO L290 TraceCheckUtils]: 36: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:20:57,658 INFO L272 TraceCheckUtils]: 37: Hoare triple {14589#(and (= main_~y~0 1) (<= 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)); {14507#true} is VALID [2022-04-28 11:20:57,658 INFO L290 TraceCheckUtils]: 38: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 11:20:57,658 INFO L290 TraceCheckUtils]: 39: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 11:20:57,658 INFO L290 TraceCheckUtils]: 40: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 11:20:57,659 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14507#true} {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} #65#return; {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:20:57,659 INFO L290 TraceCheckUtils]: 42: Hoare triple {14589#(and (= main_~y~0 1) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {14641#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 11:20:57,659 INFO L290 TraceCheckUtils]: 43: Hoare triple {14641#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (<= 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; {14645#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:20:57,660 INFO L290 TraceCheckUtils]: 44: Hoare triple {14645#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14649#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:20:57,661 INFO L290 TraceCheckUtils]: 45: Hoare triple {14649#(and (= main_~y~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14653#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:20:57,661 INFO L272 TraceCheckUtils]: 46: Hoare triple {14653#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14507#true} is VALID [2022-04-28 11:20:57,661 INFO L290 TraceCheckUtils]: 47: Hoare triple {14507#true} ~cond := #in~cond; {14660#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:20:57,661 INFO L290 TraceCheckUtils]: 48: Hoare triple {14660#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:20:57,662 INFO L290 TraceCheckUtils]: 49: Hoare triple {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:20:57,663 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} {14653#(and (= main_~y~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {14671#(and (= 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)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:20:57,663 INFO L290 TraceCheckUtils]: 51: Hoare triple {14671#(and (= 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)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {14675#(and (= 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)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:20:59,666 WARN L290 TraceCheckUtils]: 52: Hoare triple {14675#(and (= 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)) (<= 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; {14679#(and (= main_~y~0 2) (or (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)))) (and (= (mod main_~xy~0 main_~y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< 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))) (= main_~Y~0 0))) (<= 0 main_~X~0))} is UNKNOWN [2022-04-28 11:20:59,668 INFO L272 TraceCheckUtils]: 53: Hoare triple {14679#(and (= main_~y~0 2) (or (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)))) (and (= (mod main_~xy~0 main_~y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< 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))) (= main_~Y~0 0))) (<= 0 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)); {14683#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:20:59,669 INFO L290 TraceCheckUtils]: 54: Hoare triple {14683#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14687#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:20:59,669 INFO L290 TraceCheckUtils]: 55: Hoare triple {14687#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14508#false} is VALID [2022-04-28 11:20:59,669 INFO L290 TraceCheckUtils]: 56: Hoare triple {14508#false} assume !false; {14508#false} is VALID [2022-04-28 11:20:59,669 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 17 proven. 20 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-04-28 11:20:59,669 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:21:02,442 INFO L290 TraceCheckUtils]: 56: Hoare triple {14508#false} assume !false; {14508#false} is VALID [2022-04-28 11:21:02,442 INFO L290 TraceCheckUtils]: 55: Hoare triple {14687#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14508#false} is VALID [2022-04-28 11:21:02,442 INFO L290 TraceCheckUtils]: 54: Hoare triple {14683#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14687#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:21:02,443 INFO L272 TraceCheckUtils]: 53: Hoare triple {14703#(= (+ (* 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)); {14683#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:21:02,445 INFO L290 TraceCheckUtils]: 52: Hoare triple {14707#(= (+ (* 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; {14703#(= (+ (* 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:21:02,445 INFO L290 TraceCheckUtils]: 51: Hoare triple {14711#(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); {14707#(= (+ (* 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:21:02,446 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} {14715#(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; {14711#(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:21:02,446 INFO L290 TraceCheckUtils]: 49: Hoare triple {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:21:02,447 INFO L290 TraceCheckUtils]: 48: Hoare triple {14725#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14664#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:21:02,447 INFO L290 TraceCheckUtils]: 47: Hoare triple {14507#true} ~cond := #in~cond; {14725#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:21:02,447 INFO L272 TraceCheckUtils]: 46: Hoare triple {14715#(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)); {14507#true} is VALID [2022-04-28 11:21:02,448 INFO L290 TraceCheckUtils]: 45: Hoare triple {14732#(or (<= main_~x~0 main_~X~0) (forall ((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; {14715#(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:21:02,450 INFO L290 TraceCheckUtils]: 44: Hoare triple {14736#(forall ((v_main_~x~0_72 Int)) (or (<= v_main_~x~0_72 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* v_main_~x~0_72 main_~y~0))) (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)))) (not (<= v_main_~x~0_72 (+ main_~x~0 1)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14732#(or (<= main_~x~0 main_~X~0) (forall ((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:21:02,453 INFO L290 TraceCheckUtils]: 43: Hoare triple {14740#(forall ((main_~Y~0 Int) (v_main_~x~0_72 Int)) (or (= (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) 2 (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* 2 (* v_main_~x~0_72 (+ main_~y~0 1))) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2)))) (<= v_main_~x~0_72 main_~X~0) (not (<= v_main_~x~0_72 (+ 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; {14736#(forall ((v_main_~x~0_72 Int)) (or (<= v_main_~x~0_72 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* v_main_~x~0_72 main_~y~0))) (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)))) (not (<= v_main_~x~0_72 (+ main_~x~0 1)))))} is VALID [2022-04-28 11:21:02,454 INFO L290 TraceCheckUtils]: 42: Hoare triple {14507#true} assume !!(~x~0 <= ~X~0); {14740#(forall ((main_~Y~0 Int) (v_main_~x~0_72 Int)) (or (= (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) 2 (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_72 main_~Y~0)) (* 2 (* v_main_~x~0_72 (+ main_~y~0 1))) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2)))) (<= v_main_~x~0_72 main_~X~0) (not (<= v_main_~x~0_72 (+ main_~x~0 1)))))} is VALID [2022-04-28 11:21:02,454 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14507#true} {14507#true} #65#return; {14507#true} is VALID [2022-04-28 11:21:02,454 INFO L290 TraceCheckUtils]: 40: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 11:21:02,454 INFO L290 TraceCheckUtils]: 39: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 11:21:02,454 INFO L290 TraceCheckUtils]: 38: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 11:21:02,455 INFO L272 TraceCheckUtils]: 37: Hoare triple {14507#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14507#true} is VALID [2022-04-28 11:21:02,455 INFO L290 TraceCheckUtils]: 36: Hoare triple {14507#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14507#true} is VALID [2022-04-28 11:21:02,455 INFO L290 TraceCheckUtils]: 35: Hoare triple {14507#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14507#true} is VALID [2022-04-28 11:21:02,455 INFO L290 TraceCheckUtils]: 34: Hoare triple {14507#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14507#true} is VALID [2022-04-28 11:21:02,455 INFO L290 TraceCheckUtils]: 33: Hoare triple {14507#true} assume !!(~x~0 <= ~X~0); {14507#true} is VALID [2022-04-28 11:21:02,455 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14507#true} {14507#true} #65#return; {14507#true} is VALID [2022-04-28 11:21:02,455 INFO L290 TraceCheckUtils]: 31: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 11:21:02,455 INFO L290 TraceCheckUtils]: 30: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 11:21:02,455 INFO L290 TraceCheckUtils]: 29: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 11:21:02,455 INFO L272 TraceCheckUtils]: 28: Hoare triple {14507#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14507#true} is VALID [2022-04-28 11:21:02,455 INFO L290 TraceCheckUtils]: 27: Hoare triple {14507#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14507#true} is VALID [2022-04-28 11:21:02,455 INFO L290 TraceCheckUtils]: 26: Hoare triple {14507#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14507#true} is VALID [2022-04-28 11:21:02,455 INFO L290 TraceCheckUtils]: 25: Hoare triple {14507#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; {14507#true} is VALID [2022-04-28 11:21:02,455 INFO L290 TraceCheckUtils]: 24: Hoare triple {14507#true} assume !!(~x~0 <= ~X~0); {14507#true} is VALID [2022-04-28 11:21:02,456 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14507#true} {14507#true} #65#return; {14507#true} is VALID [2022-04-28 11:21:02,456 INFO L290 TraceCheckUtils]: 22: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 11:21:02,456 INFO L290 TraceCheckUtils]: 21: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 11:21:02,456 INFO L290 TraceCheckUtils]: 20: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 11:21:02,456 INFO L272 TraceCheckUtils]: 19: Hoare triple {14507#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14507#true} is VALID [2022-04-28 11:21:02,456 INFO L290 TraceCheckUtils]: 18: Hoare triple {14507#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14507#true} is VALID [2022-04-28 11:21:02,456 INFO L290 TraceCheckUtils]: 17: Hoare triple {14507#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14507#true} is VALID [2022-04-28 11:21:02,456 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14507#true} {14507#true} #63#return; {14507#true} is VALID [2022-04-28 11:21:02,456 INFO L290 TraceCheckUtils]: 15: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 11:21:02,456 INFO L290 TraceCheckUtils]: 14: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 11:21:02,456 INFO L290 TraceCheckUtils]: 13: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 11:21:02,456 INFO L272 TraceCheckUtils]: 12: Hoare triple {14507#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {14507#true} is VALID [2022-04-28 11:21:02,456 INFO L290 TraceCheckUtils]: 11: Hoare triple {14507#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14507#true} is VALID [2022-04-28 11:21:02,456 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14507#true} {14507#true} #61#return; {14507#true} is VALID [2022-04-28 11:21:02,456 INFO L290 TraceCheckUtils]: 9: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 11:21:02,457 INFO L290 TraceCheckUtils]: 8: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 11:21:02,457 INFO L290 TraceCheckUtils]: 7: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 11:21:02,457 INFO L272 TraceCheckUtils]: 6: Hoare triple {14507#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {14507#true} is VALID [2022-04-28 11:21:02,457 INFO L290 TraceCheckUtils]: 5: Hoare triple {14507#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; {14507#true} is VALID [2022-04-28 11:21:02,457 INFO L272 TraceCheckUtils]: 4: Hoare triple {14507#true} call #t~ret8 := main(); {14507#true} is VALID [2022-04-28 11:21:02,457 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14507#true} {14507#true} #69#return; {14507#true} is VALID [2022-04-28 11:21:02,457 INFO L290 TraceCheckUtils]: 2: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 11:21:02,457 INFO L290 TraceCheckUtils]: 1: Hoare triple {14507#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); {14507#true} is VALID [2022-04-28 11:21:02,457 INFO L272 TraceCheckUtils]: 0: Hoare triple {14507#true} call ULTIMATE.init(); {14507#true} is VALID [2022-04-28 11:21:02,457 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:21:02,457 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:21:02,458 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2007946519] [2022-04-28 11:21:02,458 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:21:02,458 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1514657011] [2022-04-28 11:21:02,458 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1514657011] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:21:02,458 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:21:02,458 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-28 11:21:02,458 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:21:02,458 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [217957187] [2022-04-28 11:21:02,458 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [217957187] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:21:02,458 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:21:02,458 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 11:21:02,458 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1528927302] [2022-04-28 11:21:02,458 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:21:02,459 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) 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 57 [2022-04-28 11:21:02,459 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:21:02,459 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), 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:21:04,501 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:21:04,501 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 11:21:04,501 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:21:04,501 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 11:21:04,501 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=472, Unknown=0, NotChecked=0, Total=552 [2022-04-28 11:21:04,502 INFO L87 Difference]: Start difference. First operand 121 states and 136 transitions. Second operand has 16 states, 14 states have (on average 2.142857142857143) 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:21:07,596 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:21:12,370 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:21:14,462 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:21:16,232 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.35s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:21:18,042 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.80s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:21:20,044 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:21:22,048 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:21:24,051 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:21:26,055 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:21:28,058 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:21:29,334 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.27s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:21:31,337 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:21:33,340 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:21:34,819 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.47s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 11:21:35,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:21:35,507 INFO L93 Difference]: Finished difference Result 168 states and 199 transitions. [2022-04-28 11:21:35,507 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 11:21:35,508 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) 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 57 [2022-04-28 11:21:35,508 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:21:35,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) 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:21:35,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 71 transitions. [2022-04-28 11:21:35,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) 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:21:35,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 71 transitions. [2022-04-28 11:21:35,510 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 71 transitions. [2022-04-28 11:21:37,618 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 70 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 11:21:37,620 INFO L225 Difference]: With dead ends: 168 [2022-04-28 11:21:37,620 INFO L226 Difference]: Without dead ends: 160 [2022-04-28 11:21:37,621 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 161 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=151, Invalid=841, Unknown=0, NotChecked=0, Total=992 [2022-04-28 11:21:37,621 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 25 mSDsluCounter, 237 mSDsCounter, 0 mSdLazyCounter, 532 mSolverCounterSat, 9 mSolverCounterUnsat, 10 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 26.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 269 SdHoareTripleChecker+Invalid, 551 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 532 IncrementalHoareTripleChecker+Invalid, 10 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 26.8s IncrementalHoareTripleChecker+Time [2022-04-28 11:21:37,622 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 269 Invalid, 551 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 532 Invalid, 10 Unknown, 0 Unchecked, 26.8s Time] [2022-04-28 11:21:37,622 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-04-28 11:21:38,119 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 155. [2022-04-28 11:21:38,119 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:21:38,120 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 11:21:38,120 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 11:21:38,120 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 11:21:38,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:21:38,123 INFO L93 Difference]: Finished difference Result 160 states and 189 transitions. [2022-04-28 11:21:38,123 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 189 transitions. [2022-04-28 11:21:38,124 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:21:38,124 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:21:38,124 INFO L74 IsIncluded]: Start isIncluded. First operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 160 states. [2022-04-28 11:21:38,125 INFO L87 Difference]: Start difference. First operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 160 states. [2022-04-28 11:21:38,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:21:38,128 INFO L93 Difference]: Finished difference Result 160 states and 189 transitions. [2022-04-28 11:21:38,128 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 189 transitions. [2022-04-28 11:21:38,128 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:21:38,128 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:21:38,128 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:21:38,128 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:21:38,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 155 states, 116 states have (on average 1.1551724137931034) internal successors, (134), 119 states have internal predecessors, (134), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 11:21:38,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 155 states to 155 states and 184 transitions. [2022-04-28 11:21:38,132 INFO L78 Accepts]: Start accepts. Automaton has 155 states and 184 transitions. Word has length 57 [2022-04-28 11:21:38,132 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:21:38,132 INFO L495 AbstractCegarLoop]: Abstraction has 155 states and 184 transitions. [2022-04-28 11:21:38,132 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.142857142857143) 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:21:38,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 155 states and 184 transitions. [2022-04-28 11:21:38,776 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 184 edges. 184 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:21:38,776 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 184 transitions. [2022-04-28 11:21:38,776 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 11:21:38,777 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:21:38,777 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:21:38,795 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:21:38,987 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:21:38,987 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:21:38,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:21:38,988 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 5 times [2022-04-28 11:21:38,988 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:21:38,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [712644913] [2022-04-28 11:21:38,988 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:21:38,988 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 6 times [2022-04-28 11:21:38,988 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:21:38,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [249291771] [2022-04-28 11:21:38,989 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:21:38,989 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:21:38,999 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:21:38,999 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [515390476] [2022-04-28 11:21:38,999 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:21:39,000 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:21:39,000 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:21:39,001 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:21:39,001 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:21:39,397 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 11:21:39,398 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:21:39,399 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 11:21:39,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:21:39,416 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:21:55,752 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:22:03,311 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:22:07,387 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:22:09,518 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:23:05,509 INFO L272 TraceCheckUtils]: 0: Hoare triple {15854#true} call ULTIMATE.init(); {15854#true} is VALID [2022-04-28 11:23:05,509 INFO L290 TraceCheckUtils]: 1: Hoare triple {15854#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); {15854#true} is VALID [2022-04-28 11:23:05,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 11:23:05,509 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15854#true} {15854#true} #69#return; {15854#true} is VALID [2022-04-28 11:23:05,509 INFO L272 TraceCheckUtils]: 4: Hoare triple {15854#true} call #t~ret8 := main(); {15854#true} is VALID [2022-04-28 11:23:05,509 INFO L290 TraceCheckUtils]: 5: Hoare triple {15854#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; {15854#true} is VALID [2022-04-28 11:23:05,510 INFO L272 TraceCheckUtils]: 6: Hoare triple {15854#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {15854#true} is VALID [2022-04-28 11:23:05,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 11:23:05,510 INFO L290 TraceCheckUtils]: 8: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 11:23:05,510 INFO L290 TraceCheckUtils]: 9: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 11:23:05,510 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15854#true} {15854#true} #61#return; {15854#true} is VALID [2022-04-28 11:23:05,510 INFO L290 TraceCheckUtils]: 11: Hoare triple {15854#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15854#true} is VALID [2022-04-28 11:23:05,510 INFO L272 TraceCheckUtils]: 12: Hoare triple {15854#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {15854#true} is VALID [2022-04-28 11:23:05,510 INFO L290 TraceCheckUtils]: 13: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 11:23:05,510 INFO L290 TraceCheckUtils]: 14: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 11:23:05,510 INFO L290 TraceCheckUtils]: 15: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 11:23:05,510 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15854#true} {15854#true} #63#return; {15854#true} is VALID [2022-04-28 11:23:05,511 INFO L290 TraceCheckUtils]: 17: Hoare triple {15854#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {15910#(<= 0 main_~x~0)} is VALID [2022-04-28 11:23:05,511 INFO L290 TraceCheckUtils]: 18: Hoare triple {15910#(<= 0 main_~x~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15910#(<= 0 main_~x~0)} is VALID [2022-04-28 11:23:05,511 INFO L272 TraceCheckUtils]: 19: Hoare triple {15910#(<= 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)); {15854#true} is VALID [2022-04-28 11:23:05,511 INFO L290 TraceCheckUtils]: 20: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 11:23:05,511 INFO L290 TraceCheckUtils]: 21: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 11:23:05,511 INFO L290 TraceCheckUtils]: 22: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 11:23:05,512 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15854#true} {15910#(<= 0 main_~x~0)} #65#return; {15910#(<= 0 main_~x~0)} is VALID [2022-04-28 11:23:05,512 INFO L290 TraceCheckUtils]: 24: Hoare triple {15910#(<= 0 main_~x~0)} assume !!(~x~0 <= ~X~0); {15932#(<= 0 main_~X~0)} is VALID [2022-04-28 11:23:05,513 INFO L290 TraceCheckUtils]: 25: Hoare triple {15932#(<= 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; {15932#(<= 0 main_~X~0)} is VALID [2022-04-28 11:23:05,513 INFO L290 TraceCheckUtils]: 26: Hoare triple {15932#(<= 0 main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15932#(<= 0 main_~X~0)} is VALID [2022-04-28 11:23:05,513 INFO L290 TraceCheckUtils]: 27: Hoare triple {15932#(<= 0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15932#(<= 0 main_~X~0)} is VALID [2022-04-28 11:23:05,513 INFO L272 TraceCheckUtils]: 28: Hoare triple {15932#(<= 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)); {15854#true} is VALID [2022-04-28 11:23:05,513 INFO L290 TraceCheckUtils]: 29: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 11:23:05,513 INFO L290 TraceCheckUtils]: 30: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 11:23:05,513 INFO L290 TraceCheckUtils]: 31: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 11:23:05,514 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15854#true} {15932#(<= 0 main_~X~0)} #65#return; {15932#(<= 0 main_~X~0)} is VALID [2022-04-28 11:23:05,514 INFO L290 TraceCheckUtils]: 33: Hoare triple {15932#(<= 0 main_~X~0)} assume !!(~x~0 <= ~X~0); {15932#(<= 0 main_~X~0)} is VALID [2022-04-28 11:23:05,515 INFO L290 TraceCheckUtils]: 34: Hoare triple {15932#(<= 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; {15932#(<= 0 main_~X~0)} is VALID [2022-04-28 11:23:05,515 INFO L290 TraceCheckUtils]: 35: Hoare triple {15932#(<= 0 main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15932#(<= 0 main_~X~0)} is VALID [2022-04-28 11:23:05,515 INFO L290 TraceCheckUtils]: 36: Hoare triple {15932#(<= 0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15932#(<= 0 main_~X~0)} is VALID [2022-04-28 11:23:05,515 INFO L272 TraceCheckUtils]: 37: Hoare triple {15932#(<= 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)); {15854#true} is VALID [2022-04-28 11:23:05,515 INFO L290 TraceCheckUtils]: 38: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 11:23:05,515 INFO L290 TraceCheckUtils]: 39: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 11:23:05,515 INFO L290 TraceCheckUtils]: 40: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 11:23:05,516 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15854#true} {15932#(<= 0 main_~X~0)} #65#return; {15932#(<= 0 main_~X~0)} is VALID [2022-04-28 11:23:05,517 INFO L290 TraceCheckUtils]: 42: Hoare triple {15932#(<= 0 main_~X~0)} assume !!(~x~0 <= ~X~0); {15987#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:23:05,517 INFO L290 TraceCheckUtils]: 43: Hoare triple {15987#(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; {15987#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-28 11:23:05,518 INFO L290 TraceCheckUtils]: 44: Hoare triple {15987#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15994#(and (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 11:23:05,519 INFO L290 TraceCheckUtils]: 45: Hoare triple {15994#(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; {15998#(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:23:05,519 INFO L272 TraceCheckUtils]: 46: Hoare triple {15998#(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)); {15854#true} is VALID [2022-04-28 11:23:05,519 INFO L290 TraceCheckUtils]: 47: Hoare triple {15854#true} ~cond := #in~cond; {16005#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:23:05,520 INFO L290 TraceCheckUtils]: 48: Hoare triple {16005#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16009#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:23:05,520 INFO L290 TraceCheckUtils]: 49: Hoare triple {16009#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16009#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:23:05,522 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16009#(not (= |__VERIFIER_assert_#in~cond| 0))} {15998#(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; {16016#(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:23:05,522 INFO L290 TraceCheckUtils]: 51: Hoare triple {16016#(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); {16020#(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:23:07,525 WARN L290 TraceCheckUtils]: 52: Hoare triple {16020#(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; {16024#(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:23:07,541 INFO L272 TraceCheckUtils]: 53: Hoare triple {16024#(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)); {16028#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:23:07,542 INFO L290 TraceCheckUtils]: 54: Hoare triple {16028#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16032#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:23:07,542 INFO L290 TraceCheckUtils]: 55: Hoare triple {16032#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15855#false} is VALID [2022-04-28 11:23:07,542 INFO L290 TraceCheckUtils]: 56: Hoare triple {15855#false} assume !false; {15855#false} is VALID [2022-04-28 11:23:07,543 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:23:07,543 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:23:08,678 INFO L290 TraceCheckUtils]: 56: Hoare triple {15855#false} assume !false; {15855#false} is VALID [2022-04-28 11:23:08,678 INFO L290 TraceCheckUtils]: 55: Hoare triple {16032#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15855#false} is VALID [2022-04-28 11:23:08,679 INFO L290 TraceCheckUtils]: 54: Hoare triple {16028#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16032#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:23:08,680 INFO L272 TraceCheckUtils]: 53: Hoare triple {16048#(= (+ (* 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)); {16028#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:23:08,682 INFO L290 TraceCheckUtils]: 52: Hoare triple {16052#(= (+ (* 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; {16048#(= (+ (* 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:23:08,682 INFO L290 TraceCheckUtils]: 51: Hoare triple {16056#(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); {16052#(= (+ (* 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:23:08,683 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16009#(not (= |__VERIFIER_assert_#in~cond| 0))} {16060#(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; {16056#(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:23:08,684 INFO L290 TraceCheckUtils]: 49: Hoare triple {16009#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16009#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:23:08,684 INFO L290 TraceCheckUtils]: 48: Hoare triple {16070#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16009#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:23:08,685 INFO L290 TraceCheckUtils]: 47: Hoare triple {15854#true} ~cond := #in~cond; {16070#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:23:08,685 INFO L272 TraceCheckUtils]: 46: Hoare triple {16060#(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)); {15854#true} is VALID [2022-04-28 11:23:08,686 INFO L290 TraceCheckUtils]: 45: Hoare triple {16077#(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; {16060#(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:23:08,689 INFO L290 TraceCheckUtils]: 44: Hoare triple {16081#(forall ((v_main_~x~0_74 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_74 main_~y~0) 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)) (* (* main_~X~0 main_~y~0) (- 2))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0))))) (not (<= v_main_~x~0_74 (+ main_~x~0 1))) (<= v_main_~x~0_74 main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16077#(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:23:08,691 INFO L290 TraceCheckUtils]: 43: Hoare triple {16081#(forall ((v_main_~x~0_74 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_74 main_~y~0) 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)) (* (* main_~X~0 main_~y~0) (- 2))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0))))) (not (<= v_main_~x~0_74 (+ main_~x~0 1))) (<= v_main_~x~0_74 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; {16081#(forall ((v_main_~x~0_74 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_74 main_~y~0) 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)) (* (* main_~X~0 main_~y~0) (- 2))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0))))) (not (<= v_main_~x~0_74 (+ main_~x~0 1))) (<= v_main_~x~0_74 main_~X~0)))} is VALID [2022-04-28 11:23:08,693 INFO L290 TraceCheckUtils]: 42: Hoare triple {15854#true} assume !!(~x~0 <= ~X~0); {16081#(forall ((v_main_~x~0_74 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_74 main_~y~0) 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0)) (* (* main_~X~0 main_~y~0) (- 2))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* v_main_~x~0_74 main_~Y~0))))) (not (<= v_main_~x~0_74 (+ main_~x~0 1))) (<= v_main_~x~0_74 main_~X~0)))} is VALID [2022-04-28 11:23:08,693 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15854#true} {15854#true} #65#return; {15854#true} is VALID [2022-04-28 11:23:08,693 INFO L290 TraceCheckUtils]: 40: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 11:23:08,693 INFO L290 TraceCheckUtils]: 39: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 11:23:08,693 INFO L290 TraceCheckUtils]: 38: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 11:23:08,693 INFO L272 TraceCheckUtils]: 37: Hoare triple {15854#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15854#true} is VALID [2022-04-28 11:23:08,693 INFO L290 TraceCheckUtils]: 36: Hoare triple {15854#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15854#true} is VALID [2022-04-28 11:23:08,693 INFO L290 TraceCheckUtils]: 35: Hoare triple {15854#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15854#true} is VALID [2022-04-28 11:23:08,693 INFO L290 TraceCheckUtils]: 34: Hoare triple {15854#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; {15854#true} is VALID [2022-04-28 11:23:08,693 INFO L290 TraceCheckUtils]: 33: Hoare triple {15854#true} assume !!(~x~0 <= ~X~0); {15854#true} is VALID [2022-04-28 11:23:08,694 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15854#true} {15854#true} #65#return; {15854#true} is VALID [2022-04-28 11:23:08,694 INFO L290 TraceCheckUtils]: 31: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 11:23:08,694 INFO L290 TraceCheckUtils]: 30: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 11:23:08,694 INFO L290 TraceCheckUtils]: 29: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 11:23:08,694 INFO L272 TraceCheckUtils]: 28: Hoare triple {15854#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15854#true} is VALID [2022-04-28 11:23:08,694 INFO L290 TraceCheckUtils]: 27: Hoare triple {15854#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15854#true} is VALID [2022-04-28 11:23:08,694 INFO L290 TraceCheckUtils]: 26: Hoare triple {15854#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15854#true} is VALID [2022-04-28 11:23:08,694 INFO L290 TraceCheckUtils]: 25: Hoare triple {15854#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; {15854#true} is VALID [2022-04-28 11:23:08,694 INFO L290 TraceCheckUtils]: 24: Hoare triple {15854#true} assume !!(~x~0 <= ~X~0); {15854#true} is VALID [2022-04-28 11:23:08,694 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15854#true} {15854#true} #65#return; {15854#true} is VALID [2022-04-28 11:23:08,694 INFO L290 TraceCheckUtils]: 22: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 11:23:08,694 INFO L290 TraceCheckUtils]: 21: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 11:23:08,694 INFO L290 TraceCheckUtils]: 20: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 11:23:08,694 INFO L272 TraceCheckUtils]: 19: Hoare triple {15854#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15854#true} is VALID [2022-04-28 11:23:08,694 INFO L290 TraceCheckUtils]: 18: Hoare triple {15854#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15854#true} is VALID [2022-04-28 11:23:08,695 INFO L290 TraceCheckUtils]: 17: Hoare triple {15854#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {15854#true} is VALID [2022-04-28 11:23:08,695 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15854#true} {15854#true} #63#return; {15854#true} is VALID [2022-04-28 11:23:08,695 INFO L290 TraceCheckUtils]: 15: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 11:23:08,695 INFO L290 TraceCheckUtils]: 14: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 11:23:08,695 INFO L290 TraceCheckUtils]: 13: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 11:23:08,695 INFO L272 TraceCheckUtils]: 12: Hoare triple {15854#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {15854#true} is VALID [2022-04-28 11:23:08,695 INFO L290 TraceCheckUtils]: 11: Hoare triple {15854#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15854#true} is VALID [2022-04-28 11:23:08,695 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15854#true} {15854#true} #61#return; {15854#true} is VALID [2022-04-28 11:23:08,695 INFO L290 TraceCheckUtils]: 9: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 11:23:08,695 INFO L290 TraceCheckUtils]: 8: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 11:23:08,695 INFO L290 TraceCheckUtils]: 7: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 11:23:08,695 INFO L272 TraceCheckUtils]: 6: Hoare triple {15854#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {15854#true} is VALID [2022-04-28 11:23:08,695 INFO L290 TraceCheckUtils]: 5: Hoare triple {15854#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; {15854#true} is VALID [2022-04-28 11:23:08,695 INFO L272 TraceCheckUtils]: 4: Hoare triple {15854#true} call #t~ret8 := main(); {15854#true} is VALID [2022-04-28 11:23:08,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15854#true} {15854#true} #69#return; {15854#true} is VALID [2022-04-28 11:23:08,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 11:23:08,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {15854#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); {15854#true} is VALID [2022-04-28 11:23:08,696 INFO L272 TraceCheckUtils]: 0: Hoare triple {15854#true} call ULTIMATE.init(); {15854#true} is VALID [2022-04-28 11:23:08,696 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:23:08,696 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:23:08,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [249291771] [2022-04-28 11:23:08,696 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:23:08,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [515390476] [2022-04-28 11:23:08,696 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [515390476] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:23:08,696 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:23:08,697 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12] total 21 [2022-04-28 11:23:08,697 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:23:08,697 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [712644913] [2022-04-28 11:23:08,697 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [712644913] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:23:08,697 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:23:08,697 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:23:08,697 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [858464077] [2022-04-28 11:23:08,697 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:23:08,698 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:23:08,698 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:23:08,698 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:23:10,755 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:23:10,755 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:23:10,755 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:23:10,756 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:23:10,756 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=313, Unknown=1, NotChecked=36, Total=420 [2022-04-28 11:23:10,756 INFO L87 Difference]: Start difference. First operand 155 states and 184 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:23:13,839 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:23:14,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:23:14,066 INFO L93 Difference]: Finished difference Result 163 states and 191 transitions. [2022-04-28 11:23:14,066 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 11:23:14,066 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:23:14,066 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:23:14,066 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:23:14,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 42 transitions. [2022-04-28 11:23:14,067 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:23:14,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 42 transitions. [2022-04-28 11:23:14,068 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 42 transitions. [2022-04-28 11:23:16,137 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:23:16,139 INFO L225 Difference]: With dead ends: 163 [2022-04-28 11:23:16,140 INFO L226 Difference]: Without dead ends: 155 [2022-04-28 11:23:16,140 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:23:16,141 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 22 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 120 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 120 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 28 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 11:23:16,141 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 134 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 120 Invalid, 0 Unknown, 28 Unchecked, 0.2s Time] [2022-04-28 11:23:16,141 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 155 states. [2022-04-28 11:23:16,498 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 155 to 117. [2022-04-28 11:23:16,498 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:23:16,499 INFO L82 GeneralOperation]: Start isEquivalent. First operand 155 states. Second operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:23:16,499 INFO L74 IsIncluded]: Start isIncluded. First operand 155 states. Second operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:23:16,499 INFO L87 Difference]: Start difference. First operand 155 states. Second operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:23:16,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:23:16,501 INFO L93 Difference]: Finished difference Result 155 states and 178 transitions. [2022-04-28 11:23:16,501 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 178 transitions. [2022-04-28 11:23:16,502 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:23:16,502 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:23:16,502 INFO L74 IsIncluded]: Start isIncluded. First operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) Second operand 155 states. [2022-04-28 11:23:16,502 INFO L87 Difference]: Start difference. First operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) Second operand 155 states. [2022-04-28 11:23:16,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:23:16,505 INFO L93 Difference]: Finished difference Result 155 states and 178 transitions. [2022-04-28 11:23:16,505 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 178 transitions. [2022-04-28 11:23:16,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:23:16,506 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:23:16,506 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:23:16,506 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:23:16,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 117 states, 86 states have (on average 1.0930232558139534) internal successors, (94), 90 states have internal predecessors, (94), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 13 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:23:16,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 129 transitions. [2022-04-28 11:23:16,508 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 129 transitions. Word has length 57 [2022-04-28 11:23:16,508 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:23:16,508 INFO L495 AbstractCegarLoop]: Abstraction has 117 states and 129 transitions. [2022-04-28 11:23:16,508 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:23:16,509 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 117 states and 129 transitions. [2022-04-28 11:23:16,915 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:23:16,915 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 129 transitions. [2022-04-28 11:23:16,916 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:23:16,916 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:23:16,916 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:23:16,921 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:23:17,116 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:23:17,117 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:23:17,117 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:23:17,117 INFO L85 PathProgramCache]: Analyzing trace with hash 1830651545, now seen corresponding path program 7 times [2022-04-28 11:23:17,117 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:23:17,117 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1874542197] [2022-04-28 11:23:17,117 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:23:17,117 INFO L85 PathProgramCache]: Analyzing trace with hash 1830651545, now seen corresponding path program 8 times [2022-04-28 11:23:17,117 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:23:17,118 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1887038296] [2022-04-28 11:23:17,118 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:23:17,118 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:23:17,127 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:23:17,127 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1524576013] [2022-04-28 11:23:17,127 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:23:17,127 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:23:17,127 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:23:17,128 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:23:17,129 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:23:17,185 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:23:17,186 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:23:17,186 INFO L263 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 11:23:17,197 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:23:17,198 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:23:17,845 INFO L272 TraceCheckUtils]: 0: Hoare triple {17106#true} call ULTIMATE.init(); {17106#true} is VALID [2022-04-28 11:23:17,845 INFO L290 TraceCheckUtils]: 1: Hoare triple {17106#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); {17106#true} is VALID [2022-04-28 11:23:17,845 INFO L290 TraceCheckUtils]: 2: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 11:23:17,845 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17106#true} {17106#true} #69#return; {17106#true} is VALID [2022-04-28 11:23:17,846 INFO L272 TraceCheckUtils]: 4: Hoare triple {17106#true} call #t~ret8 := main(); {17106#true} is VALID [2022-04-28 11:23:17,846 INFO L290 TraceCheckUtils]: 5: Hoare triple {17106#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; {17106#true} is VALID [2022-04-28 11:23:17,846 INFO L272 TraceCheckUtils]: 6: Hoare triple {17106#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {17106#true} is VALID [2022-04-28 11:23:17,846 INFO L290 TraceCheckUtils]: 7: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 11:23:17,846 INFO L290 TraceCheckUtils]: 8: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 11:23:17,846 INFO L290 TraceCheckUtils]: 9: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 11:23:17,846 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17106#true} {17106#true} #61#return; {17106#true} is VALID [2022-04-28 11:23:17,846 INFO L290 TraceCheckUtils]: 11: Hoare triple {17106#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {17106#true} is VALID [2022-04-28 11:23:17,846 INFO L272 TraceCheckUtils]: 12: Hoare triple {17106#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {17106#true} is VALID [2022-04-28 11:23:17,846 INFO L290 TraceCheckUtils]: 13: Hoare triple {17106#true} ~cond := #in~cond; {17150#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:23:17,847 INFO L290 TraceCheckUtils]: 14: Hoare triple {17150#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {17154#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:23:17,847 INFO L290 TraceCheckUtils]: 15: Hoare triple {17154#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {17154#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:23:17,847 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17154#(not (= |assume_abort_if_not_#in~cond| 0))} {17106#true} #63#return; {17161#(and (<= main_~Y~0 50) (<= 0 main_~Y~0))} is VALID [2022-04-28 11:23:17,848 INFO L290 TraceCheckUtils]: 17: Hoare triple {17161#(and (<= main_~Y~0 50) (<= 0 main_~Y~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {17165#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:23:17,848 INFO L290 TraceCheckUtils]: 18: Hoare triple {17165#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17165#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:23:17,848 INFO L272 TraceCheckUtils]: 19: Hoare triple {17165#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 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)); {17106#true} is VALID [2022-04-28 11:23:17,848 INFO L290 TraceCheckUtils]: 20: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 11:23:17,849 INFO L290 TraceCheckUtils]: 21: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 11:23:17,849 INFO L290 TraceCheckUtils]: 22: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 11:23:17,849 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17106#true} {17165#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} #65#return; {17165#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:23:17,850 INFO L290 TraceCheckUtils]: 24: Hoare triple {17165#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {17165#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:23:17,850 INFO L290 TraceCheckUtils]: 25: Hoare triple {17165#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17190#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:23:17,851 INFO L290 TraceCheckUtils]: 26: Hoare triple {17190#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17194#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:23:17,852 INFO L290 TraceCheckUtils]: 27: Hoare triple {17194#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17194#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:23:17,852 INFO L272 TraceCheckUtils]: 28: Hoare triple {17194#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~Y~0 50) (<= 0 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)); {17106#true} is VALID [2022-04-28 11:23:17,852 INFO L290 TraceCheckUtils]: 29: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 11:23:17,852 INFO L290 TraceCheckUtils]: 30: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 11:23:17,852 INFO L290 TraceCheckUtils]: 31: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 11:23:17,853 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17106#true} {17194#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} #65#return; {17194#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:23:17,854 INFO L290 TraceCheckUtils]: 33: Hoare triple {17194#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {17194#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:23:17,855 INFO L290 TraceCheckUtils]: 34: Hoare triple {17194#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17219#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:23:17,855 INFO L290 TraceCheckUtils]: 35: Hoare triple {17219#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17223#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= main_~x~0 2))} is VALID [2022-04-28 11:23:17,856 INFO L290 TraceCheckUtils]: 36: Hoare triple {17223#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17223#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= main_~x~0 2))} is VALID [2022-04-28 11:23:17,856 INFO L272 TraceCheckUtils]: 37: Hoare triple {17223#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 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)); {17106#true} is VALID [2022-04-28 11:23:17,856 INFO L290 TraceCheckUtils]: 38: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 11:23:17,856 INFO L290 TraceCheckUtils]: 39: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 11:23:17,856 INFO L290 TraceCheckUtils]: 40: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 11:23:17,857 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17106#true} {17223#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= main_~x~0 2))} #65#return; {17223#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= main_~x~0 2))} is VALID [2022-04-28 11:23:17,858 INFO L290 TraceCheckUtils]: 42: Hoare triple {17223#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {17223#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= main_~x~0 2))} is VALID [2022-04-28 11:23:17,859 INFO L290 TraceCheckUtils]: 43: Hoare triple {17223#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= main_~x~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17248#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= main_~x~0 2))} is VALID [2022-04-28 11:23:17,859 INFO L290 TraceCheckUtils]: 44: Hoare triple {17248#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17252#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:23:17,860 INFO L290 TraceCheckUtils]: 45: Hoare triple {17252#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17252#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:23:17,860 INFO L272 TraceCheckUtils]: 46: Hoare triple {17252#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 50) (<= 0 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)); {17106#true} is VALID [2022-04-28 11:23:17,860 INFO L290 TraceCheckUtils]: 47: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 11:23:17,860 INFO L290 TraceCheckUtils]: 48: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 11:23:17,860 INFO L290 TraceCheckUtils]: 49: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 11:23:17,861 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17106#true} {17252#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} #65#return; {17252#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:23:17,861 INFO L290 TraceCheckUtils]: 51: Hoare triple {17252#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {17252#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} is VALID [2022-04-28 11:23:17,862 INFO L290 TraceCheckUtils]: 52: Hoare triple {17252#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ main_~v~0 (* (- 2) main_~Y~0))) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {17277#(and (= main_~x~0 3) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 6))))} is VALID [2022-04-28 11:23:17,862 INFO L290 TraceCheckUtils]: 53: Hoare triple {17277#(and (= main_~x~0 3) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 6))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17281#(and (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 6))) (= main_~x~0 4))} is VALID [2022-04-28 11:23:17,863 INFO L290 TraceCheckUtils]: 54: Hoare triple {17281#(and (<= main_~Y~0 50) (<= 0 main_~Y~0) (= main_~y~0 0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 6))) (= main_~x~0 4))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17285#(and (= main_~xy~0 0) (= main_~yx~0 (* main_~Y~0 4)) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 6))))} is VALID [2022-04-28 11:23:17,863 INFO L272 TraceCheckUtils]: 55: Hoare triple {17285#(and (= main_~xy~0 0) (= main_~yx~0 (* main_~Y~0 4)) (<= main_~Y~0 50) (<= 0 main_~Y~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 6))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17289#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:23:17,864 INFO L290 TraceCheckUtils]: 56: Hoare triple {17289#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17293#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:23:17,864 INFO L290 TraceCheckUtils]: 57: Hoare triple {17293#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17107#false} is VALID [2022-04-28 11:23:17,864 INFO L290 TraceCheckUtils]: 58: Hoare triple {17107#false} assume !false; {17107#false} is VALID [2022-04-28 11:23:17,865 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:23:17,865 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:23:18,205 INFO L290 TraceCheckUtils]: 58: Hoare triple {17107#false} assume !false; {17107#false} is VALID [2022-04-28 11:23:18,208 INFO L290 TraceCheckUtils]: 57: Hoare triple {17293#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17107#false} is VALID [2022-04-28 11:23:18,208 INFO L290 TraceCheckUtils]: 56: Hoare triple {17289#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17293#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:23:18,209 INFO L272 TraceCheckUtils]: 55: Hoare triple {17309#(= (+ (* 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)); {17289#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:23:18,210 INFO L290 TraceCheckUtils]: 54: Hoare triple {17313#(= (+ (* 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; {17309#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:23:18,212 INFO L290 TraceCheckUtils]: 53: Hoare triple {17317#(= (+ (* (* 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; {17313#(= (+ (* 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:23:18,213 INFO L290 TraceCheckUtils]: 52: Hoare triple {17313#(= (+ (* 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; {17317#(= (+ (* (* 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:23:18,213 INFO L290 TraceCheckUtils]: 51: Hoare triple {17313#(= (+ (* 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); {17313#(= (+ (* 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:23:18,214 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17106#true} {17313#(= (+ (* 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; {17313#(= (+ (* 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:23:18,214 INFO L290 TraceCheckUtils]: 49: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 11:23:18,214 INFO L290 TraceCheckUtils]: 48: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 11:23:18,214 INFO L290 TraceCheckUtils]: 47: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 11:23:18,214 INFO L272 TraceCheckUtils]: 46: Hoare triple {17313#(= (+ (* 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)); {17106#true} is VALID [2022-04-28 11:23:18,214 INFO L290 TraceCheckUtils]: 45: Hoare triple {17313#(= (+ (* 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; {17313#(= (+ (* 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:23:18,216 INFO L290 TraceCheckUtils]: 44: Hoare triple {17317#(= (+ (* (* 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; {17313#(= (+ (* 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:23:18,217 INFO L290 TraceCheckUtils]: 43: Hoare triple {17313#(= (+ (* 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; {17317#(= (+ (* (* 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:23:18,217 INFO L290 TraceCheckUtils]: 42: Hoare triple {17313#(= (+ (* 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); {17313#(= (+ (* 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:23:18,218 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17106#true} {17313#(= (+ (* 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; {17313#(= (+ (* 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:23:18,218 INFO L290 TraceCheckUtils]: 40: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 11:23:18,218 INFO L290 TraceCheckUtils]: 39: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 11:23:18,218 INFO L290 TraceCheckUtils]: 38: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 11:23:18,218 INFO L272 TraceCheckUtils]: 37: Hoare triple {17313#(= (+ (* 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)); {17106#true} is VALID [2022-04-28 11:23:18,218 INFO L290 TraceCheckUtils]: 36: Hoare triple {17313#(= (+ (* 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; {17313#(= (+ (* 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:23:18,220 INFO L290 TraceCheckUtils]: 35: Hoare triple {17317#(= (+ (* (* 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; {17313#(= (+ (* 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:23:18,220 INFO L290 TraceCheckUtils]: 34: Hoare triple {17313#(= (+ (* 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; {17317#(= (+ (* (* 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:23:18,221 INFO L290 TraceCheckUtils]: 33: Hoare triple {17313#(= (+ (* 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); {17313#(= (+ (* 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:23:18,221 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17106#true} {17313#(= (+ (* 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; {17313#(= (+ (* 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:23:18,221 INFO L290 TraceCheckUtils]: 31: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 11:23:18,221 INFO L290 TraceCheckUtils]: 30: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 11:23:18,222 INFO L290 TraceCheckUtils]: 29: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 11:23:18,222 INFO L272 TraceCheckUtils]: 28: Hoare triple {17313#(= (+ (* 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)); {17106#true} is VALID [2022-04-28 11:23:18,222 INFO L290 TraceCheckUtils]: 27: Hoare triple {17313#(= (+ (* 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; {17313#(= (+ (* 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:23:18,224 INFO L290 TraceCheckUtils]: 26: Hoare triple {17317#(= (+ (* (* 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; {17313#(= (+ (* 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:23:18,224 INFO L290 TraceCheckUtils]: 25: Hoare triple {17313#(= (+ (* 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; {17317#(= (+ (* (* 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:23:18,225 INFO L290 TraceCheckUtils]: 24: Hoare triple {17313#(= (+ (* 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); {17313#(= (+ (* 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:23:18,225 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17106#true} {17313#(= (+ (* 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; {17313#(= (+ (* 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:23:18,225 INFO L290 TraceCheckUtils]: 22: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 11:23:18,225 INFO L290 TraceCheckUtils]: 21: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 11:23:18,225 INFO L290 TraceCheckUtils]: 20: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 11:23:18,225 INFO L272 TraceCheckUtils]: 19: Hoare triple {17313#(= (+ (* 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)); {17106#true} is VALID [2022-04-28 11:23:18,226 INFO L290 TraceCheckUtils]: 18: Hoare triple {17313#(= (+ (* 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; {17313#(= (+ (* 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:23:18,226 INFO L290 TraceCheckUtils]: 17: Hoare triple {17106#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {17313#(= (+ (* 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:23:18,226 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17106#true} {17106#true} #63#return; {17106#true} is VALID [2022-04-28 11:23:18,226 INFO L290 TraceCheckUtils]: 15: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 11:23:18,226 INFO L290 TraceCheckUtils]: 14: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 11:23:18,227 INFO L290 TraceCheckUtils]: 13: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 11:23:18,227 INFO L272 TraceCheckUtils]: 12: Hoare triple {17106#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {17106#true} is VALID [2022-04-28 11:23:18,227 INFO L290 TraceCheckUtils]: 11: Hoare triple {17106#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {17106#true} is VALID [2022-04-28 11:23:18,227 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17106#true} {17106#true} #61#return; {17106#true} is VALID [2022-04-28 11:23:18,227 INFO L290 TraceCheckUtils]: 9: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 11:23:18,227 INFO L290 TraceCheckUtils]: 8: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 11:23:18,227 INFO L290 TraceCheckUtils]: 7: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 11:23:18,227 INFO L272 TraceCheckUtils]: 6: Hoare triple {17106#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {17106#true} is VALID [2022-04-28 11:23:18,227 INFO L290 TraceCheckUtils]: 5: Hoare triple {17106#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; {17106#true} is VALID [2022-04-28 11:23:18,227 INFO L272 TraceCheckUtils]: 4: Hoare triple {17106#true} call #t~ret8 := main(); {17106#true} is VALID [2022-04-28 11:23:18,227 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17106#true} {17106#true} #69#return; {17106#true} is VALID [2022-04-28 11:23:18,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 11:23:18,227 INFO L290 TraceCheckUtils]: 1: Hoare triple {17106#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); {17106#true} is VALID [2022-04-28 11:23:18,227 INFO L272 TraceCheckUtils]: 0: Hoare triple {17106#true} call ULTIMATE.init(); {17106#true} is VALID [2022-04-28 11:23:18,228 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:23:18,228 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:23:18,228 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1887038296] [2022-04-28 11:23:18,228 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:23:18,228 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1524576013] [2022-04-28 11:23:18,235 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1524576013] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:23:18,235 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:23:18,235 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 7] total 20 [2022-04-28 11:23:18,235 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:23:18,235 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1874542197] [2022-04-28 11:23:18,235 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1874542197] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:23:18,236 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:23:18,236 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 11:23:18,236 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1549788841] [2022-04-28 11:23:18,236 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:23:18,236 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:23:18,236 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:23:18,236 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:23:18,281 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:23:18,282 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 11:23:18,282 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:23:18,282 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 11:23:18,282 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=323, Unknown=0, NotChecked=0, Total=380 [2022-04-28 11:23:18,282 INFO L87 Difference]: Start difference. First operand 117 states and 129 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:23:19,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:23:19,942 INFO L93 Difference]: Finished difference Result 130 states and 144 transitions. [2022-04-28 11:23:19,942 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 11:23:19,942 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:23:19,942 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:23:19,942 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:23:19,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 66 transitions. [2022-04-28 11:23:19,944 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:23:19,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 66 transitions. [2022-04-28 11:23:19,945 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 66 transitions. [2022-04-28 11:23:20,026 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:23:20,028 INFO L225 Difference]: With dead ends: 130 [2022-04-28 11:23:20,028 INFO L226 Difference]: Without dead ends: 128 [2022-04-28 11:23:20,029 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:23:20,029 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 20 mSDsluCounter, 179 mSDsCounter, 0 mSdLazyCounter, 574 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 206 SdHoareTripleChecker+Invalid, 585 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 574 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 11:23:20,029 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 206 Invalid, 585 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 574 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 11:23:20,030 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-28 11:23:20,472 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 119. [2022-04-28 11:23:20,472 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:23:20,473 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 119 states, 88 states have (on average 1.1022727272727273) internal successors, (97), 91 states have internal predecessors, (97), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:23:20,473 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 119 states, 88 states have (on average 1.1022727272727273) internal successors, (97), 91 states have internal predecessors, (97), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:23:20,473 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 119 states, 88 states have (on average 1.1022727272727273) internal successors, (97), 91 states have internal predecessors, (97), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:23:20,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:23:20,475 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-28 11:23:20,475 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-28 11:23:20,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:23:20,476 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:23:20,476 INFO L74 IsIncluded]: Start isIncluded. First operand has 119 states, 88 states have (on average 1.1022727272727273) internal successors, (97), 91 states have internal predecessors, (97), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) Second operand 128 states. [2022-04-28 11:23:20,476 INFO L87 Difference]: Start difference. First operand has 119 states, 88 states have (on average 1.1022727272727273) internal successors, (97), 91 states have internal predecessors, (97), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) Second operand 128 states. [2022-04-28 11:23:20,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:23:20,478 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-28 11:23:20,478 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-28 11:23:20,478 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:23:20,478 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:23:20,478 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:23:20,478 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:23:20,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 119 states, 88 states have (on average 1.1022727272727273) internal successors, (97), 91 states have internal predecessors, (97), 18 states have call successors, (18), 13 states have call predecessors, (18), 12 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:23:20,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 132 transitions. [2022-04-28 11:23:20,482 INFO L78 Accepts]: Start accepts. Automaton has 119 states and 132 transitions. Word has length 59 [2022-04-28 11:23:20,483 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:23:20,483 INFO L495 AbstractCegarLoop]: Abstraction has 119 states and 132 transitions. [2022-04-28 11:23:20,483 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:23:20,483 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 119 states and 132 transitions. [2022-04-28 11:23:20,938 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:23:20,938 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 132 transitions. [2022-04-28 11:23:20,938 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:23:20,939 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:23:20,939 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:23:20,943 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-28 11:23:21,139 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:23:21,139 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:23:21,140 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:23:21,140 INFO L85 PathProgramCache]: Analyzing trace with hash -689308389, now seen corresponding path program 15 times [2022-04-28 11:23:21,140 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:23:21,140 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1443814280] [2022-04-28 11:23:21,140 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:23:21,140 INFO L85 PathProgramCache]: Analyzing trace with hash -689308389, now seen corresponding path program 16 times [2022-04-28 11:23:21,140 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:23:21,140 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1856046892] [2022-04-28 11:23:21,140 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:23:21,141 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:23:21,150 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:23:21,150 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [543306312] [2022-04-28 11:23:21,151 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:23:21,151 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:23:21,151 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:23:21,152 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:23:21,153 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:23:21,192 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:23:21,192 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:23:21,193 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-28 11:23:21,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:23:21,212 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:23:44,522 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:23:50,713 INFO L272 TraceCheckUtils]: 0: Hoare triple {18239#true} call ULTIMATE.init(); {18239#true} is VALID [2022-04-28 11:23:50,713 INFO L290 TraceCheckUtils]: 1: Hoare triple {18239#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); {18239#true} is VALID [2022-04-28 11:23:50,713 INFO L290 TraceCheckUtils]: 2: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 11:23:50,713 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18239#true} {18239#true} #69#return; {18239#true} is VALID [2022-04-28 11:23:50,713 INFO L272 TraceCheckUtils]: 4: Hoare triple {18239#true} call #t~ret8 := main(); {18239#true} is VALID [2022-04-28 11:23:50,713 INFO L290 TraceCheckUtils]: 5: Hoare triple {18239#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; {18239#true} is VALID [2022-04-28 11:23:50,713 INFO L272 TraceCheckUtils]: 6: Hoare triple {18239#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {18239#true} is VALID [2022-04-28 11:23:50,713 INFO L290 TraceCheckUtils]: 7: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 11:23:50,714 INFO L290 TraceCheckUtils]: 8: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 11:23:50,714 INFO L290 TraceCheckUtils]: 9: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 11:23:50,714 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18239#true} {18239#true} #61#return; {18239#true} is VALID [2022-04-28 11:23:50,714 INFO L290 TraceCheckUtils]: 11: Hoare triple {18239#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {18239#true} is VALID [2022-04-28 11:23:50,714 INFO L272 TraceCheckUtils]: 12: Hoare triple {18239#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {18239#true} is VALID [2022-04-28 11:23:50,714 INFO L290 TraceCheckUtils]: 13: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 11:23:50,714 INFO L290 TraceCheckUtils]: 14: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 11:23:50,714 INFO L290 TraceCheckUtils]: 15: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 11:23:50,714 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18239#true} {18239#true} #63#return; {18239#true} is VALID [2022-04-28 11:23:50,714 INFO L290 TraceCheckUtils]: 17: Hoare triple {18239#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {18295#(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:23:50,715 INFO L290 TraceCheckUtils]: 18: Hoare triple {18295#(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; {18295#(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:23:50,715 INFO L272 TraceCheckUtils]: 19: Hoare triple {18295#(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)); {18239#true} is VALID [2022-04-28 11:23:50,715 INFO L290 TraceCheckUtils]: 20: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 11:23:50,715 INFO L290 TraceCheckUtils]: 21: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 11:23:50,715 INFO L290 TraceCheckUtils]: 22: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 11:23:50,716 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18239#true} {18295#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {18295#(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:23:50,716 INFO L290 TraceCheckUtils]: 24: Hoare triple {18295#(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); {18295#(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:23:50,717 INFO L290 TraceCheckUtils]: 25: Hoare triple {18295#(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; {18320#(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:23:50,717 INFO L290 TraceCheckUtils]: 26: Hoare triple {18320#(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; {18324#(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:23:50,718 INFO L290 TraceCheckUtils]: 27: Hoare triple {18324#(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; {18328#(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:23:50,718 INFO L272 TraceCheckUtils]: 28: Hoare triple {18328#(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)); {18239#true} is VALID [2022-04-28 11:23:50,718 INFO L290 TraceCheckUtils]: 29: Hoare triple {18239#true} ~cond := #in~cond; {18335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:23:50,718 INFO L290 TraceCheckUtils]: 30: Hoare triple {18335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:23:50,719 INFO L290 TraceCheckUtils]: 31: Hoare triple {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:23:50,719 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} {18328#(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; {18324#(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:23:50,720 INFO L290 TraceCheckUtils]: 33: Hoare triple {18324#(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); {18324#(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:23:50,721 INFO L290 TraceCheckUtils]: 34: Hoare triple {18324#(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; {18352#(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:23:50,721 INFO L290 TraceCheckUtils]: 35: Hoare triple {18352#(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; {18356#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 2))} is VALID [2022-04-28 11:23:50,721 INFO L290 TraceCheckUtils]: 36: Hoare triple {18356#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18356#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 2))} is VALID [2022-04-28 11:23:50,722 INFO L272 TraceCheckUtils]: 37: Hoare triple {18356#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= 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)); {18239#true} is VALID [2022-04-28 11:23:50,722 INFO L290 TraceCheckUtils]: 38: Hoare triple {18239#true} ~cond := #in~cond; {18335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:23:50,722 INFO L290 TraceCheckUtils]: 39: Hoare triple {18335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:23:50,722 INFO L290 TraceCheckUtils]: 40: Hoare triple {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:23:50,723 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} {18356#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 2))} #65#return; {18356#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 2))} is VALID [2022-04-28 11:23:50,723 INFO L290 TraceCheckUtils]: 42: Hoare triple {18356#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {18378#(and (<= 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))) (= main_~x~0 2))} is VALID [2022-04-28 11:23:50,724 INFO L290 TraceCheckUtils]: 43: Hoare triple {18378#(and (<= 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))) (= main_~x~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18382#(and (<= 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) (= main_~x~0 2))} is VALID [2022-04-28 11:23:50,724 INFO L290 TraceCheckUtils]: 44: Hoare triple {18382#(and (<= 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) (= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18386#(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:23:50,725 INFO L290 TraceCheckUtils]: 45: Hoare triple {18386#(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; {18390#(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:23:50,725 INFO L272 TraceCheckUtils]: 46: Hoare triple {18390#(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)); {18239#true} is VALID [2022-04-28 11:23:50,725 INFO L290 TraceCheckUtils]: 47: Hoare triple {18239#true} ~cond := #in~cond; {18335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:23:50,726 INFO L290 TraceCheckUtils]: 48: Hoare triple {18335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:23:50,726 INFO L290 TraceCheckUtils]: 49: Hoare triple {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:23:50,727 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} {18390#(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; {18406#(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:23:50,728 INFO L290 TraceCheckUtils]: 51: Hoare triple {18406#(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); {18406#(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:23:50,729 INFO L290 TraceCheckUtils]: 52: Hoare triple {18406#(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; {18413#(and (= (+ 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))) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-28 11:23:50,732 INFO L290 TraceCheckUtils]: 53: Hoare triple {18413#(and (= (+ 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))) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18417#(and (= (+ 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))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))))} is VALID [2022-04-28 11:23:50,735 INFO L290 TraceCheckUtils]: 54: Hoare triple {18417#(and (= (+ 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))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18421#(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:23:50,738 INFO L272 TraceCheckUtils]: 55: Hoare triple {18421#(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)); {18425#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:23:50,738 INFO L290 TraceCheckUtils]: 56: Hoare triple {18425#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18429#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:23:50,738 INFO L290 TraceCheckUtils]: 57: Hoare triple {18429#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18240#false} is VALID [2022-04-28 11:23:50,739 INFO L290 TraceCheckUtils]: 58: Hoare triple {18240#false} assume !false; {18240#false} is VALID [2022-04-28 11:23:50,739 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:23:50,739 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:23:54,142 INFO L290 TraceCheckUtils]: 58: Hoare triple {18240#false} assume !false; {18240#false} is VALID [2022-04-28 11:23:54,142 INFO L290 TraceCheckUtils]: 57: Hoare triple {18429#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18240#false} is VALID [2022-04-28 11:23:54,142 INFO L290 TraceCheckUtils]: 56: Hoare triple {18425#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18429#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:23:54,143 INFO L272 TraceCheckUtils]: 55: Hoare triple {18445#(= (+ (* 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)); {18425#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:23:54,144 INFO L290 TraceCheckUtils]: 54: Hoare triple {18449#(= (+ (* 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; {18445#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:23:54,147 INFO L290 TraceCheckUtils]: 53: Hoare triple {18453#(= (+ (* (* 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; {18449#(= (+ (* 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:23:54,149 INFO L290 TraceCheckUtils]: 52: Hoare triple {18457#(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; {18453#(= (+ (* (* 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:23:54,149 INFO L290 TraceCheckUtils]: 51: Hoare triple {18457#(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); {18457#(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:23:54,150 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} {18464#(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; {18457#(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:23:54,150 INFO L290 TraceCheckUtils]: 49: Hoare triple {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:23:54,151 INFO L290 TraceCheckUtils]: 48: Hoare triple {18474#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:23:54,151 INFO L290 TraceCheckUtils]: 47: Hoare triple {18239#true} ~cond := #in~cond; {18474#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:23:54,151 INFO L272 TraceCheckUtils]: 46: Hoare triple {18464#(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)); {18239#true} is VALID [2022-04-28 11:23:54,152 INFO L290 TraceCheckUtils]: 45: Hoare triple {18239#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18464#(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:23:54,152 INFO L290 TraceCheckUtils]: 44: Hoare triple {18239#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18239#true} is VALID [2022-04-28 11:23:54,152 INFO L290 TraceCheckUtils]: 43: Hoare triple {18239#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18239#true} is VALID [2022-04-28 11:23:54,152 INFO L290 TraceCheckUtils]: 42: Hoare triple {18239#true} assume !!(~x~0 <= ~X~0); {18239#true} is VALID [2022-04-28 11:23:54,152 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18239#true} {18239#true} #65#return; {18239#true} is VALID [2022-04-28 11:23:54,152 INFO L290 TraceCheckUtils]: 40: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 11:23:54,152 INFO L290 TraceCheckUtils]: 39: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 11:23:54,153 INFO L290 TraceCheckUtils]: 38: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 11:23:54,153 INFO L272 TraceCheckUtils]: 37: Hoare triple {18239#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18239#true} is VALID [2022-04-28 11:23:54,153 INFO L290 TraceCheckUtils]: 36: Hoare triple {18239#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18239#true} is VALID [2022-04-28 11:23:54,153 INFO L290 TraceCheckUtils]: 35: Hoare triple {18239#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18239#true} is VALID [2022-04-28 11:23:54,153 INFO L290 TraceCheckUtils]: 34: Hoare triple {18239#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18239#true} is VALID [2022-04-28 11:23:54,153 INFO L290 TraceCheckUtils]: 33: Hoare triple {18239#true} assume !!(~x~0 <= ~X~0); {18239#true} is VALID [2022-04-28 11:23:54,153 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {18239#true} {18239#true} #65#return; {18239#true} is VALID [2022-04-28 11:23:54,153 INFO L290 TraceCheckUtils]: 31: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 11:23:54,153 INFO L290 TraceCheckUtils]: 30: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 11:23:54,153 INFO L290 TraceCheckUtils]: 29: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 11:23:54,153 INFO L272 TraceCheckUtils]: 28: Hoare triple {18239#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18239#true} is VALID [2022-04-28 11:23:54,153 INFO L290 TraceCheckUtils]: 27: Hoare triple {18239#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18239#true} is VALID [2022-04-28 11:23:54,153 INFO L290 TraceCheckUtils]: 26: Hoare triple {18239#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18239#true} is VALID [2022-04-28 11:23:54,153 INFO L290 TraceCheckUtils]: 25: Hoare triple {18239#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18239#true} is VALID [2022-04-28 11:23:54,154 INFO L290 TraceCheckUtils]: 24: Hoare triple {18239#true} assume !!(~x~0 <= ~X~0); {18239#true} is VALID [2022-04-28 11:23:54,154 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18239#true} {18239#true} #65#return; {18239#true} is VALID [2022-04-28 11:23:54,154 INFO L290 TraceCheckUtils]: 22: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 11:23:54,154 INFO L290 TraceCheckUtils]: 21: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 11:23:54,154 INFO L290 TraceCheckUtils]: 20: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 11:23:54,154 INFO L272 TraceCheckUtils]: 19: Hoare triple {18239#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18239#true} is VALID [2022-04-28 11:23:54,154 INFO L290 TraceCheckUtils]: 18: Hoare triple {18239#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18239#true} is VALID [2022-04-28 11:23:54,155 INFO L290 TraceCheckUtils]: 17: Hoare triple {18239#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {18239#true} is VALID [2022-04-28 11:23:54,155 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18239#true} {18239#true} #63#return; {18239#true} is VALID [2022-04-28 11:23:54,155 INFO L290 TraceCheckUtils]: 15: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 11:23:54,156 INFO L290 TraceCheckUtils]: 14: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 11:23:54,156 INFO L290 TraceCheckUtils]: 13: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 11:23:54,156 INFO L272 TraceCheckUtils]: 12: Hoare triple {18239#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {18239#true} is VALID [2022-04-28 11:23:54,156 INFO L290 TraceCheckUtils]: 11: Hoare triple {18239#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {18239#true} is VALID [2022-04-28 11:23:54,156 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18239#true} {18239#true} #61#return; {18239#true} is VALID [2022-04-28 11:23:54,156 INFO L290 TraceCheckUtils]: 9: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 11:23:54,156 INFO L290 TraceCheckUtils]: 8: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 11:23:54,156 INFO L290 TraceCheckUtils]: 7: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 11:23:54,156 INFO L272 TraceCheckUtils]: 6: Hoare triple {18239#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {18239#true} is VALID [2022-04-28 11:23:54,156 INFO L290 TraceCheckUtils]: 5: Hoare triple {18239#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; {18239#true} is VALID [2022-04-28 11:23:54,157 INFO L272 TraceCheckUtils]: 4: Hoare triple {18239#true} call #t~ret8 := main(); {18239#true} is VALID [2022-04-28 11:23:54,157 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18239#true} {18239#true} #69#return; {18239#true} is VALID [2022-04-28 11:23:54,157 INFO L290 TraceCheckUtils]: 2: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 11:23:54,157 INFO L290 TraceCheckUtils]: 1: Hoare triple {18239#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); {18239#true} is VALID [2022-04-28 11:23:54,157 INFO L272 TraceCheckUtils]: 0: Hoare triple {18239#true} call ULTIMATE.init(); {18239#true} is VALID [2022-04-28 11:23:54,157 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:23:54,157 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:23:54,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1856046892] [2022-04-28 11:23:54,158 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:23:54,158 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [543306312] [2022-04-28 11:23:54,158 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [543306312] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:23:54,158 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:23:54,158 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 11] total 26 [2022-04-28 11:23:54,158 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:23:54,158 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1443814280] [2022-04-28 11:23:54,158 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1443814280] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:23:54,158 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:23:54,159 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-28 11:23:54,159 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2067666509] [2022-04-28 11:23:54,159 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:23:54,159 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:23:54,159 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:23:54,159 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:23:54,212 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:23:54,212 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-28 11:23:54,212 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:23:54,213 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-28 11:23:54,213 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=562, Unknown=0, NotChecked=0, Total=650 [2022-04-28 11:23:54,213 INFO L87 Difference]: Start difference. First operand 119 states and 132 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:23:57,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:23:57,132 INFO L93 Difference]: Finished difference Result 134 states and 146 transitions. [2022-04-28 11:23:57,132 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 11:23:57,133 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:23:57,133 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:23:57,133 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:23:57,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-28 11:23:57,134 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:23:57,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-28 11:23:57,135 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 65 transitions. [2022-04-28 11:23:57,216 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:23:57,222 INFO L225 Difference]: With dead ends: 134 [2022-04-28 11:23:57,223 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 11:23:57,223 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 90 SyntacticMatches, 3 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=118, Invalid=752, Unknown=0, NotChecked=0, Total=870 [2022-04-28 11:23:57,223 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 17 mSDsluCounter, 247 mSDsCounter, 0 mSdLazyCounter, 698 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 271 SdHoareTripleChecker+Invalid, 705 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 698 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:23:57,223 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 271 Invalid, 705 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 698 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 11:23:57,224 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 11:23:57,646 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 130. [2022-04-28 11:23:57,647 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:23:57,647 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 130 states, 96 states have (on average 1.09375) internal successors, (105), 100 states have internal predecessors, (105), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:23:57,647 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 130 states, 96 states have (on average 1.09375) internal successors, (105), 100 states have internal predecessors, (105), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:23:57,647 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 130 states, 96 states have (on average 1.09375) internal successors, (105), 100 states have internal predecessors, (105), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:23:57,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:23:57,650 INFO L93 Difference]: Finished difference Result 132 states and 144 transitions. [2022-04-28 11:23:57,650 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 144 transitions. [2022-04-28 11:23:57,650 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:23:57,650 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:23:57,651 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 96 states have (on average 1.09375) internal successors, (105), 100 states have internal predecessors, (105), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) Second operand 132 states. [2022-04-28 11:23:57,651 INFO L87 Difference]: Start difference. First operand has 130 states, 96 states have (on average 1.09375) internal successors, (105), 100 states have internal predecessors, (105), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) Second operand 132 states. [2022-04-28 11:23:57,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:23:57,653 INFO L93 Difference]: Finished difference Result 132 states and 144 transitions. [2022-04-28 11:23:57,653 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 144 transitions. [2022-04-28 11:23:57,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:23:57,654 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:23:57,654 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:23:57,654 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:23:57,654 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 96 states have (on average 1.09375) internal successors, (105), 100 states have internal predecessors, (105), 19 states have call successors, (19), 15 states have call predecessors, (19), 14 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 11:23:57,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 142 transitions. [2022-04-28 11:23:57,656 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 142 transitions. Word has length 59 [2022-04-28 11:23:57,656 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:23:57,656 INFO L495 AbstractCegarLoop]: Abstraction has 130 states and 142 transitions. [2022-04-28 11:23:57,657 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:23:57,657 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 130 states and 142 transitions. [2022-04-28 11:23:58,240 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:23:58,241 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 142 transitions. [2022-04-28 11:23:58,241 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:23:58,241 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:23:58,241 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:23:58,265 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:23:58,455 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:23:58,455 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:23:58,455 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:23:58,456 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 17 times [2022-04-28 11:23:58,456 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:23:58,456 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [601033590] [2022-04-28 11:23:58,456 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:23:58,456 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 18 times [2022-04-28 11:23:58,456 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:23:58,456 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [826456815] [2022-04-28 11:23:58,456 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:23:58,456 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:23:58,466 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:23:58,466 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1359604933] [2022-04-28 11:23:58,466 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:23:58,466 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:23:58,466 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:23:58,467 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:23:58,469 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:23:58,516 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 11:23:58,516 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:23:58,517 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 11:23:58,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:23:58,531 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:24:05,471 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 11:24:09,827 INFO L272 TraceCheckUtils]: 0: Hoare triple {19418#true} call ULTIMATE.init(); {19418#true} is VALID [2022-04-28 11:24:09,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {19418#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); {19418#true} is VALID [2022-04-28 11:24:09,828 INFO L290 TraceCheckUtils]: 2: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 11:24:09,828 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19418#true} {19418#true} #69#return; {19418#true} is VALID [2022-04-28 11:24:09,828 INFO L272 TraceCheckUtils]: 4: Hoare triple {19418#true} call #t~ret8 := main(); {19418#true} is VALID [2022-04-28 11:24:09,828 INFO L290 TraceCheckUtils]: 5: Hoare triple {19418#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; {19418#true} is VALID [2022-04-28 11:24:09,828 INFO L272 TraceCheckUtils]: 6: Hoare triple {19418#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {19418#true} is VALID [2022-04-28 11:24:09,828 INFO L290 TraceCheckUtils]: 7: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 11:24:09,828 INFO L290 TraceCheckUtils]: 8: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 11:24:09,828 INFO L290 TraceCheckUtils]: 9: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 11:24:09,828 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19418#true} {19418#true} #61#return; {19418#true} is VALID [2022-04-28 11:24:09,828 INFO L290 TraceCheckUtils]: 11: Hoare triple {19418#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {19418#true} is VALID [2022-04-28 11:24:09,829 INFO L272 TraceCheckUtils]: 12: Hoare triple {19418#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {19418#true} is VALID [2022-04-28 11:24:09,829 INFO L290 TraceCheckUtils]: 13: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 11:24:09,829 INFO L290 TraceCheckUtils]: 14: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 11:24:09,829 INFO L290 TraceCheckUtils]: 15: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 11:24:09,829 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {19418#true} {19418#true} #63#return; {19418#true} is VALID [2022-04-28 11:24:09,830 INFO L290 TraceCheckUtils]: 17: Hoare triple {19418#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {19474#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:24:09,830 INFO L290 TraceCheckUtils]: 18: Hoare triple {19474#(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; {19474#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:24:09,830 INFO L272 TraceCheckUtils]: 19: Hoare triple {19474#(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)); {19418#true} is VALID [2022-04-28 11:24:09,830 INFO L290 TraceCheckUtils]: 20: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 11:24:09,830 INFO L290 TraceCheckUtils]: 21: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 11:24:09,830 INFO L290 TraceCheckUtils]: 22: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 11:24:09,831 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19418#true} {19474#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {19474#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:24:09,831 INFO L290 TraceCheckUtils]: 24: Hoare triple {19474#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {19474#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-28 11:24:09,832 INFO L290 TraceCheckUtils]: 25: Hoare triple {19474#(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; {19499#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:24:09,833 INFO L290 TraceCheckUtils]: 26: Hoare triple {19499#(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; {19499#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:24:09,833 INFO L290 TraceCheckUtils]: 27: Hoare triple {19499#(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; {19499#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:24:09,833 INFO L272 TraceCheckUtils]: 28: Hoare triple {19499#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= 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)); {19418#true} is VALID [2022-04-28 11:24:09,833 INFO L290 TraceCheckUtils]: 29: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 11:24:09,833 INFO L290 TraceCheckUtils]: 30: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 11:24:09,833 INFO L290 TraceCheckUtils]: 31: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 11:24:09,834 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19418#true} {19499#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #65#return; {19499#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:24:09,834 INFO L290 TraceCheckUtils]: 33: Hoare triple {19499#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {19499#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 11:24:09,835 INFO L290 TraceCheckUtils]: 34: Hoare triple {19499#(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; {19527#(and (= 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:24:09,835 INFO L290 TraceCheckUtils]: 35: Hoare triple {19527#(and (= 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; {19527#(and (= 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:24:09,836 INFO L290 TraceCheckUtils]: 36: Hoare triple {19527#(and (= 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; {19534#(and (= (* main_~X~0 main_~y~0) main_~xy~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:24:09,836 INFO L272 TraceCheckUtils]: 37: Hoare triple {19534#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= 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)); {19418#true} is VALID [2022-04-28 11:24:09,836 INFO L290 TraceCheckUtils]: 38: Hoare triple {19418#true} ~cond := #in~cond; {19541#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:24:09,836 INFO L290 TraceCheckUtils]: 39: Hoare triple {19541#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19545#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:24:09,837 INFO L290 TraceCheckUtils]: 40: Hoare triple {19545#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19545#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:24:09,837 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19545#(not (= |__VERIFIER_assert_#in~cond| 0))} {19534#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #65#return; {19527#(and (= 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:24:09,838 INFO L290 TraceCheckUtils]: 42: Hoare triple {19527#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {19527#(and (= 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:24:09,839 INFO L290 TraceCheckUtils]: 43: Hoare triple {19527#(and (= 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 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {19558#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:24:09,839 INFO L290 TraceCheckUtils]: 44: Hoare triple {19558#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19558#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-28 11:24:09,839 INFO L290 TraceCheckUtils]: 45: Hoare triple {19558#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19565#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* 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:24:09,839 INFO L272 TraceCheckUtils]: 46: Hoare triple {19565#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* 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)); {19418#true} is VALID [2022-04-28 11:24:09,840 INFO L290 TraceCheckUtils]: 47: Hoare triple {19418#true} ~cond := #in~cond; {19541#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:24:09,840 INFO L290 TraceCheckUtils]: 48: Hoare triple {19541#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19545#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:24:09,840 INFO L290 TraceCheckUtils]: 49: Hoare triple {19545#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19545#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:24:09,841 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19545#(not (= |__VERIFIER_assert_#in~cond| 0))} {19565#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {19581#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 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)))} is VALID [2022-04-28 11:24:09,842 INFO L290 TraceCheckUtils]: 51: Hoare triple {19581#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 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)))} assume !!(~x~0 <= ~X~0); {19581#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 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)))} is VALID [2022-04-28 11:24:09,843 INFO L290 TraceCheckUtils]: 52: Hoare triple {19581#(and (= main_~y~0 1) (= (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2)) (+ (* (- 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)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19588#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 8) (* (- 2) main_~X~0))) (= main_~y~0 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 10)) main_~v~0))} is VALID [2022-04-28 11:24:09,845 INFO L290 TraceCheckUtils]: 53: Hoare triple {19588#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 8) (* (- 2) main_~X~0))) (= main_~y~0 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 10)) main_~v~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19592#(and (= main_~y~0 1) (= (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 8) (* (- 2) main_~X~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 10)) main_~v~0))} is VALID [2022-04-28 11:24:09,848 INFO L290 TraceCheckUtils]: 54: Hoare triple {19592#(and (= main_~y~0 1) (= (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 8) (* (- 2) main_~X~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 10)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19596#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (= (* (div (* main_~Y~0 4) main_~Y~0) main_~Y~0) main_~yx~0) (= main_~X~0 main_~xy~0))} is VALID [2022-04-28 11:24:09,851 INFO L272 TraceCheckUtils]: 55: Hoare triple {19596#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (= (* (div (* main_~Y~0 4) main_~Y~0) main_~Y~0) 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)); {19600#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:24:09,851 INFO L290 TraceCheckUtils]: 56: Hoare triple {19600#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19604#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:24:09,851 INFO L290 TraceCheckUtils]: 57: Hoare triple {19604#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19419#false} is VALID [2022-04-28 11:24:09,851 INFO L290 TraceCheckUtils]: 58: Hoare triple {19419#false} assume !false; {19419#false} is VALID [2022-04-28 11:24:09,852 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:24:09,852 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:24:12,444 INFO L290 TraceCheckUtils]: 58: Hoare triple {19419#false} assume !false; {19419#false} is VALID [2022-04-28 11:24:12,444 INFO L290 TraceCheckUtils]: 57: Hoare triple {19604#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19419#false} is VALID [2022-04-28 11:24:12,444 INFO L290 TraceCheckUtils]: 56: Hoare triple {19600#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19604#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:24:12,445 INFO L272 TraceCheckUtils]: 55: Hoare triple {19620#(= (+ (* 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)); {19600#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:24:12,446 INFO L290 TraceCheckUtils]: 54: Hoare triple {19624#(= (+ (* 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; {19620#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 11:24:12,449 INFO L290 TraceCheckUtils]: 53: Hoare triple {19628#(= (+ (* (* 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; {19624#(= (+ (* 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:24:12,450 INFO L290 TraceCheckUtils]: 52: Hoare triple {19624#(= (+ (* 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; {19628#(= (+ (* (* 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:24:12,450 INFO L290 TraceCheckUtils]: 51: Hoare triple {19624#(= (+ (* 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); {19624#(= (+ (* 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:24:12,451 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19545#(not (= |__VERIFIER_assert_#in~cond| 0))} {19638#(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; {19624#(= (+ (* 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:24:12,451 INFO L290 TraceCheckUtils]: 49: Hoare triple {19545#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19545#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:24:12,452 INFO L290 TraceCheckUtils]: 48: Hoare triple {19648#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {19545#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:24:12,452 INFO L290 TraceCheckUtils]: 47: Hoare triple {19418#true} ~cond := #in~cond; {19648#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:24:12,452 INFO L272 TraceCheckUtils]: 46: Hoare triple {19638#(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)); {19418#true} is VALID [2022-04-28 11:24:12,453 INFO L290 TraceCheckUtils]: 45: Hoare triple {19418#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19638#(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:24:12,453 INFO L290 TraceCheckUtils]: 44: Hoare triple {19418#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19418#true} is VALID [2022-04-28 11:24:12,453 INFO L290 TraceCheckUtils]: 43: Hoare triple {19418#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; {19418#true} is VALID [2022-04-28 11:24:12,453 INFO L290 TraceCheckUtils]: 42: Hoare triple {19418#true} assume !!(~x~0 <= ~X~0); {19418#true} is VALID [2022-04-28 11:24:12,453 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19418#true} {19418#true} #65#return; {19418#true} is VALID [2022-04-28 11:24:12,453 INFO L290 TraceCheckUtils]: 40: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 11:24:12,453 INFO L290 TraceCheckUtils]: 39: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 11:24:12,454 INFO L290 TraceCheckUtils]: 38: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 11:24:12,454 INFO L272 TraceCheckUtils]: 37: Hoare triple {19418#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19418#true} is VALID [2022-04-28 11:24:12,454 INFO L290 TraceCheckUtils]: 36: Hoare triple {19418#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19418#true} is VALID [2022-04-28 11:24:12,454 INFO L290 TraceCheckUtils]: 35: Hoare triple {19418#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19418#true} is VALID [2022-04-28 11:24:12,454 INFO L290 TraceCheckUtils]: 34: Hoare triple {19418#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19418#true} is VALID [2022-04-28 11:24:12,454 INFO L290 TraceCheckUtils]: 33: Hoare triple {19418#true} assume !!(~x~0 <= ~X~0); {19418#true} is VALID [2022-04-28 11:24:12,454 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19418#true} {19418#true} #65#return; {19418#true} is VALID [2022-04-28 11:24:12,454 INFO L290 TraceCheckUtils]: 31: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 11:24:12,454 INFO L290 TraceCheckUtils]: 30: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 11:24:12,454 INFO L290 TraceCheckUtils]: 29: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 11:24:12,454 INFO L272 TraceCheckUtils]: 28: Hoare triple {19418#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19418#true} is VALID [2022-04-28 11:24:12,454 INFO L290 TraceCheckUtils]: 27: Hoare triple {19418#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19418#true} is VALID [2022-04-28 11:24:12,454 INFO L290 TraceCheckUtils]: 26: Hoare triple {19418#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19418#true} is VALID [2022-04-28 11:24:12,454 INFO L290 TraceCheckUtils]: 25: Hoare triple {19418#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19418#true} is VALID [2022-04-28 11:24:12,455 INFO L290 TraceCheckUtils]: 24: Hoare triple {19418#true} assume !!(~x~0 <= ~X~0); {19418#true} is VALID [2022-04-28 11:24:12,455 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19418#true} {19418#true} #65#return; {19418#true} is VALID [2022-04-28 11:24:12,455 INFO L290 TraceCheckUtils]: 22: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 11:24:12,455 INFO L290 TraceCheckUtils]: 21: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 11:24:12,455 INFO L290 TraceCheckUtils]: 20: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 11:24:12,455 INFO L272 TraceCheckUtils]: 19: Hoare triple {19418#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19418#true} is VALID [2022-04-28 11:24:12,455 INFO L290 TraceCheckUtils]: 18: Hoare triple {19418#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19418#true} is VALID [2022-04-28 11:24:12,455 INFO L290 TraceCheckUtils]: 17: Hoare triple {19418#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {19418#true} is VALID [2022-04-28 11:24:12,455 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {19418#true} {19418#true} #63#return; {19418#true} is VALID [2022-04-28 11:24:12,455 INFO L290 TraceCheckUtils]: 15: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 11:24:12,455 INFO L290 TraceCheckUtils]: 14: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 11:24:12,455 INFO L290 TraceCheckUtils]: 13: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 11:24:12,455 INFO L272 TraceCheckUtils]: 12: Hoare triple {19418#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {19418#true} is VALID [2022-04-28 11:24:12,455 INFO L290 TraceCheckUtils]: 11: Hoare triple {19418#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {19418#true} is VALID [2022-04-28 11:24:12,455 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19418#true} {19418#true} #61#return; {19418#true} is VALID [2022-04-28 11:24:12,456 INFO L290 TraceCheckUtils]: 9: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 11:24:12,456 INFO L290 TraceCheckUtils]: 8: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 11:24:12,456 INFO L290 TraceCheckUtils]: 7: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 11:24:12,456 INFO L272 TraceCheckUtils]: 6: Hoare triple {19418#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {19418#true} is VALID [2022-04-28 11:24:12,456 INFO L290 TraceCheckUtils]: 5: Hoare triple {19418#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; {19418#true} is VALID [2022-04-28 11:24:12,456 INFO L272 TraceCheckUtils]: 4: Hoare triple {19418#true} call #t~ret8 := main(); {19418#true} is VALID [2022-04-28 11:24:12,456 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19418#true} {19418#true} #69#return; {19418#true} is VALID [2022-04-28 11:24:12,456 INFO L290 TraceCheckUtils]: 2: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 11:24:12,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {19418#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); {19418#true} is VALID [2022-04-28 11:24:12,456 INFO L272 TraceCheckUtils]: 0: Hoare triple {19418#true} call ULTIMATE.init(); {19418#true} is VALID [2022-04-28 11:24:12,456 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:24:12,456 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:24:12,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [826456815] [2022-04-28 11:24:12,457 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:24:12,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1359604933] [2022-04-28 11:24:12,457 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1359604933] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:24:12,457 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:24:12,457 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 10] total 21 [2022-04-28 11:24:12,457 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:24:12,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [601033590] [2022-04-28 11:24:12,457 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [601033590] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:24:12,457 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:24:12,457 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 11:24:12,457 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [174504367] [2022-04-28 11:24:12,457 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:24:12,458 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.6153846153846154) 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), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:24:12,458 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:24:12,458 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 13 states have (on average 2.6153846153846154) 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), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:24:12,508 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:24:12,509 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 11:24:12,509 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:24:12,509 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 11:24:12,509 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=366, Unknown=0, NotChecked=0, Total=420 [2022-04-28 11:24:12,509 INFO L87 Difference]: Start difference. First operand 130 states and 142 transitions. Second operand has 16 states, 13 states have (on average 2.6153846153846154) 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), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:24:14,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:24:14,890 INFO L93 Difference]: Finished difference Result 143 states and 156 transitions. [2022-04-28 11:24:14,890 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 11:24:14,891 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.6153846153846154) 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), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-28 11:24:14,891 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:24:14,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.6153846153846154) 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), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:24:14,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 65 transitions. [2022-04-28 11:24:14,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.6153846153846154) 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), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:24:14,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 65 transitions. [2022-04-28 11:24:14,893 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 65 transitions. [2022-04-28 11:24:14,985 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:24:14,987 INFO L225 Difference]: With dead ends: 143 [2022-04-28 11:24:14,987 INFO L226 Difference]: Without dead ends: 141 [2022-04-28 11:24:14,988 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 95 SyntacticMatches, 3 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=82, Invalid=518, Unknown=0, NotChecked=0, Total=600 [2022-04-28 11:24:14,988 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 17 mSDsluCounter, 214 mSDsCounter, 0 mSdLazyCounter, 508 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 241 SdHoareTripleChecker+Invalid, 511 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 508 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 11:24:14,988 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 241 Invalid, 511 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 508 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 11:24:14,989 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states. [2022-04-28 11:24:15,376 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 127. [2022-04-28 11:24:15,376 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:24:15,376 INFO L82 GeneralOperation]: Start isEquivalent. First operand 141 states. Second operand has 127 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 97 states have internal predecessors, (103), 18 states have call successors, (18), 15 states have call predecessors, (18), 14 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:24:15,376 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand has 127 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 97 states have internal predecessors, (103), 18 states have call successors, (18), 15 states have call predecessors, (18), 14 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:24:15,376 INFO L87 Difference]: Start difference. First operand 141 states. Second operand has 127 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 97 states have internal predecessors, (103), 18 states have call successors, (18), 15 states have call predecessors, (18), 14 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:24:15,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:24:15,378 INFO L93 Difference]: Finished difference Result 141 states and 154 transitions. [2022-04-28 11:24:15,379 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 154 transitions. [2022-04-28 11:24:15,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:24:15,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:24:15,379 INFO L74 IsIncluded]: Start isIncluded. First operand has 127 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 97 states have internal predecessors, (103), 18 states have call successors, (18), 15 states have call predecessors, (18), 14 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) Second operand 141 states. [2022-04-28 11:24:15,380 INFO L87 Difference]: Start difference. First operand has 127 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 97 states have internal predecessors, (103), 18 states have call successors, (18), 15 states have call predecessors, (18), 14 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) Second operand 141 states. [2022-04-28 11:24:15,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:24:15,382 INFO L93 Difference]: Finished difference Result 141 states and 154 transitions. [2022-04-28 11:24:15,382 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 154 transitions. [2022-04-28 11:24:15,382 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:24:15,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:24:15,382 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:24:15,382 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:24:15,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 127 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 97 states have internal predecessors, (103), 18 states have call successors, (18), 15 states have call predecessors, (18), 14 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 11:24:15,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 138 transitions. [2022-04-28 11:24:15,384 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 138 transitions. Word has length 59 [2022-04-28 11:24:15,385 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:24:15,385 INFO L495 AbstractCegarLoop]: Abstraction has 127 states and 138 transitions. [2022-04-28 11:24:15,385 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 13 states have (on average 2.6153846153846154) 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), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 11:24:15,385 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 127 states and 138 transitions. [2022-04-28 11:24:15,924 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:24:15,924 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 138 transitions. [2022-04-28 11:24:15,924 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 11:24:15,924 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:24:15,924 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:24:15,941 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:24:16,127 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:24:16,127 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:24:16,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:24:16,128 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 19 times [2022-04-28 11:24:16,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:24:16,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1414270685] [2022-04-28 11:24:16,128 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:24:16,128 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 20 times [2022-04-28 11:24:16,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:24:16,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [374885423] [2022-04-28 11:24:16,129 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:24:16,129 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:24:16,137 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:24:16,137 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [498556162] [2022-04-28 11:24:16,137 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:24:16,137 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:24:16,138 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:24:16,138 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:24:16,139 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:24:16,187 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:24:16,187 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:24:16,188 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-28 11:24:16,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:24:16,201 INFO L286 TraceCheckSpWp]: Computing forward predicates...